A Java Implementation of a Component Model with Explicit Symbolic Protocols

Component-Based Software Engineering (CBSE) has now emerged as a discipline for system development. An important issue is to fill the gap between high-level models (needed for analysis) and implementation. This paper describes a component model with explicit symbolic protocols based on Symbolic Transition Systems (STSs), and its implementation in Java. This implementation relies on controllers that encapsulate protocols and channels devoted to (possibly remote) communications between components.

[1]  Farhad Arbab,et al.  A Channel-based Coordination Model for Components , 2003, FOCLASA.

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

[3]  Jean-Claude Royer The GAT Approach to Specifying Mixed Systems , 2003, Informatica.

[4]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[5]  S. Griffis EDITOR , 1997, Journal of Navigation.

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

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

[8]  André Arnold,et al.  Finite transition systems , 1994 .

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

[10]  Etienne M. Gagnon,et al.  An object-oriented compiler framework , 1998 .

[11]  Ivan Kiselev,et al.  Aspect-Oriented Programming with AspectJ , 2002 .

[12]  Michel Riveill,et al.  Component-Based Programming and Application Management with Olan , 1995, OBPDC.

[13]  Mario Südholt,et al.  A Model of Components with Non-regular Protocols , 2005, SC@ETAPS.

[14]  Anna Ingólfsdóttir,et al.  A Symbolic Approach to Value-Passing Processes , 2001, Handbook of Process Algebra.

[15]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[16]  Volker Gruhn Proceedings of the joint 8th European Software Engineering Conference (ESEC) and 9th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-9) : ESEC/FSE 2001, Vienna, Austria, September 10-14, 2001 , 2001 .

[17]  Shigeru Chiba,et al.  Load-Time Structural Reflection in Java , 2000, ECOOP.

[18]  Yann-Gaël Guéhéneuc,et al.  Integrating Behavior Protocols in Enterprise Java Beans , 2002 .

[19]  Carlos Canal On the dynamic adaptation of component behaviour , 2004 .

[20]  Jean Bézivin,et al.  Proceedings of the European Conference on Object-Oriented Programming , 1987 .

[21]  André Arnold,et al.  Finite transition systems - semantics of communicating systems , 1994, Prentice Hall international series in computer science.

[22]  Marc Aiguier,et al.  A Logic with Temporal Glue for Mixed Specifications , 2004, Electron. Notes Theor. Comput. Sci..

[23]  J. Christian Attiogbé,et al.  Integration of Formal Datatypes within State Diagrams , 2003, FASE.

[24]  Jean-Claude Royer,et al.  Analysing Mailboxes of Asynchronous Communicating Components , 2003, OTM.

[25]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[26]  Jeff Magee,et al.  Composing distributed objects in CORBA , 1997, Proceedings of the Third International Symposium on Autonomous Decentralized Systems. ISADS 97.

[27]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[28]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[29]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

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

[31]  Jean-Claude Royer,et al.  From Informal Requirements to COOP: A Concurrent Automata Approach , 1999, World Congress on Formal Methods.

[32]  Jean-Marc Geib,et al.  Object-Based Parallel and Distributed Computation , 1996, Lecture Notes in Computer Science.

[33]  Elisa Bertino,et al.  ECOOP 2000 — Object-Oriented Programming , 2000, Lecture Notes in Computer Science.

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

[35]  Jean-Claude Royer,et al.  A Formal Component Model with Explicit Symbolic Protocols and its Implementation in Java , 2005 .

[36]  Savi Maharaj,et al.  A Modal Logic for Full LOTOS based on Symbolic Transition Systems , 2002, Comput. J..

[38]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

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

[40]  J. van den Bos,et al.  PROCOL - A Parallel Object Language with Protocols , 1989, OOPSLA.

[41]  Carlos Canal,et al.  Coordination and Adaptation Techniques for Software Entities , 2004, ECOOP Workshops.

[42]  Sebastián Uchitel,et al.  Model-based verification of Web service compositions , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[43]  Laurie J. Hendren,et al.  SableCC, an object-oriented compiler framework , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[44]  Jean-Claude Royer,et al.  Checking Asynchronously Communicating Components Using Symbolic Transition Systems , 2004, CoopIS/DOA/ODBASE.

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

[46]  Kenneth J. Turner,et al.  Using Formal Description Techniques: An Introduction to Estelle, Lotos, and SDL , 1993 .

[47]  Jean-Claude Royer,et al.  KORRIGAN: a Formal ADL with Full Data Types and a Temporal Glue , 2003 .

[48]  J. Bergstra,et al.  Handbook of Process Algebra , 2001 .