Automatic Generation of Compatible Interfaces from Partitioned UML Activities

Behavioral interfaces describing the sequences of buffered signal transmissions between components are useful to ensure that components can interact consistently. Previous work has shown that compatible interfaces at each side of a channel are in general asymmetric: In cases where both communicating sides can take initiative and send, they have to be prepared for conflicts that need resolution. Such conflicts are often difficult to handle properly at the interaction level, where the intent of the actual application may be obscured by technical details. For this reason, we developed an automated method that starts with a holistic and collaborative view on distributed behavior provided by UML activities, in which components are represented by separate partitions. Once the activity is well-formed, pairs of interfaces for each channel are derived by cutting the activity along its partitions and exploring the visible behavior between them. The resulting interfaces are compatible by construction and allow other entities to interact consistently across them. The proposed method is implemented as part of our tool support.

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

[2]  Zahir Tari,et al.  On the Move to Meaningful Internet Systems 2006: CoopIS, DOA, GADA, and ODBASE, OTM Confederated International Conferences, CoopIS, DOA, GADA, and ODBASE 2006, Montpellier, France, October 29 - November 3, 2006. Proceedings, Part I , 2006, OTM Conferences.

[3]  Manfred Broy,et al.  Interaction interfaces-towards a scientific foundation of a methodological usage of message sequence charts , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

[4]  Adam Wolisz,et al.  Formal Techniques for Networked and Distributed Systems - FORTE 2003 , 2003, Lecture Notes in Computer Science.

[5]  Cristina Gacek,et al.  Implementing product line variabilities , 2001, SSR '01.

[6]  Hanêne Ben-Abdallah,et al.  Syntactic Detection of Process Divergence and Non-local Choice inMessage Sequence Charts , 1997, TACAS.

[7]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[8]  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.

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

[10]  Rolv Bræk,et al.  Dealing with Active and Stateful Services in the Service-Oriented Architecture , 2007, ICSOC Workshops.

[11]  Elie Najm,et al.  Behavioural Contracts for a Sound Assembly of Components , 2003, FORTE.

[12]  Ralph-Johan Back,et al.  Distributed cooperation with action systems , 1988, TOPL.

[13]  Andreas Prinz,et al.  SDL 2005: Model Driven, 12th International SDL Forum, Grimstad, Norway, June 20-23, 2005, Proceedings , 2005, SDL Forum.

[14]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[15]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

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

[17]  Jacqueline Floch,et al.  Towards Plug-and-Play Services: Design and Validation Using Roles , 2003 .

[18]  Leslie Lamport,et al.  Model Checking TLA+ Specifications , 1999, CHARME.

[19]  Frank Alexander Kraemer,et al.  An Automated Method for Web Service Orchestration Based on Reusable Building Blocks , 2009, 2009 IEEE International Conference on Web Services.

[20]  Peter Herrmann,et al.  Compositional Service Engineering with Arctis , 2009 .

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

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

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

[24]  Reinhard Gotzhein,et al.  System Analysis and Modeling: Language Profiles, 5th International Workshop, SAM 2006, Kaiserslautern, Germany, May 31 - June 2, 2006, Revised Selected Papers , 2006, SAM.

[25]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

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

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

[28]  Richard Torbjørn Sanders,et al.  Collaborations, Semantic Interfaces and Service Goals: a way forward for Service Engineering , 2007 .

[29]  Andreas Prinz,et al.  Application of Stuck-Free Conformance to Service-Role Composition , 2006, SAM.

[30]  George J. Milne,et al.  Correct Hardware Design and Verification Methods , 2003, Lecture Notes in Computer Science.

[31]  Vladimir Mencl Specifying Component Behavior with Port State Machines , 2004, Electron. Notes Theor. Comput. Sci..

[32]  J. Floch,et al.  Ontology-based Use Cases for Design-time and Runtime Composition of Mobile Services , 2008, 2008 Ninth International Conference on Mobile Data Management Workshops, MDMW.