Abstract
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.
This work was partially supported by the Grant Agency of the Czech Republic project 201/06/0770; the results will be used in the OSIRIS/ITEA project.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Adamek, J., Plasil, F.: Erroneous Architecture is a Relative Concept. In: Proceedings of SEA conference. ACTA Press, Cambridge (2004)
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)
de Alfaro, L., Henzinger, T.A.: Interface Automata. In: Proceedings of the 9th Annual ACM Symposium on Foundations of Software Engineering, FSE (2001)
Allen, R.J., Garlan, D.: A Formal Basics For Architectural Connection. ACM Transactions on Software Engineering and Methology (July 1997)
DePrince jr., W., Hofmeister, C.: Enforcing a lips Usage Policy for CORBA Components. In: Proceedings of EUROMICRO (September 2003)
Fractal component model: http://fractal.objectweb.org/
Harel, D.: A Visual Formalism for Complex Systems, Science of Computer Programming, vol. 8. Elsevier Science Publishers B.V, Amsterdam (1987)
Hilderink, G.H.: Managing Complexity of Control Software through Concurrency, PhD thesis, University of Twente, The Netherlands, ISBN 90-365-2204-8 (May 2005)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall International, UK, Ltd., Englewood Cliffs (1985)
Magee, J., Kramer, J.: Concurrency: State models & Java programs. John Wiley & Sons Ltd., Chichester (1999)
Object Management Group: UML 2.0 Infrastructure Final Adopted Specification, OMG document ptc/03-09-15 (September 2003)
PREfast: http://www.microsoft.com/whdc/devtools/tools/PREfast.mspx
Perseus persistence framework: http://perseus.objectweb.org/
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)
Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Transactions on Software Engineering 28(11) (November 2002)
Plasil, F., Visnovsky, S., Besta, M.: Bounding Behavior via Protocols. In: Proceedings of TOOLS USA 1999 (1999)
Reussner, R.H., Becker, S., Firus, V.: Component Composition with Parametric Contracts, Tagungsband der Net.ObjectDays (2004)
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)
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)
SOFA project: http://sofa.objectweb.org/ , http://nenya.ms.mff.cuni.cz/projects.phtml?p=sofa&q=0
Speedo: http://speedo.objectweb.org/
Sun JDO specification: http://java.sun.com/products/jdo/
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)
Wallnau, K.: Volume III: A Technology for Predictable Assembly from Certifiable Components, Technical Report CMU/SEI-2003-TR-009 (April 2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Plasil, F., Holub, V. (2006). Exceptions in Component Interaction Protocols – Necessity. In: Reussner, R.H., Stafford, J.A., Szyperski, C.A. (eds) Architecting Systems with Trustworthy Components. Lecture Notes in Computer Science, vol 3938. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11786160_13
Download citation
DOI: https://doi.org/10.1007/11786160_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35800-8
Online ISBN: 978-3-540-35833-6
eBook Packages: Computer ScienceComputer Science (R0)