Model-Based Dependable Composition of Self-Adaptive Systems

ion of WF Workflows. To relate our model transformation process with realistic and complex examples, we use the WF platform, which belongs to the .NET Framework 3.5 and is supported by Visual Studio 2008. We have chosen WF because it makes the implementation of services easier thanks to its workflowbased graphical support and the automation of the code generation, and it is an useful and interesting alternative compared to the well-know BPEL. Nevertheless, we have also validated our proposal using BPEL as shown in [7]. In addition, the .NET Framework is widely used in many companies, and WF is increasingly prevalent in the software engineering community [26]. In order to illustrate the motivating example presented in Section 2, we use a representative kernel of the WF activities, namely Code, Sequence, Terminate, Receive, Send, IfElse, While, and Listen with EventDriven activities, that are general enough to describe any service. In Table 1, we formalise the textual grammar (left handside) defined for the WF activities considered (on the right hand-side the informal meaning of these activities is provided), which abstracts several implementation details. Our grammar considers as input textual workflows (defined in XML files) corresponding to the graphical description of the WF workflows, with WF activities A , where C, Ci are boolean conditions, I, Ii (inputs), O, Oi (outputs) are parameters of activities, and Id are service identifiers. The WF platform is capable of developing workflows in different scenarios, from simple sequential ones to realistic and complex state machine-based workflows involving human interaction. The programming languages available in A ::= Code executes code | Terminate ends WF | Receive(Id,Op[,O,I1,. . . ,In]) receives msg | Send(Id,Op[,O1,. . . ,On,I]) sends msg | Sequence(A1,A2) executes A1,A2 | IfElse((C1,A1),. . . ,(Cn,An),A ) Ai if Ci or A | While(C,A ) A while C | Listen(E1,. . . ,En) fires one Ei E ::= EventDriven(Receive(Id,Op[,Ii]),A ) A when Id Table 1: Grammar for the WF abstract notation the platform are Visual Basic and C#. Our examples have been implemented in C#. Example. We have designed WF workflows for the User Route request, and for the Route and Map services. WF provides a WSDL description for each WF workflow. For space reasons, in Figure 4 only the WF workflow that represents the behaviour of the User Route request is shown.

[1]  Gregory D. Abowd,et al.  Towards a Better Understanding of Context and Context-Awareness , 1999, HUC.

[2]  Marco Zapletal Deriving Business Service Interfaces in Windows Workflow from UMM Transactions , 2008, ICSOC.

[3]  Carlos Canal,et al.  Model-Based Adaptation of Behavioral Mismatching Components , 2008, IEEE Transactions on Software Engineering.

[4]  Béat Hirsbrunner,et al.  Towards a Context-Based Service Composition Framework , 2003, ICWS.

[5]  Massimo Mecella,et al.  When are Two Web Services Compatible? , 2004, TES.

[6]  Oscar Nierstrasz,et al.  Model-Centric, Context-Aware Software Adaptation , 2009, Software Engineering for Self-Adaptive Systems.

[7]  R. K. Chauhan,et al.  BACKWARD ERROR RECOVERY PROTOCOLS IN DISTRIBUTED MOBILE SYSTEMS: A SURVEY , 2008 .

[8]  Tom Mens,et al.  Towards a taxonomy of software change , 2005, J. Softw. Maintenance Res. Pract..

[9]  Matthew Hennessy,et al.  Symbolic Bisimulations , 1995, Theor. Comput. Sci..

[10]  Xiang Fu,et al.  Analysis of interacting BPEL web services , 2004, WWW '04.

[11]  Javier Cubo,et al.  Context-Aware Service Discovery and Adaptation Based on Semantic Matchmaking , 2010, 2010 Fifth International Conference on Internet and Web Applications and Services.

[12]  André Arnold,et al.  Finite transition systems , 1994 .

[13]  Javier Cubo,et al.  A Model-Based Approach to the Verification and Adaptation of WF/.NET Components , 2008, Electron. Notes Theor. Comput. Sci..

[14]  Fabio Casati,et al.  Semi-automated adaptation of service interactions , 2007, WWW '07.

[15]  Antonio Brogi,et al.  Automated Generation of BPEL Adapters , 2006, CIbSE.

[16]  Robin Milner,et al.  Modal Logics for Mobile Processes , 1991, CONCUR.

[17]  Vyacheslav S. Kharchenko,et al.  Experimenting with exception propagation mechanisms in service-oriented architecture , 2008, WEH '08.

[18]  Serge Demeyer,et al.  Software Evolution , 2010 .

[19]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[20]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[21]  Javier Cámara,et al.  ITACA: An integrated toolbox for the automatic composition and adaptation of Web services , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[22]  Sebastián Uchitel,et al.  LTSA-WS: a tool for model-based verification of web service compositions and choreography , 2006, ICSE.

[23]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .