TBP: Code-Oriented Component Behavior Specification

Assuring components compatibility plays a crucial part in developing a reliable component system. Especially, when the components come from different vendors worldwide. In order to do so, an appropriate formalism for behavior specification of components is necessary. We propose a formalism of threaded behavior protocols, which-unlike most other formalisms-allows for both analysis on the formal level (correctness and substitutability checking) and reasoning about conformance of a specification and the actual implementation. Moreover, the formalism is designed to be simple enough and to directly support constructs known from implementation languages (e.g., method calls, threads, synchronized blocks), so that it is easy to use by a nonprofessional.

[1]  Petr Hnetynka,et al.  SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model , 2006, Fourth International Conference on Software Engineering Research, Management and Applications (SERA'06).

[2]  Xiaolei Qian,et al.  Correctness and composition of software architectures , 1994, SIGSOFT '94.

[3]  Lubos Brim,et al.  Component-interaction automata as a verification-oriented component-based system specification , 2006, ACM SIGSOFT Softw. Eng. Notes.

[4]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[5]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[6]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[7]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[8]  Jan Kofron,et al.  Model Checking of Software Components: Combining Java PathFinder and Behavior Protocol Model Checker , 2006, 2006 30th Annual IEEE/NASA Software Engineering Workshop.

[9]  Jean-Claude Royer,et al.  A Java Implementation of a Component Model with Explicit Symbolic Protocols , 2005, SC@ETAPS.

[10]  Sagar Chaki,et al.  Dynamic Component Substitutability Analysis , 2005, FM.

[11]  Peter Thiemann,et al.  An Implementation of Session Types , 2004, PADL.

[12]  Peyman Oreizy,et al.  Reuse of Off-the-Shelf Components in C2-Style Architectures , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[13]  Stephan Merz,et al.  Model Checking , 2000 .

[14]  Nobuko Yoshida,et al.  Session-Based Distributed Programming in Java , 2008, ECOOP.

[15]  Pavlína Vareková,et al.  Component Substitutability via Equivalencies of Component-Interaction Automata , 2007, FACS.

[16]  Joseph Sifakis,et al.  Composition for component-based modeling , 2002, Sci. Comput. Program..

[17]  Klaus Havelund,et al.  Model checking programs , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

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

[19]  Peyman Oreizy,et al.  Reuse of off-the-shelf components in C2-style architectures , 1997, ICSE '97.

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

[21]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.