Tien-Dung Cao
email: cao@labri.fr

Patrick Félix
email: felix@labri.fr

Richard Castanet
email: castanet@labri.fr

Ismail Berrada
email: ismail.berrada@univ-lr.fr

Testing Service Composition Using TGSE tool *

This paper proposes an approach to test (actively and passively) a Web service composition described in BPEL using the TGSE (Test Generation, Simulation and Emulation), that is a tool to generate the test cases based on the Communicating System (CS) and implementing of a generic algorithm of generation. For the first step, the BPEL specification is transformed into Timed Extended Finite State Machines (TEFSM) model which enable modeling of BPEL behaviour, timing constraints, its data variables and clocks. On the active testing approach, test case generation is based on simulation where the exploration is guided by test purpose that is a part of CS (i.e. it is also modeled by a TEFSM). Otherwise, the passive testing approach, the TGSE tool will verify a trace that is either correct or incorrect with specification. This tool also works with the timing constraints on clocks (local and global). It covers test cases not only with transitions but also with values of data variables. Our method is illustrated by an example.

Introduction

BPEL (Business Process Execution Language) [START_REF] Berrada | Web Services Business Process Execution Language (BPEL) Version 2.0[END_REF] is an emerging standard language to describe web service composition behaviour. A BPEL process implements one Web service by specifying its interactions with other Web services (called partner services). Various approaches for service composition testing were analyzed by [START_REF] Bucchiarone | Testing Service Composition[END_REF] including unit testing, integration testing, black box testing and white box testing of choreographies and orchestrations. On the active testing approach, several test case generations for BPEL Web services recently have been proposed [START_REF] Garcia-Fanjul | Generating Test Cases Specifications for BPEL Compositions of Web Services Using SPIN[END_REF][START_REF] Zheng | Automata Semantics and Analysis of BPEL[END_REF][START_REF] Zheng | A Model Checking based Test Case Generation Framework for Web Services[END_REF][START_REF] Fu | Analysis of Interacting BPEL Web Services[END_REF][START_REF] Cao | Generating Test Cases for BPEL Web Services Based on Extended Finite State Machine Model[END_REF], even though timed test cases [START_REF] Lallali | Transforming BPEL into Intermediate Format Language for Web Services Composition Testing[END_REF][START_REF] Lallali | Automatic Timed Test Case Generation for Web Services Composition[END_REF][START_REF] Cao | Generating Timed Test Case Suites for BPEL Web Services[END_REF]. These methods have been given pertinent test cases. On the contrary, passive testing, several techniques have been proposed [START_REF] Yan | Monitoring Web Service Networks in a Model-based Approach[END_REF][START_REF] Yan | Monitoring and Diagnosing Orchestrated Web Service Processes[END_REF]: these methods focus on monitoring techniques and diagnosis semantic fault of BPEL service. The time notion is not considered in these methods.

The TGSE tool (Test Generation, Simulation and Emulation) [START_REF] Berrada | TGSE : Un outil générique pour le test[END_REF][START_REF] Berrada | Modélisation, Analyse et Test des systems communicants contraintes temporelles : Vers une approche ouverte du test[END_REF] that is composed of a test case generator based on the Communicating Systems and implementing of a generic algorithm of generation. This tool is developed by LaBRI within the RNRT Avérroes project and the European project Marie Curie RTN TAROT (MCRTN 505121). This tool follows us to active testing (i.e. test generation from one or some of components that are described by TEFSM) and passive testing (i.e. verify a trace) and it also works with the timing constraints on clocks(local and global). It covers test cases not only with transitions but also with values of data variables. This is helpful for passive testing approach.

A. Bucchiarone et al. [START_REF] Bucchiarone | Testing Service Composition[END_REF] have defined two approaches for Web services composition testing:

• White box approach: in this approach, as BPEL is an executable language, the BPEL description of Web services composition is considered as the source code of the composition. It is executed by any BPEL engine (Active BPEL, Oracle...). Several structural criteria of coverage based on the code can be applied;

• Black box approach: in this approach, a composite Web service is actually coded in a different language from the specification. For instance, a BPEL specification coded as a Java program. An implementation of a composite Web service is tested without any information of its internal structure. The test suite generated from only specification.

