Exceptions in Component Interaction Protocols – Necessity

  • Frantisek Plasil
  • Viliam Holub
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3938)


At ADL level, most of the current interaction protocols designed to specify components’ behavior at their interfaces do not allow to capture exceptions explicitly. Based on our experience with real-life component based applications, handling exceptions as first class entities in a (formal) behavior specification is an absolute necessity. Otherwise, due to the need to capture exceptions indirectly, the specification becomes very complex, therefore hard to read and, consequently, error-prone. After analyzing potential approaches to introducing exceptions to LTS-based interaction specification (expressed via terms/expressions) in ADL, the paper presents the way we built exceptions into the behavior protocols. Finally, we discuss the positive experience with applying these exception-aware behavior protocols to a real-life Fractal component model application.


Method Call Label Transition System Exception Handling Behavior Description Composition Error 
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.
    Adamek, J., Plasil, F.: Component Composition Errors and Update Atomicity: Static Analysis. Journal of Software Maintenance and Evolution: Research and Practice 17(5), 363–377 (2005)CrossRefGoogle Scholar
  2. 2.
    Adamek, J., Plasil, F.: Erroneous Architecture is a Relative Concept. In: Proceedings of SEA conference. ACTA Press, Cambridge (2004)Google Scholar
  3. 3.
    Adamek, J., Plasil, F.: Partial Bindings of Components - any Harm? In: The Proceedings of APSEC 2004, pp. 632–639. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  4. 4.
    de Alfaro, L., Henzinger, T.A.: Interface Automata. In: Proceedings of the 9th Annual ACM Symposium on Foundations of Software Engineering, FSE (2001)Google Scholar
  5. 5.
    Allen, R.J., Garlan, D.: A Formal Basics For Architectural Connection. ACM Transactions on Software Engineering and Methology (July 1997)Google Scholar
  6. 6.
    DePrince jr., W., Hofmeister, C.: Enforcing a lips Usage Policy for CORBA Components. In: Proceedings of EUROMICRO (September 2003)Google Scholar
  7. 7.
    Fractal component model:
  8. 8.
    Harel, D.: A Visual Formalism for Complex Systems, Science of Computer Programming, vol. 8. Elsevier Science Publishers B.V, Amsterdam (1987)MATHGoogle Scholar
  9. 9.
    Hilderink, G.H.: Managing Complexity of Control Software through Concurrency, PhD thesis, University of Twente, The Netherlands, ISBN 90-365-2204-8 (May 2005)Google Scholar
  10. 10.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall International, UK, Ltd., Englewood Cliffs (1985)MATHGoogle Scholar
  11. 11.
    Magee, J., Kramer, J.: Concurrency: State models & Java programs. John Wiley & Sons Ltd., Chichester (1999)MATHGoogle Scholar
  12. 12.
    Object Management Group: UML 2.0 Infrastructure Final Adopted Specification, OMG document ptc/03-09-15 (September 2003)Google Scholar
  13. 13.
  14. 14.
    Perseus persistence framework:
  15. 15.
    Plasil, F.: Enhancing Component Specification by Behavior Description - the SOFA Experience. In: Proceedings of the 4th WISICT 2005. A volume in the ACM, pp. 185–190. Computer Science Press, Trinity College Dublin, Ireland (2005)Google Scholar
  16. 16.
    Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Transactions on Software Engineering 28(11) (November 2002)Google Scholar
  17. 17.
    Plasil, F., Visnovsky, S., Besta, M.: Bounding Behavior via Protocols. In: Proceedings of TOOLS USA 1999 (1999)Google Scholar
  18. 18.
    Reussner, R.H., Becker, S., Firus, V.: Component Composition with Parametric Contracts, Tagungsband der Net.ObjectDays (2004)Google Scholar
  19. 19.
    Schmidt, H.W., Kramer, B.J., Poernomo, I., Reussner, R.: Predictable Component Architectures Using Dependent Finite State Machines. In: Wirsing, M., Knapp, A., Balsamo, S. (eds.) RISSEF 2002. LNCS, vol. 2941, pp. 310–324. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  20. 20.
    Silva, R.M., Guerra, P.A.C., Rubira, C.M.F.: Component Integration using Compositions Contracts with Exception Handling. In: Proceedings of ECOOP2003 Workshop on Exception Handling in Object-Oriented Systems, TR 03-028 Univ. of Minnesota, Dept. of Comp. Sci (July 2003)Google Scholar
  21. 21.
  22. 22.
  23. 23.
    Sun JDO specification:
  24. 24.
    Vallecillo, A., Vasconcelos, V.T., Ravara, A.: Typing the Behavior of Objects and Components using Session Types. In: 1st International Workshop on Foundations of Coordination Languages and Software Architectures. Electronic Notes in Theoretical Computer Science (2002)Google Scholar
  25. 25.
    Wallnau, K.: Volume III: A Technology for Predictable Assembly from Certifiable Components, Technical Report CMU/SEI-2003-TR-009 (April 2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Frantisek Plasil
    • 1
    • 2
  • Viliam Holub
    • 1
  1. 1.Faculty of Mathematics and Physics, Department of Software EngineeringCharles UniversityPrague 1Czech Republic
  2. 2.Institute of Computer ScienceAcademy of Sciences of the Czech RepublicCzech Republic

Personalised recommendations