Automatic Generation of Compatible Interfaces from Partitioned UML Activities

  • Frank Alexander Kraemer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5719)


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.


State Machine Model Check Temporal Logic Automatic Generation Service Contract 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Lamport, L.: The Existence of Refinement Mappings. Theoretical Computer Science 82(2), 253–284 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
  3. 3.
    Back, R.J.R., Kurki-Suonio, F.: Distributed Cooperation With Action Systems. ACM Transactions on Programming Languages and Systems 10(4), 513–554 (1988)CrossRefzbMATHGoogle Scholar
  4. 4.
    Ben-Abdallah, H., Leue, S.: Syntactic Detection of Process Divergence and Non-Local Choice in Message Sequence Charts. In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217, pp. 259–274. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  5. 5.
    Bræk, R., Haugen, Ø.: Engineering Real Time Systems: An Object-Oriented Methodology Using SDL. The BCS Practitioner Series. Prentice-Hall, Englewood Cliffs (1993)zbMATHGoogle Scholar
  6. 6.
    Broy, M., Krüger, I.: Interaction Interfaces - Towards a Scientific Foundation of a Methodological usage of Message Sequence Charts. In: ICFEM 1998: Proceedings of the Second IEEE International Conference on Formal Engineering Methods, p. 2. IEEE Computer Society, Washington (1998)Google Scholar
  7. 7.
    Carrez, C., Fantechi, A., Najm, E.: Behavioural Contracts for a Sound Assembly of Components. In: König, H., Heiner, M., Wolisz, A. (eds.) FORTE 2003. LNCS, vol. 2767, pp. 111–126. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  8. 8.
    de Alfaro, L., Henzinger, T.A.: Interface Automata. SIGSOFT Softw. Eng. Notes 26(5), 109–120 (2001)CrossRefGoogle Scholar
  9. 9.
    Eclipse Modeling Project,
  10. 10.
    Engelhardtsen, F., Prinz, A.: Application of Stuck-free Conformance to Service-Role Composition. In: Gotzhein, R., Reed, R. (eds.) SAM 2006. LNCS, vol. 4320, pp. 115–132. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Floch, J.: Towards Plug-and-Play Services: Design and Validation using Roles. PhD thesis, Norwegian University of Science and Technology, Trondheim (2003)Google Scholar
  12. 12.
    Herrmann, P., Krumm, H.: A Framework for Modeling Transfer Protocols. Computer Networks 34(2), 317–337 (2000)CrossRefGoogle Scholar
  13. 13.
    Holzmann, G.J.: Design and Validation of Computer Protocols. Prentice Hall Software Series. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  14. 14.
    Kraemer, F.A.: Engineering Reactive Systems: A Compositional and Model-Driven Method Based on Collaborative Building Blocks. PhD thesis, Norwegian University of Science and Technology, Trondheim (2008)Google Scholar
  15. 15.
    Kraemer, F.A., Bræk, R., Herrmann, P.: Compositional Service Engineering with Arctis. Telektronikk, vol. 1.2009 (2009)Google Scholar
  16. 16.
    Kraemer, F.A., Herrmann, P.: Service Specification by Composition of Collaborations — An Example. In: WI-IATW 2006, pp. 129–133. IEEE Computer Society, Washington (2006)Google Scholar
  17. 17.
    Kraemer, F.A., Bræk, R., Herrmann, P.: Formalizing Collaboration-Oriented Service Specifications using Temporal Logic. In: Networking and Electronic Commerce Research Conference 2007 (NAEC 2007), pp. 194–220. ATSMA Inc., USA (2007)Google Scholar
  18. 18.
    Kraemer, F.A., Herrmann, P.: Transforming Collaborative Service Specifications into Efficiently Executable State Machines. In: Ehring, K., Giese, H. (eds.) Proceedings of the 6th International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2007). Electronic Communications of the EASST, vol. 7 (2007)Google Scholar
  19. 19.
    Kraemer, F.A., Herrmann, P., Bræk, R.: Aligning UML 2.0 State Machines and Temporal Logic for the Efficient Execution of Services. In: Meersman, R., Tari, Z. (eds.) CoopIS, DOA, GADA, and ODBASE 2006. LNCS, vol. 4276, pp. 1613–1632. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  20. 20.
    Kraemer, F.A., Samset, H., Bræk, R.: An Automated Method for Web Service Orchestration based on Reusable Building Blocks. In: Proceedings of the 7th International IEEE Conference on Web Services (ICWS) (to be published, 2009)Google Scholar
  21. 21.
    Lamport, L.: Specifying Systems. Addison-Wesley, Reading (2002)zbMATHGoogle Scholar
  22. 22.
    Mencl, V.: Specifying Component Behavior with Port State Machines. Electr. Notes. Theor. Comput. Sci. 101, 129–153 (2004)CrossRefzbMATHGoogle Scholar
  23. 23.
    Michał, R., Meland, P.-H., Floch, J., Domaszewicz, J.: Ontology-based Use Cases for Design-time and Runtime Composition of Mobile Services. In: Proceedings of the Mobile Data Management Workshops MDMW 2008, pp. 29–36. IEEE Computer Society Press, Washington (2009)Google Scholar
  24. 24.
    Object Management Group: Service Oriented Architecture Modeling Language (SoaML) - Specification for the UML Profile and Metamodel for Services (UPMS), version 2.0 (November 2008),
  25. 25.
    Samset, H., Bræk, R.: Dealing with Active and Stateful Services in the Service-Oriented Architecture. In: Di Nitto, E., Ripeanu, M. (eds.) ICSOC 2007. LNCS, vol. 4907, pp. 268–281. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  26. 26.
    Sanders, R.: Collaborations, Semantic Interfaces and Service Goals: A Way Forward for Service Engineering. PhD thesis, Norwegian University of Science and Technology, Trondheim (2007)Google Scholar
  27. 27.
    Sanders, R., Bræk, R., von Bochmann, G., Amyot, D.: Service Discovery and Component Reuse with Semantic Interfaces. In: Prinz, A., Reed, R., Reed, J. (eds.) SDL 2005. LNCS, vol. 3530, pp. 85–102. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  28. 28.
    SIMS Project Website,
  29. 29.
    Slåtten, V.: Automatic Detection and Correction of Flaws in Service Specifications. Master’s thesis, Norwegian University of Science and Technology, Trondheim (2008)Google Scholar
  30. 30.
    Yu, Y., Manolios, P., Lamport, L.: Model Checking TLA +  Specifications. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 54–66. Springer, Heidelberg (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Frank Alexander Kraemer
    • 1
  1. 1.Department of TelematicsNorwegian University of Science and Technology (NTNU)TrondheimNorway

Personalised recommendations