In this paper, we focus on Black box testing of an implementation of the Web services composition that described in BPEL. For the first step, we present a timed modeling of BPEL based on Timed Extended Finite State Machine (TEFSM) to automatic testing. The TEFSM formalism allows to deal not only BPEL behaviour but also timing constraints, its data variables and clocks. In this model, we assign a time invariant for each timed activity of BPEL (for example: wait). We give also a description how to translate BPEL specification into TEFSMs in this paper. On the active testing approach: test case generation is based on simulation where the exploration is guided by test purposes that is a part of CS (i.e. it is also modeled by a TEFSM). The TEFSM of BPEL specification and test purpose will be modeled into a communicating system that is an input format of TGSE tool. Otherwise, the passive testing approach, the TGSE tool will verify a trace that is either correct or incorrect with specification. This trace is also modeled as a TEFSM and it is a component of CS.

The remainder of this paper is organized as follows. Section 2 reviews some previous work on Web services composition testing. The section 3, we give some of definition about: TEFSM that is used to model BPEL process, a partial of TEFSM and a Communicating System. The section 4 describes the relationship between BPEL conceps and TEFSM. How to test a service composition using the TGSE tool is introduced in the section 5. A case study is studied in the section 6. The section 7 concludes the paper.

Related Works

In the last years, several techniques and tools have been developed to test Web services. Various approaches for service composition testing were analyzed by [START_REF] Bucchiarone | Testing Service Composition[END_REF] including unit testing, integration testing, black box testing and white box testing of choreographies and orchestrations. Jose Garcia-Fanjul et al [START_REF] Garcia-Fanjul | Generating Test Cases Specifications for BPEL Compositions of Web Services Using SPIN[END_REF] use a formal verification tool, the SPIN model checker, to generate test suite specifications for compositions specified in BPEL. A transition coverage criterion is employed to define a systematic procedure to select the test cases. Yongyan Zheng and Paul Krause [START_REF] Zheng | Automata Semantics and Analysis of BPEL[END_REF] model each BPEL activity into an automaton (also referred as Web Service Automaton). After that, these models are transformed into Promela that is input format for model checker SPIN. In the paper [START_REF] Fu | Analysis of Interacting BPEL Web Services[END_REF], the SPIN model checker is used one more time to verify BPEL, but the authors do not transform directly BPEL into Promela as in [START_REF] Garcia-Fanjul | Generating Test Cases Specifications for BPEL Compositions of Web Services Using SPIN[END_REF]. BPEL will be translated to guard condition which it is transformed to Promela. In all of these methods, a test case is generated from counterexample that is an output of SPIN model checker. Transforming BPEL into Intermediate Format Language (IF) is presented in [START_REF] Lallali | Automatic Timed Test Case Generation for Web Services Composition[END_REF]. Thus, the timed test case is generated using TestGen-IF tool. In our previous work [START_REF] Cao | Generating Test Cases for BPEL Web Services Based on Extended Finite State Machine Model[END_REF][START_REF] Cao | Generating Timed Test Case Suites for BPEL Web Services[END_REF] some of test case generation methods were proposed for whitebox testing approach. Actually, it is not supported by any toolset. Some of work presented frameworks for white box testing without model checker. [START_REF] Mayer | Design and Implementation of a Framework for Testing BPEL Compositions[END_REF][START_REF] Li | BPEL4WS Unit Testing: Framework and Implementation[END_REF] presented a frame-work for white box testing of BPEL composition. The problem of [START_REF] Mayer | Design and Implementation of a Framework for Testing BPEL Compositions[END_REF][START_REF] Li | BPEL4WS Unit Testing: Framework and Implementation[END_REF] is that they do not consider the automatic test case generation [START_REF] Lallali | Automatic Timed Test Case Generation for Web Services Composition[END_REF].

On the passive testing approach, several methods have been proposed. [START_REF] Yan | Monitoring Web Service Networks in a Model-based Approach[END_REF][START_REF] Yan | Monitoring and Diagnosing Orchestrated Web Service Processes[END_REF] present an automatic method to model Web service behaviors and their interactions as a set of synchronized discrete-event systems. This modeling is the first step before tracing the evolution of the business process and diagnosing business process faults. This method is based on the fact that the existing Model Based Diagnosis (MBD) techniques in Artificial Intelligence provide ways to monitor and diagnose static and dynamic systems using partial observations. The timing constraints are not considered in these methods.

Preliminaries

We introduce in this section the formal definition of TEFSM that is used to model BPEL, the partial of TEFSM and the communicating system. Definition 1 (TEFSM): A machine TEFSM M with invariant is defined as a sextuple, M = (S, s 0 , V, E∪{ }, C, Inv, T) where:

• S = {s 0 , s 1 , ..., s n }: A finite set of states;

• s 0 ∈ S: initial state;

• V : A finite set of data variables where: v = (v 0 , v 1 , ..., v m );

• E : A finite set of the events including symbols below:

-?pl.op.msg: input event i.e the reception of the message (msg) for the operator (op) from the partner (pl); -!pl.op.msg: output event i.e the emission of the message (msg) for the operator (op) to the partner (pl);

