Modeling Software Components Using Behavior Protocols

This thesis proposes a novel approach for a description of a software component’s behavior. The behavior is specified by using behavior protocols –a notation similar to regular expressions, which is easy to read and comprehend. Based on an abstract model of communication between software components, the thesis introduces a notion of component behavior and defines a compliance relation of a component behavior and a protocol-based component specification. The concept of the behavior resp. protocol compliance can be used for reasoning about the specification refining correctness that can be verified at design time and adherence of a component’s implementation to its specification to be checked at run time. Further, the behavior compliance forms the basis for a definition of the a component dynamic update correctness. As a proof of the concept, the behavior protocols are used in the SOFA architecture description language at multiple levels of component abstraction. The application of the abstract communication model to SOFA allows to define a relationship among component descriptions at different abstraction levels and also a component implementation.

[1]  Bran Selic,et al.  An Efficient Object-Oriented Variation of the Statecharts Formalism for Distributed Real-Time Systems , 1993, CHDL.

[2]  José M. Troya,et al.  Compatibility and inheritance in software architectures , 2001, Sci. Comput. Program..

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

[4]  Dušan Bálek,et al.  Connectors in Software Architectures , 2002 .

[5]  Oscar Nierstrasz,et al.  Requirements for a Composition Language , 1994, ECOOP Workshop.

[6]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

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

[8]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[9]  David Garlan,et al.  An Activity Language for the ADL Toolkit , 2000 .

[10]  Robert L. Nord,et al.  Describing Software Architecture with UML , 1999, WICSA.

[11]  Bran Selic Protocols and ports: reusable inter-object behavior patterns , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[12]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[13]  J. Adámek,et al.  Enhancing Behavior Protocols , 2001 .

[14]  Daniel M. Yellin,et al.  Protocol specifications and component adaptors , 1997, TOPL.

[15]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[16]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.

[17]  Frantisek Plasil,et al.  Inheriting Synchronization Protocols via Sound Enrichment Rules , 1997, JMLC.

[18]  José M. Troya,et al.  Specification and Refinement of Dynamic Software Architectures , 1999, WICSA.

[19]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

[20]  Using WSCL in a UDDI Registry 1 . 02 UDDI Working Draft Technical Note Document May 5 , 2001 , 2001 .

[21]  Robert J. Allen A formal approach to software architecture , 1997 .

[22]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[23]  Roy H. Campbell,et al.  The specification of process synchronization by path expressions , 1974, Symposium on Operating Systems.

[24]  Jan van den Bos,et al.  A concurrent object-oriented language with protocols delegation and constraints , 2005 .

[25]  Nenad Medvidovic,et al.  Round-Trip Software Engineering Using UML: From Architecture to Design and Back , 1999 .

[26]  Bran Selic,et al.  Using UML for Modeling Complex Real-Time Systems , 1998, LCTES.

[27]  David Garlan,et al.  Reconciling the needs of architectural description with object-modeling notations , 2000, Sci. Comput. Program..

[28]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[29]  Petr Hnetynka,et al.  Managing Evolution of Component Specifications using a Federation of Repositories , 2001 .

[30]  Bernhard Rumpe,et al.  UML+ROOM as a standard ADL? , 1999, Proceedings Fifth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'99) (Cat. No.PR00434).

[31]  Dimitra Giannakopoulou,et al.  Model checking for concurrent software architectures , 1999 .

[32]  Nenad Medvidovic,et al.  Integrating architecture description languages with a standard design method , 1998, Proceedings of the 20th International Conference on Software Engineering.

[33]  R. J. vanGlabbeek The linear time - branching time spectrum , 1990 .

[34]  Frantisek Plasil,et al.  Transaction Models vers. Behavior Protocols , 2004 .

[35]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[36]  Ralf H. Reussner Enhanced component interfaces to support dynamic adaption and extension , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[37]  Peyman Oreizy Issues in the Runtime Modification of Software Architectures , 1997 .

[38]  Gert Florijn Object Protocols as Functional Parsers , 1995, ECOOP.

[39]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[40]  Richard N. Taylor,et al.  A highly-extensible, XML-based architecture description language , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[41]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[42]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[43]  Frantisek Plasil,et al.  SOFA/DCUP: architecture for component trading and dynamic updating , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[44]  Manfred Broy A Logical Basis for Modular Software and Systems Engineering , 1998, SOFSEM.

[45]  S. Krishnan,et al.  2 XLANG : Web Services for Business Process Design , 2002 .

[46]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[47]  Oscar Nierstrasz,et al.  Regular types for active objects , 1993, OOPSLA '93.