An Interactive Viewpoint on the Role of UML

The role of the Unified Modeling Language (UML) is to model interactive systems, whose behaviors emerge from the interaction of their components with each other and with the environment. Unlike traditional (algorithmic) computation, interactive computation involves infinite and dynamic (late binding) input/output streams. Algorithmic tools and models do not suffice to express the behavior of today’s interactive systems, which are capable of self-reconfiguring and adapting to their environment. Whereas procedural languages may express precise designs of closed processes, UML provides support for the inherently open-ended preliminary steps of system analysis and specification, which are becoming increasingly complex. Interactive systems require dynamic models where interaction has first-class status, and where the environment is modeled explicitly, as actors whose roles constrain the input patterns. UML’s interaction-based approach to system modeling fits well with the encapsulation-based OO approach to implementation. By coupling these approaches, the software engineering process can provide a complete solution to system design and implementation. A theoretical framework for modeling interactive computing can strengthen the foundations of UML and guide its evolution.

[1]  Robin Milner,et al.  Operational and Algebraic Semantics of Concurrent Processes , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[2]  Peter Wegner,et al.  Why interaction is more powerful than algorithms , 1997, CACM.

[3]  B. Jacobs,et al.  A tutorial on (co)algebras and (co)induction , 1997 .

[4]  Dina Q. Goldin Persistent Turing Machines as a Model of Interactive Computation , 2000, FoIKS.

[5]  Ivar Jacobson,et al.  The object advantage - business process reengineering with object technology , 1994 .

[6]  Peter Wegner,et al.  Interaction as a Framework for Modeling , 1997, Conceptual Modeling.

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

[8]  Paul Reed The unified modeling language takes shape , 1998 .

[9]  Hendrik Pieter Barendregt,et al.  Functional Programming and Lambda Calculus , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[10]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[11]  Geri Schneider,et al.  Applying Use Cases: A Practical Guide , 1998 .

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

[13]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[14]  Peter Wegner,et al.  Coinductive Models of Finite Computing Agents , 1999, CMCS.

[15]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[16]  Butler W. Lampson,et al.  Atomic Transactions , 1980, Advanced Course: Distributed Systems.

[17]  Carl A. Gunter,et al.  In handbook of theoretical computer science , 1990 .

[18]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[19]  Kendall Scott,et al.  UML distilled - applying the standard object modeling language , 1997 .

[20]  Bernhard Rumpe,et al.  The UML as a formal modeling notation , 1998, Comput. Stand. Interfaces.

[21]  Robin Milner,et al.  Processes: A Mathematical Model of Computing Agents , 1975 .

[22]  A Standardization Odyssey , 1999 .

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

[24]  Putnam P. Texel,et al.  Use Cases Combined With Booch/Omt/Uml: Process and Products , 1997 .

[25]  Bernhard Rumpe,et al.  The UML as a formal modeling notation , 1998, Comput. Stand. Interfaces.

[26]  Gerhard Goos,et al.  Computer Science Today: Recent Trends and Developments , 1995 .

[27]  Peter Wegner,et al.  Interactive , 2021, Encyclopedia of the UN Sustainable Development Goals.

[28]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[30]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[31]  Vaughan R. Pratt,et al.  Chu Spaces and Their Interpretation as Concurrent Objects , 1995, Computer Science Today.

[32]  A. Moore,et al.  REAL-TIME EXTENSIONS TO UML , 1998 .

[33]  Peter Wegner,et al.  Interactive Software Technology , 1997, The Computer Science and Engineering Handbook.

[34]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[35]  David Maier,et al.  Readings in Object-Oriented Database Systems , 1989 .