• C : A finite set of clocks including a global clock where: c = (c 0 , c 1 , ..., c n );

• Inv : S → Φ(C) assigns a set of time invariants (logical formulas) to the states;

• T ⊆ S × E × P ( v) ∧ φ( c) × 2 C × µ × S is
S; f ∈ µ( v); {c} ∈ 2 C and g ∈ P ( v) ∧ φ( c).
If the machine at state s, an event e arrives and guard condition g satisfies. It changes to state s', the clock c will be reseted and the function f is enabled to update the variables.

Definition 2 (Partial of TEFSM): Let a TEFSM M, the partial of M is PM = (S, s in , S out , V, E, C, Inv, T) where: (S, s in , V, E, C, Inv, T) is a TEFSM and S out ⊂ S.

A partial of TEFSM [START_REF] Lallali | Timed modeling of web services composition for automatic testing[END_REF] is a TEFSM extended by input state (representing the entering state of the partial machine and which replaces the initial state s 0 ) and a set of output states, S out (representing the exit state of the partial machine).

Definition 3 (Communicating System): A Communicating System (CS) is a 5-tuple CS=(SP, SV, R, M i,1≤i≤n , TP) where:

• SP: A finite set of shared parameters;

• SV: A finite set of shared variables;

• R: A finite set of rules where: r is a vector n+1 elements;

• M i = (S i , s 0i , V i , E i , C i , Inv i , T i ): An automaton;
• TP: Test purpose;

A Communicating System declares a set of shared resources (parameters and variables), a set of automatons and a set of rules that declare the synchronous actions between automatons, and a test purpose that is modeled as an automaton.

Relationship between BPEL concepts and TEFSM

BPEL [START_REF] Berrada | Web Services Business Process Execution Language (BPEL) Version 2.0[END_REF] provides constructs to describe complex business processes that can interact synchronously or asynchronously with their partners. A BPEL process always starts with the process element (i.e the root of the BPEL document). It is composed of the following children: part-nerLinks, variables, activities and the optional children: faultHandlers, eventHandlers, correlationSets. These children are concurrent. We will model a BPEL process as a communicating system with three automatons (activity, faultHandler, eventHandler) and we use the rules to declare synchronous actions between them. We use a stop variable for activities machine to terminate the rest activities if this machine happens a fault or the termination is activated by an exit activity. The scope activity will be model as a process.

Messages

A BPEL variable is always connected to a message from a WSDL description of partners. In BPEL, a Web service that is involved in the process is always modeled as a porType (i.e. abstract group of operations (noted op) supported by a service). These operations are executed via a partnerlink (noted by pl). In our formalism, for instance, the input message ?pl.op.v denotes the reception of the message op(v) (constructed from the operation op and the BPEL variable v) via the channel pl.

Basic Activities

Basic activities are: receive, reply, invoke, assign, wait, empty, exit, throw. Each basic activity is described by a partial machine. To synchronize the faults with faultHandler machine, we can add two transitions !fault and ?done into each partial machine if faultHandler activity of process exists.

The Receive Activity: <receive partnerLink=pl port-Type=pt operation=op variable=msg> PM = ({s in , s out }, s in , {s out }, {v, stop}, {?pl.op.msg}, {c}, {(s in , true), (s out , true)}, {t 1 })

• t 1 =(s in ,<?pl.op.msg,[stop=false],{c,v=msg}>,s out )

The Reply Activity: <reply partnerLink=pl portType=pt operation=op variable=msg faultName=fault> PM = ({s in , s out }, s in , {s out }, {stop}, {!pl.op.msg}, {c}, {(s in , true), (s out , true)}, {t 1 , t 2 })

• t 1 =(s in ,<!pl.op.msg,[stop=false],{c}>,s out )

• t 2 =(s in ,<!pl.op.fault,[],{c,stop=true}>,s out )
The Assign Activity: <assign> <from> v 2 </from> <to> v 1 </to> ... </assign> PM = ({s in , s out }, s in , {s out }, {v 1 ,v 2 ,...,v n ,stop}, {∅}, {c}, {(s in , true), (s out , true)}, {t 1 })

• t 1 =(s in ,< ,[stop=false],{c, v 1 =v 2 ,...}>,s out )
The Wait Activity: <wait (for=d | until=dl)>.

• <wait for=d>: PM = ({s in , s out }, s in , {s out }, {stop}, {∅}, {c}, {(s in ,c≤d),(s out , true)}, {t 1 })

