Abstract
Specification diagrams (SD's) are a novel form of graphical notation for specifying open distributed object systems. The design goal is to define notation for specifying message-passing behavior that is expressive, intuitively understandable, and that has formal semantic underpinnings. The notation generalizes informal notations such as UML's Sequence Diagrams and broadens their applicability to later in the design cycle. Specification diagrams differ from existing actor and process algebra presentations in that they are not executable per se; instead, like logics, they are inherently more biased toward specification. In this paper we rigorously define the language syntax and semantics and give examples that show the expressiveness of the language, how properties of specifications may be asserted diagrammatically, and how it is possible to reason rigorously and modularly about specification diagrams.
Similar content being viewed by others
References
Abadi, M. and Lamport, L. The existence of refinement mappings. Theor. Comput. Sci., 82(2) (1991) 253–284.
Agha, G. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA, 1986.
Agha, G., Mason, I.A., Smith, S.F., and Talcott, C.L. A foundation for actor computation. Journal of Functional Programming, 7 (1997) 1–72.
Allwein, G. and Barwise, J. (Eds.). Logical Reasoning With Diagrams. Oxford University Press, Oxford, 1996.
Attardi, G. and Hewitt, C. Specifying and proving properites of guardians for distributed systems, 1978.
Back, R.J.R. Refinement calculus II: Parallel and reactive systems. In Stepwise Refinement of Distributed Systems, J.W. de Bakker, W.P. de Roever, and G. Rozenberg (Eds.), vol. 430 of Lecture Notes in Computer Science. Springer-Verlag, 1990.
Back, R.J.R. and Sere, K. Stepwise refinement of parallel algorithms. Science of Computer Programming, 13 (1989) 133–180.
Baker, H.G. and Hewitt, C. Laws for communicating parallel processes. In IFIP Congress, IFIP, Aug. 1977, pp. 987–992.
Bardohl, R. Genged-a generic graphical editor for visual languages. In 1998 IEEE Symposium on Visual Languages, Sept. 1998.
Bolognesi, T. and Brinksma, E. Introduction to the ISO specification language LOTOS. Computer Networks and ISDN Systems, 14 (1987) 25–59.
Breu, R., Hinkel, U., Hofmann, C., Klein, C., Paech, B., Rumpe, B., and Thurner, V. Towards a formalization of the unified modeling language. In ECOOP '97, vol. 1241 of Lecture Notes in Computer Science, Springer-Verlag, 1997, pp. 344–365.
Clinger, W.D. Foundations of Actor Semantics. PhD thesis, MIT, 1981. MIT Artificial Intelligence Laboratory AI-TR-633.
R.S. Corporation. UML Notation Guide, version 1.1. Sept. 1997. Obtained From http://www. rational.com.
Denker, G. DTL+: A Distributed Temporal Logic Supporting Several Communication Principles. Technical Report, SRI International, Computer Science Laboratory, 333 Ravenswood Ave, Menlo Park, CA 94025, 1998. To appear.
Dijkstra, E. and Scholten, C. Predicate Calculus and Program Semantics, vol. 14 of Texts and Monographs in Computer Science. Springer-Verlag, 1990.
Duarte, C.H.C. A proof-theoretic approach to the design of object-based mobility. In Formal Methods for Open Object-Based Distributed Systems, H. Bowman and J. Derrick (Eds.), Chapman & Hall, 1997, Vol. 2, pp. 37–53.
Ellsberger, J., Hogrefe, D., and Sarma, A. SDL-Formal Object-Oriented Language for Communication Systems. Prentice Hall, 1997.
Eschbach, R., Glässer, U., Gotzhein, R., and Prinz, A. On the formal semantics of sdl-2000: A compilation approach based on an abstract sdl machine. In InternationalWorkshop on Abstract State Machines (ASM'2000), vol. 1912 of Lecture Notes in Computer Science, Springer-Verlag, 2000.
Felleisen, M. and Friedman, D.P. A syntactic theory of sequential state. Theoretical Computer Science, 69 (1989) 243–287.
Frølund, S. Coordinated Distributed Objects: An Actor Based Approach to Synchronization. MIT Press, 1996.
Greif, I. Semantics of communicating parallel processes. Technical Report 154, MIT, Project MAC, 1975.
Gunter, E., Muscholl, A., and Peled, D. Compositional message sequence charts. In Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'01), T. Margaria and W. Yi (Eds.), vol. 2031 of Lecture Notes in Computer Science, Springer, Apr. 2001, pp. 496–511.
Harel, D. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3) (1987) 231–274.
Hewitt, C. Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence, 8(3) (1977) 323–364.
Hewitt, C., Bishop, P., and Steiger, R. A universal modular actor formalism for artificial intelligence. In Proceedings of 1973 International Joint Conference on Artificial Intelligence, Aug. 1973, pp. 235–245.
Hoare, C.A.R. Communicating Sequential Processes. Prentice-Hall, 1985.
Message Sequence Chart (MSC). ITU-T Recommendation Z.120, International Telecommunications Union, Nov. 1996.
ITU-T. Revised Recommendation Z. 100 Specification and Description Language (SDL), May 1994. Addendum 1996.
Lamport, L. The temporal logic of actions. ACM TOPLAS, 16(3) (1994) 872–923.
Manna, Z. and Pnueli, A. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer Verlag, 1992.
Mason, I.A. and Talcott, C.L. Actor languages: Their syntax, semantics, translation, and equivalence. Theoretical Computer Science, 220 (1999) 409–467.
Milner, R. A Calculus of Communicating Systems, vol. 92 of Lecture Notes in Computer Science. Springer Verlag, 1980.
Milner, R. Communicating and Mobile Systems: The π-Calculus. Cambridge University Press, May 1999.
Nelson, G. A generalization of dijkstra's calculus. TOPLAS, 11 (1987) 517–561.
Roscoe, A. The Theory and Practice of Concurrency. Prentice-Hall, 1998.
Rumbaugh, J., Jacobson, I., and Booch, G. Unified Modeling Language Reference Manual. Addison-Wesley, 1998.
Saraswat, V.A. Concurrent Constraint Programming. ACM Doctoral Dissertation Awards: Logic Programming. The MIT Press, Cambridge, MA, 1993.
Smith, S. On specification diagrams for actor systems. In Proceedings of the Second Workshop on Higher-Order Techniques in Semantics, C.T.A. Gordon and A. Pitts (Eds.), Electronic Notes in Theoretical Computer Science. Elsevier, 1998. http://www.elsevier.nl/locate/entcs/volume10.html.
Smith, S. and Talcott, C. Specification diagrams for actor systems. In Formal Methods in Object-Oriented Distributed Systems (FMOODS). Kluwer Academic Publishers, 1999.
Talcott, C.L. Interaction semantics for components of distributed systems. In 1st IFIP Workshop on Formal Methods for Open Object-Based Distributed Systems, FMOODS'96, E. Najm and J.-B. Stefani (Eds.), 1996. Proceedings published in 1997 by Chapman & Hall.
Talcott, C.L. Composable semantic models for actor theories. Higher-Order and Symbolic Computation, 11(3) (1998) 281–343.
Talcott, C.L. Actor theories in rewriting logic, 1999. submitted for publication.
Wirsing, M. Algebraic specification. In Handbook of Theoretical Computer Science, J. van Leeuwen (Ed.), North-Holland, Amsterdam, 1990, Vol. B, pp. 675–788.
Wirsing, M. and Knapp, A. A formal approach to object oriented software engineering. In Proc. 1st Intl. Workshop on Rewriting Logic and Its Applications, J. Meseguer (Ed.), number 4 in Electronic Notes in Theoretical Computer Science, Elsevier, 1996. URL: http://www.elsevier.nl/locate/entcs/ volume4.html.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Smith, S.F., Talcott, C.L. Specification Diagrams for Actor Systems. Higher-Order and Symbolic Computation 15, 301–348 (2002). https://doi.org/10.1023/A:1022934504959
Issue Date:
DOI: https://doi.org/10.1023/A:1022934504959