Compositional Service Engineering with Arctis

Services generally involve collaborative behavior among several components. With Arctis, our UMLbased tool for service engineering, we support this inherent property of services by letting collaborations among components be the major specification units. Collaborations are orthogonal to traditional components and constitute a new kind of entity with a high potential for reuse in comparison to components. Despite their cross-cutting nature, collaborations may be defined, understood and analyzed separately from each other, so that they can encapsulate service behavior as self-contained building blocks. Due to the SPACE method, the semantic foundation of Arctis, a rigorous analysis via model checking is possible. Because of the compositional semantics based on temporal logic, model checking can be applied efficiently on each collaboration separately, which reduces the state space needed through the analysis. Arctis manages to hide these formal issues from the users and presents analysis results within the editor as easily understandable animations of UML activities, so that no expertise in formal methods is required. Moreover, component designs including state machines are automatically generated from collaboration models. From these components, executable code can be generated using the Ramses code generators. In the following we present the development steps implied by Arctis using an example from the home automation domain.

[1]  Peter Herrmann,et al.  Transforming Collaborative Service Specifications into Efficiently Executable State Machines , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[2]  David Notkin,et al.  Using role components in implement collaboration-based designs , 1996, OOPSLA '96.

[3]  Luigi Logrippo,et al.  The importance of the service concept in the design of data communications protocols , 1985, PSTV.

[4]  Mira Mezini,et al.  Adaptive plug-and-play components for evolutionary software development , 1998, OOPSLA '98.

[5]  Itu-T Specification and Description Language (SDL) , 1999 .

[6]  Peter Herrmann,et al.  Service Specification by Composition of Collaborations--An Example , 2006, 2006 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology Workshops.

[7]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[8]  Birger Møller-Pedersen,et al.  JavaFrame: Framework for Java Enabled Modelling , 2000 .

[9]  Frank Alexander Kraemer,et al.  Engineering Reactive Systems: A Compositional and Model-Driven Method Based on Collaborative Building Blocks , 2008 .

[10]  Christel Baier,et al.  Principles of model checking , 2008 .

[11]  Frank Alexander Kraemer Arctis and Ramses: Tool Suites for Rapid Service Engineering , 2007 .

[12]  Rolv Bræk,et al.  Describing Active Services for Publication and Discovery , 2008 .

[13]  R. Braek,et al.  Next generation service engineering , 2008, 2008 First ITU-T Kaleidoscope Academic Conference - Innovations in NGN: Future Network and Services.

[14]  Peter Herrmann,et al.  Aligning UML 2.0 State Machines and Temporal Logic for the Efficient Execution of Services , 2006, OTM Conferences.

[15]  P. S. Thiagarajan,et al.  Message Sequence Charts , 2003, UML for Real.

[16]  Peter Herrmann,et al.  FORMALIZING COLLABORATION-ORIENTED SERVICE SPECIFICATIONS USING TEMPORAL LOGIC , 2007 .

[17]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[18]  Peter Herrmann,et al.  Synthesizing Components with Sessions from Collaboration-Oriented Service Specifications , 2007, SDL Forum.

[19]  Øystein Haugen,et al.  Engineering real time systems - an object-oriented methodology using SDL (2. pr.) , 1993, BCS practitioner series.

[20]  Heiko Krumm,et al.  A framework for modeling transfer protocols , 2000, Comput. Networks.

[21]  Daniel Amyot,et al.  Service Discovery and Component Reuse with Semantic Interfaces , 2005, SDL Forum.

[22]  Vidar Slåtten Automatic Detection and Correction of Flaws in Service Specifications , 2008 .

[23]  Peter Herrmann,et al.  Adaptable model-based component deployment guided by artificial ants , 2008, Autonomics.

[24]  Vidar Slåtten,et al.  ENGINEERING SUPPORT FOR UML ACTIVITIES BY AUTOMATED MODEL-CHECKING | AN EXAMPLE , 2007 .