-t 1 =(s in ,< ,[c=d & stop=false],{c} >,s out )
• <wait until=dl>: PM = ({s in , s out },s in , {s out }, {stop}, {∅}, {gc}, {(s in ,gc≤dl),(s out , true)}, {t 1 })

-t 1 =(s in ,< ,[gc=dl & stop=false],{∅} >,s out )
The Throw Activity: <throw faultName=fault/> PM = ({s in , s out }, s in , {s out }, {stop}, {∅}, {∅}, {(s in , true), (s out , true)}, {t 1 })

• t 1 =(s in ,<!fault,[],{stop=true}>,s out )
The Exit Activity: <exit/> PM = ({s in , s out }, s in , {s out }, {stop}, {∅}, {∅}, {(s in , true), (s out , true)}, {t 1 })

• t 1 =(s in ,< ,[],{stop=true}>,s out )
The Invoke Activity: <invoke partnerLink=pl port-Type=pt operation=op inputVariable=msg in outputVari-able=msg out> PM = ({s in , s 1 , s out }, s in , {s out }, {v in, v out, stop}, {!pl.op.msg in, ?pl.op.msg out}, {c}, {(s in , true), (s 1 , true) (s out , true)}, {t 1 , t 2 })

• t 1 =(s in ,<!pl.op.msg in,[stop=false],{c}>,s 1 )

• t 2 =(s 1 ,<?pl.op.msg out,[stop=false],{c, v out=msg out}>,s out )

The Empty Activity: <empty/> PM = ({s in , s out }, s in , {s out }, {stop}, {∅}, {c}, {(s in , true), (s out , true)}, {t 1 })

• t 1 =(s in ,< ,[stop=false],{c}>,s out )

Structured Activities

Structural activities: structural activities are sequence, while, switch, flow, pick, repeatUntil, if and scope. They take some partial machines P M i,i∈[0,n] (see Fig 1) and combine them to a new partial machine.

Figure 1. Partial machines

The partial machines of structural activities (sequence, while, switch and pick) are shown in Fig 2 . The repeatUntil activity will be modeled as a while activity. The conditional behavior if will be also modeled as a switch activity. The eventHandler activity will be model as pick activity. The flow activity allows to specify one or more activities to be performed concurrently [START_REF] Berrada | Web Services Business Process Execution Language (BPEL) Version 2.0[END_REF]. It specifies the parallel execution of the flow partial TEFSM . The links defined in the flow activity permit to enforce precedence between these activities, i.e. it permits synchronization. The faultHandlers element combines a switch activity applied to various sequences of a catch or a catchAll activities and a sub-activities partial machine. The catchAll

Limitations

There are the limitations of transformation that is described in this paper. For example: the attributes joinCondition, supressJoinFailure of the flow activity. An activity with correlation will be model by adding a variable status of properties as [START_REF] Lallali | Transforming BPEL into Intermediate Format Language for Web Services Composition Testing[END_REF]. In that case, we add two transitions !fault and ?done into the partial machine to handle the fault because the standard fault correlationViolation must be thrown [START_REF] Berrada | Web Services Business Process Execution Language (BPEL) Version 2.0[END_REF] (i.e. synchronize the fault with faultHandler machine).

Testing Services Composition Using TGSE

In this section, we study how to test the service composition using TGSE tool. Two approaches: active testing and passive testing will be considered.

An Overview of Testing Services Composition Using TGSE

Our method use a TGSE tool, that is a generic tool for testing, to test a service composition described in BPEL on two approaches: active testing and passive testing. The first step is to transform the BPEL description into TEFSM. Transformation can be done automatically by a prototype tool (or by hand) follow mapping rules in the section 4. On active testing approach, a test purpose is requested to generate test case. On passive testing approach, we use TGSE to verify a trace either correct or incorrect. The current version of TGSE does not supported time invariant on state. Thus, we use only timing constraints on transition. Moreover, it only supported data single: integer and boolean. We use many variables to model a BPEL message.

Test Case Generation

For the purpose active testing, we use this tool to generate test cases based on test purposes. These test purposes will be modeled as a TEFSM and its actions will be synchronized with corespondent action in each TEFSM. This tool works also with timing constraints, Thus, we can use a timed test purposes (i.e. test purpose with some timed requirements) to generate timed test cases [START_REF] Lallali | Automatic Timed Test Case Generation for Web Services Composition[END_REF]. In the case, faultHandler activity and compensa-

Figure 5. Overrall Method of Testing Services Composition

tionHandler activity of a BPEL process exist, a communicating system for a process composes three TEFSMs (M activities , M f aultHandler , M compensationHandler ) and a test purpose. A vector r of rules set has four elements. TGSE generates a test case in XML format file if all test purposes are satisfied, else, we have nothing. If transition condition of TEFSM depends on input value of messages, we will use a parameter as a value. We can also use a real value for the variable if test purpose requires the conditions on variable.

