Counter-Constrained Finite State Machines: A New Model for Component Protocols with Resource-Dependencies

This paper deals with the specification of software component protocols (i. e., the set of service call sequences). The contribution of this paper is twofold: (a) We discuss specific requirements of real-world protocols, especially in the presence of components which make use of limited resources. (b) We define counter-constrained finite state machines, a novel extension of finite state machines, specifically created to model protocols containing dependencies between services due to their access to shared resources. Opposed to other approaches like classical finite state machines, this newmo del combines two valuable properties: (a) it is powerful enough to model realistic component protocols with resource allocation, -usage, and -deallocation dependencies between methods (as occurring in common abstract data-types such as stacks or queues) and (b) allows efficient checking of interoperability and substitutability.

[1]  Edward F. Moore,et al.  Gedanken-Experiments on Sequential Machines , 1956 .

[2]  Friedrich L. Bauer,et al.  The Cellar Principle of State Transition and Storage Allocation , 1990, Annals of the History of Computing.

[3]  Ralf H. Reussner,et al.  Generating Adapters for Concurrent Component Protocol Synchronisation , 2002, FMOODS.

[4]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[5]  David A. Huffman,et al.  The synthesis of sequential switching circuits , 1954 .

[6]  Ken Higuchi,et al.  A Polynomial-Time Algorithm for Checking the Inclusion for Real-Time Deterministic Restricted One-Counter Automata Which Accept by Accept Mode , 1998 .

[7]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[8]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

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

[10]  Antonio Vallecillo,et al.  Object Interoperability , 1999, ECOOP Workshops.

[11]  Frantisek Plasil,et al.  Bounding component behavior via protocols , 1999, Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278).

[12]  MeyerBertrand,et al.  Design by Contract , 1997 .

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

[14]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[15]  Kees M. van Hee,et al.  Component-based software architectures: a framework based on inheritance of behavior , 2002, Sci. Comput. Program..

[16]  Arto Salomaa,et al.  Formal languages , 1973, Computer science classics.

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

[18]  Antonio Brogi,et al.  Dynamically Adapting the Behaviour of Software Components , 2002, COORDINATION.

[19]  S C Kleene,et al.  Representation of Events in Nerve Nets and Finite Automata , 1951 .

[20]  Jun Han,et al.  Temporal Logic Based Specifications of Component Interaction Protocols , 2000 .

[21]  Leslie G. Valiant,et al.  Decision procedures for families of deterministic pushdown automata , 1973 .

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

[23]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

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

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

[26]  Bernd J. Krämer,et al.  Synchronization Constraints in Object Interfaces , 1998 .

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

[28]  C. A. Petri Fundamentals of a Theory of Asynchronous Information Flow , 1962, IFIP Congress.

[29]  E. F. Moore Sequential Machines: Selected Papers , 1964 .

[30]  Mike P. Papazoglou,et al.  Information Systems Interoperability , 1998 .

[31]  Marvin Minsky,et al.  Computation : finite and infinite machines , 2016 .

[32]  Leslie G. Valiant,et al.  Regularity and Related Problems for Deterministic Pushdown Automata , 1975, JACM.

[33]  Bernd J. Krämer,et al.  Modeling interface definition language extensions , 2000, Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000.

[34]  W. Richard Stevens,et al.  TCP/IP Illustrated, Volume 1: The Protocols , 1994 .

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

[36]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[37]  John E. Hopcroft,et al.  An n log n algorithm for minimizing states in a finite automaton , 1971 .

[38]  Jeannette M. Wing,et al.  Specification matching of software components , 1997 .