Passive Testing

Passive testing means that we verify a trace is either correct or incorrect with specification. Because of TGSE follows us to cover the transition based on guard condition that is examined by variable value at run time. This is very helpful for our purpose of passive testing a BPEL service. We will model a trace as a test purpose (i.e. also referred as a TEFSM) with value of each input message that is assigned by real values in the trace. In that case, all of variable of BPEL process is used as shared variables. After modeling BPEL specification and the trace as the TEFSMs and declaration its rules, we use TGSE to verify this system. If TGSE responds a sequence, it means this trace is correct with specification, else, it is incorrect.

A Case Study

In this section, we study an example of the Loan Web Service that is described in Fig 6 . This process receives an input from the client. If this input is less than 10, it invokes the synchronous Assessment Service and receives a risk re-sult. In the case, this risk is low, it sends a response yes to client. Else (input≥10 or risk!=low), it invokes the asynchronous Approval Service by sending a request and uses a BPEL pick activity for one of the following cases: (1) to receive an asynchronous response from the partner service and send this response to client; (2) to send a timeout fault to client if there is not response from the partner service after a duration (e.g., 60 seconds). Using the rules in the section 4, we have a TEFSM of Loan Web Service in the figure 7 (The separate lines denote as transitions of link variables).

In TGSE, an TEFSM is described by: a number of state, initial state, variables of clock and a list of transition. Each transition t composes:

1. source state(id, name); The table 1 describes TEFSM of Loan Web Service in TGSE input format. The value of variables: request ,risk and response of Approval service is used as the parameter (i.e. p input, p risk and p res).

Test Purposes

Test purposes for Scenario #1

The Loan process is initiated by receiving an input from the client. It continues receive the response (i.e. risk msg) of the Assessment service. Finally, it sends this response to the client. The test purposes for scenario #1 is formulated in TGSE as The rules list for this test purpose as: {<?input msg, ?input>, <?risk msg,?risk>, <!output msg, !output>}. nop, #, #, #, # (1,receive in), (2,receive out), ?input msg, #, #, #, # (2,receive out), (3,assing1 in), nop, #, #, #, # (3,assing1 in), (4,assing1 out), nop, #, #, #, req=p input (4,assing1 out), (5,invoke1 in), nop, #, req[-inf,10[, #, # (5,invoke1 in), (6,invoke1 s1), !invoke1 msg out, #, #, #, # (6,invoke1 s1), (7,invoke1 out), ?risk msg, #, #, #, risk=p risk (4,assing1 out), (8,invoke2 in), nop, #, req [10,+inf], #, # (8,invoke2 in), (9,invoke2 out), !invoke2 msg out, #, #, #, # (9,invoke2 out), (10,pick in), nop, #, #, h:=t, # (10,pick in), (11,assign3 in), ?res msg, t[0,60[, #, #, # (10,pick in), (13,assign4 in), ?res msg, t[60,+inf], #, #, # (11,assign3 in), (12,assign3 out), nop , #, #, #, out=p res (13,assign4 in), (14,assign4 out), nop , #, #, #, out=-1 (12,assign3 out), (15,pick out), nop, #, #, #, # (14,assign4 out), (15,pick out), nop, #, #, #, # (7,invoke1 out), (8,invoke2 in), nop, # , risk [START_REF] Berrada | Web Services Business Process Execution Language (BPEL) Version 2.0[END_REF][START_REF] Berrada | Web Services Business Process Execution Language (BPEL) Version 2.0[END_REF] , #, # (7,invoke1 out), (16,assing2 in), nop, # , risk[0,0] , #, # (16,assing2 in), (17,assing2 out), nop, #, #, #, out=1 (17,assing2 out), (18,invoke3 in), nop, #, #, #, # (15,pick out), (18,invoke3 in), nop, #, #, #, # (18,invoke3 in), (19,invoke3 out), !output msg, #, #, #, # }

Test purposes for Scenario #2

The Loan process is initiated by receiving an input from the client. It receives the response of the Approval service after 30 seconds. Finally, it sends this response to the client. The test purposes for scenario #2 is formulated in TGSE as Fig 9:

The rules list for this test purpose as: {<?input msg, ?input>, <?res msg,?res>, <!output msg, !output>}.

Test Cases

The test cases that are generated by using TGSE is a detail path (i.e. it covers also internal actions). For instance, test case for scenario #1 as:

0 nop → 1 input msg → 2 nop → 3 nop → 4 nop → 5 invoke1 msg out → 6 risk msg → 7 nop → 16 nop → 17 nop → 18
output msg → 19. In our case, we focus on black-box testing, it means that we covers only the input events and the output events. We do not interested in the internal events. So that, from result of TGSE, we will cover the input events and the output Note 1 TGSE has sixteen modes (i.e. from p0 to p15) that concern to select the order of transitions, automatons, and rules in the specification file. Here, we used mode p15 (all random) to run this example. The value of parameters that is generated randomly saved in the OutputLp.out file.

Conclusions

We have presented a methodology using the TGSE tool to test a Web Service Composition that is described in BPEL language. Two test approaches are considered: active testing (generate the test cases) and passive testing (ver-ify a trace). We given some of definitions on Timed Extended Finite State Machine (TEFSM), a partial of TEFSM and a Communicating System (CS). TEFSM that we proposed can enable modeling of BPEL behaviour, timing constraints, its data variables and clocks. We also define some of rules to transform a BPEL specification into TEFSMs that is the components of a CS. The Loan Web Service example is used to illustrate for our method. Our future works is to use this tool to handle integration testing as will as the choreography of Web services.

  Fig 3 models links of flow activity.

Figure 2 .

 2 Figure 2. Modeling structural activities

Figure 3

 3 Figure 3. Modeling Links

  Fig 5 illustrates the overall our methodology.

Figure 6 .

 6 Figure 6. The Loan Web Service

2 .

 2 target state(id, name); 3. event (nop denotes internal event); 4. guard condition on clocks (# denotes true); 5. guard condition on variable (# denotes true); 6. reset clocks (# denotes empty); 7. update variable (# denotes empty);

Figure 7 .

 7 Figure 7. TEFSM of Loan Web Service

Figure 8 .

 8 Figure 8. Test Purpose of Scenario #1 in TGSE

Table 1 . TEFSM specification of the Loan Ser- vice for TGSE

 1

	P AUTO bpel
	{
	nb states: 20
	initial state: 0
	clocks: t
	(0,init), (1,receive in),

Test Purpose of Scenario #2 in TGSE events

  to have a test case. The test case for each scenario is shown in Fig 10.

	TESTER test purpose2
	{
	nb states = 4
	initial state = 0
	clocks: t
	final state = 3
	(0, init), (1, state1), ?input, #, #, #, #
	(1, state1), (2, state2), ?res, t[30,30], #, #, #
	(2, state2), (3, finish), !output, # , #, #, #
	}
	Figure 9. TEST CASE 1 FOR SCENARIO #1
	1. ?input msg
	2. !invoke1 msg out
	3. ?risk msg
	4. !output msg
	TEST CASE 2 FOR SCENARIO #2 (first time)
	1. ?input msg (p req=0)
	2. !invoke1 msg out
	3. ?risk msg (p risk=1)
	4. !invoke2 msg out
	5. ?res msg (p res=0)
	6. !output msg
	TEST CASE 2 FOR SCENARIO #2 (second time)
	1. ?input msg (p req=10)
	2. !invoke2 msg out
	3. ?res msg (p res=0)
	4. !output msg
	Figure 10. The Abstract Test Cases

* This Research is supported by the French National Agency of Research within the WebMov Project http://webmov.lri.fr


Y Le Guennec
email: leguenne@enserg.fr

G Maury
email: maury@enserg.fr

B Cabon
email: cabon@enserg.fr

BER Performance Comparison between Active Mach-Zehnder Modulator and Passive Mach-Zehnder Interferometer for Conversion of Microwave Subcarriers of BPSK Signals

Keywords: Optical fiber communication, integrated optical device, external optical modulator, optical microwave mixing, bit error rate

Abs tract

I. Introduction

In the new hybrid MW/optical digital transmission systems, the optical domain is not only used to transmit MW signals but provides also signal processing functions as optical MW frequency mixing. This very useful signal processing function allows changing the carrier frequency of digital signals for various applications in telecommunications or radar domains [START_REF] Mari | Millimeter-Wave Signal Generation and Harmonic Upconversion Through PM-IM Conversion in Chirped Fiber Gratings[END_REF]. Here, performance of an external optical Mach-Zehnder modulator (EOM) and of a passive all-optical device (unbalanced Mach-Zehnder interferometer UMZ) in a frequency modulated (FM) fiber-optic link are compared.

Comparison is carried out through a theoretical approach and BER measurements function of the input optical power. Although the technique of up and down conversion of MW subcarriers has been published [START_REF] Maury | Microwave-frequency conversion methods by optical i nterferometer and photodiode[END_REF], the BER performance and the comparison between passive UMZ and EOM is conducted for the first time.

II. Theoretical approach of optical microwave mixing for EOM and UMZ

Optical microwave mixing is always generated by exploiting a nonlinearity. In both cases presented here, the nonlinearity is the sinusoidal function described by the output optical power.

II.1 Optical microwave mixing with an EOM

The optical power of the EOM is a sinusoidal function of bias voltage. Let us consider two MW CW RF and LO signals, respectively at frequencies f RF and f LO, and with magnitudes V RF and V LO .

They are added at the electrical input of the EOM. When the EOM operates at maximum or minimum of transmission [START_REF] Young | Generation and Transmission of FM and π/4 DQPSK Signals at Microwave Frequencies Using Harmonic Generation and Optoelectronic Mixing in Mach-Zehnder Modulators[END_REF], the optical field at its output is given by :

( ) ( )                 + + + = t f V V j t f V V j V V j t f j E t E LO LO RF RF o opt o π π π π π π π π π 2 cos 2 cos exp 1 ) 2 exp( ) ( (1)
where E o is the amplitude of optical field, V o is the bias voltage of the EOM, f opt the optical frequency and V π is the EOM half wave voltage.

So the power at the output of the EOM can be written as:

( ) ( )               + ± = t f V V t f V V P T P LO LO RF RF i out π π π π π π 2 cos 2 cos cos 1 2 0 (2)
where T i is the optical insertion loss of the modulator, P 0 is the optical power at its input. After Bessel function expansion and assuming that the power of the LO signal is chosen in order to maximise the mixing power and that the power of the RF signal is low, the power detected at the mixing frequencies after quadratic photodetection can be written as :

( ) 2 0 58 . 0 RF i PD mix m P T R P ≈ (3)
where R PD is a term due to optical/electrical conversion and m RF is the optical intensity modulation index that would be induced with the modulator biased at quadrature and modulated only by the RF signal.

II.2 Optical microwave mixing with a passive UMZ

In the second case, mixing is generated by an alternative method detailed in [START_REF] Maury | Microwave-frequency conversion methods by optical i nterferometer and photodiode[END_REF]. The RF and LO signa ls directly modulate a LD which is followed by a passive UMZ. Direct modulation of the LD induces both intensity modulation (IM) and FM of the light. The optical power at the output of the interferometer is also a sinusoidal function of the optical frequency. Therefore, this configuration must intuitively have the same behaviour as in the last section.

For better understanding, we can neglect IM. Simulations show that its effect does not change significantly the total response. Indeed, if we neglect the IM, the optical field emitted by the LD can be written as :

( ) ( ) ( ) t f t f j t f j E t E LO LO RF RF opt π β π β π 2 sin 2 sin exp ) 2 ( exp ) ( 1 0 + ≈ (4)
where β RF and β LO are the frequency modulation index at frequency f RF and f LO .

This optical field contains all the harmonics and intermodulation products of the input signals.

But, the interferometer acts as a linear filter on this optical field and can consequently suppress some spectral components. With two conditions, stated hereafter, the optical power at the output of the UMZ, calculated from the coherent beating of the optical field, has a completely analogous form as in the previous case :

( ) ( ) ( ) [ ] t f t f P T P LO LO RF RF i out π β π β 2 cos 2 2 cos 2 cos 1 2 0 + ± = (5)
where T i is the insertion loss of the interferometer including the coupling and the propagation loss.

The first condition concerns specific relations between input frequencies values and the free spectral range of the interferometer (FSR) :

( ) ( ) Ν ∈ + = Ν ∈ + = ' , 2 1 ' 2 and , 2 1 2 k FSR k f k FSR k f LO RF (6)
Deeper analysis shows that a tolerance of 3 dB on the variation of P mix implies a variation of the input frequencies in a bandwidth equal to FSR/2.

The second condition concerns the interference regime which, as in the first case with the external modulator, has to be maximum or minimum :

1 2 cos ± =         FSR f opt π (7)
This is easily realisable with an integrated optical component [START_REF] Maury | Microwave-frequency conversion methods by optical i nterferometer and photodiode[END_REF]. Supposing as previously that the power of the LO signal is chosen in order to maximise the mixing power and that the power of the RF signal is low, the power detected at the mixing frequencies after quadratic photodetection can be written as :

( ) 2 0 58 . 0 α RF i PD mix m P T R P ≈ (8)
where R PD is the same term due to optical/electrical conversion and m RF is the optical intensity modulation index which would be measured at the output of the LD, α is the linewidth enhancement factor of the LD. Logically, the greater α is, meaning the more efficient the FM response due to the chirp of the LD is, the more efficient the mixing response is.

II.3 Dispersion tolerance

It is well known that chromatic dispersion can lead to drastic penalty in detected signal power.

This effect depends on the characteristics of the spectrum of the propagated optical field. Even if the optical intensity for both systems is the same at minimum or maximum of transmission, the nature of the optical field is completely different. According to the expression (1), fundamental spectral lines LO opt f f ± and RF opt f f ± are higher at the output of the EOM, the optical carrier is almost suppressed at minimum of transmission, and dominant at maximum of tra nsmission.

According to the expression (4) multiplied by the transfer function of the UMZ, at minimum of transmission, only spectrum lines expressed as

N k FSR k f opt ∈ + ± 2 / ) 1 2 (
remain in the optical spectrum. At maximum of transmission this time, only spectrum lines expressed as

N k FSR k f opt ∈ ± ' 2 / '
are present in the optical spectrum at the output of the UMZ.

These spectral components will concurrently beat on PD to generate MW mixing. The significant difference between optical fields for both systems implies a great difference in terms of dispersion tolerance that can only predicted with numerical simulations.

Finally, the comparison of the two methods working in similar conditions, with same intensity modulation index m RF and with same insertion loss T i (in fact, the insertion loss with UMZ could easily be even better than the insertion loss of the EOM) shows a gain factor equal to α 2 in the case of the UMZ. In long optical fiber systems, numerical simulations are needed to evaluate dispersion tolerance.

III. Application for conversion of subcarriers of BPSK digital signals

III. 1 Conversion of subcarriers of digital signals using an EOM

Optical MW mixing is investigated with a DFB laser diode (LD) emitting at 1550 nm and an EOM modulated by a CW signal at f LO =1.55 GHz (P OL =5 dBm) and a 100 Mbit/s BPSK digital signal at f RF =4.45 GHz (P RF =0 dBm). A DC voltage is also applied to use the EOM in a non-linear regime (inset of Fig. 1). Optical power is detected at the output of the EOM by a photodetector (PD). As shown on Fig. 1, digital signal is up and down-converted around fmix+=fRF+f LO=6 GHz and f mix-=f RF -f LO =3 GHz at the output of the EOM. Rejections of f RF and f LO are greater than 15 dB.

III. 2 Conversion of subcarriers of digital signals using a passive UMZ

The previous LD is used in the linear regime and is directly modulated by the same MW and digital signals as described above. This LD has a linewidth enhancement factor of 4.5. Optical power is coupled into an optical fiber, then injected into the UMZ and detected at its output by the PD (inset of Fig. 2). The UMZ is integrated on a glass substrate by Tl + /Na + ion exchange and has a FSR equal to 3 GHz. The control of the interference regime is easily realized by fixing the temperature of the LD and of the component (with a Peltier element), and by varying the bias of the LD to control the emitted wavelength. A variation of interference regime from a maximum to the next one is induced by variation of temperature equal to 1.5°C for the UMZ, 0.25°C for the LD or by a variation of the LD bias equal to 2 mA. As shown on Fig. 2, digital signal is up and down-converted around f mix+ =f RF +f LO =6 GHz and f mix-=f RF -f LO =3 GHz at the output of the UMZ. In the same way as previously, rejections of the input signals are greater than 15 dB [START_REF] Le Guennec | Conversions of the Microwave Subcarriers of Digital Signals in Optical Links[END_REF].

III.3 Comparison of BER performance

BER measurements using EOM and passive UMZ have been carried out with the same electrical part to make a valid comparison. IM index and insertion loss can be easily measured for both systems. They have also to be taken into account to compare BER measurements function of optical input power for the two systems. As expected, passive UMZ gives sensibly better BER values for the same optical input power and for equal intensity modulation index and no insertion loss (Fig. 3).

For a 10 -9 BER value, input optical power must be -7.5 dBm for EOM whereas it must be only -13 dBm for UMZ considering equal intensity modulation index and no insertion loss. Average optical power difference between the two BER curves is about 6 dB opt that corresponds to 10log(α)=6.5 dB opt . So, optical MW mixing power with passive UMZ is optimized by a α 2 factor compared to EOM, that corresponds electrically to about 12 dB.

IV. Conclusion

A new method for MW conversion of subarriers of digital signals using a low cost and compact UMZ device have shown low BER measurements. As expected in theory, these results are better than BER measurements with EOM when laser diode has enhancement factor higher than 1. For using in long distance optical fiber transmission systems, numerical simulations are needed to evaluate the effect of chromatic dispersion for each particular case.

Fig. 1 .Fig. 2 .Fig. 3 .

 123 Fig. 1. Spectrum at the output of the EOM