Advertisement

Swinging UML How to Make Class Diagrams and State Machines Amenable to Constraint Solving and Proving

  • Peter Padawitz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1939)

Abstract

Swinging types (STs) provide a specification and verification formalism for designing software in terms of many-sorted logic. Current formalisms, be they set- or order-theoretic, algebraic or coalgebraic, ruleor net-based, handle either static system components (in terms of functions or relations) or dynamic ones (in terms of transition systems) and either structural or behavioral aspects, while STs combine equational, Horn and modal logic for the purpose of applying computation and proof rules from all three logics. UML provides a collection of object-oriented pictorial specification techniques, equipped with an informal semantics, but hardly cares about consistency, i.e. the guarantee that a specification has models and thus can be implemented. To achieve this goal and to make verification possible a formal semantics is indispensable. Swinging types have term models that are directly derived from the specifications. The paper takes first steps towards a translation of class diagrams, OCL constraints and state machines into STs. Partly, we proceed along examples, partly we describe generally how, e.g., classes can be turned into signatures. Swinging types are particularly suitable for interpreting UML models because they integrate static and dynamic components. UML treats them separately, STs handle them within the same formalism. Hence, one may check, for instance, whether static operations are correctly refined to local message passing primitives. A crucial point of a formal semantics of UML models is a reasonable notion of state. If constraints involve static data as well as states and state transitions, the modal-logic view on states as (implicit) predicates is less adequate than the ST representation as terms denoting tuples of attribute values, ”histories” of object manipulations or compositions of substates (composite states).

Keywords

State Machine Modal Logic Class Diagram Formal Semantic Object Constraint Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    E. Astesiano, H.-J. Kreowski, B. Krieg-Brückner, eds., Algebraic Foundations of Systems Specification, IFIP State-of-the-Art Report, Springer 1999 Google Scholar
  2. 2.
    E. Astesiano, G. Reggio, Algebraic Specification of Concurrency, Proc. WADT’91, Springer LNCS 655 (1993) 1–39 Google Scholar
  3. 3.
    J.C.M. Baeten, W.P. Weijland, Process Algebra, Cambridge University Press 1990 Google Scholar
  4. 4.
    M. Bidoit, R. Hennicker, Proving the Correctness of Behavioural Implementations, Proc. AMAST’ 95, Springer LNCS 936 (1995) 152–168 Google Scholar
  5. 5.
    M. Bidoit, R. Hennicker, M. Wirsing, Behavioural and Abstractor Specifications, Science of Computer Programming 25 (1995) 149–186 zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    The CoFI Task Group on Language Design, CASL: The Common Algebraic Specification Language, 1998, http://www.brics.dk/Projects/CoFI/Documents/CASL
  7. 7.
    E.F. Codd, A Relational Model for Large Shared Data Banks, Communications of the ACM 13 (1970) 377–387 zbMATHCrossRefGoogle Scholar
  8. 8.
    B. Demuth, H. Hußmann, Using UML/OCL Constraints for Relational Database Design, Proc. UML’ 99, 1999 Google Scholar
  9. 9.
    H. Ehrig, H.-J. Kreowski, B. Mahr, P. Padawitz, Algebraic Implementation of Abstract Data Types, Theoretical Computer Science 20 (1982) 209–263 zbMATHGoogle Scholar
  10. 10.
    H. Ehrig, B. Mahr, Fundamentals of Algebraic Specification 1, Springer 1985Google Scholar
  11. 11.
    M. Gogolla, M. Richters, Transformation Rules for UML Class Diagrams, Proc. UML’ 98, Springer LNCS 1618 (1998) 92–106 Google Scholar
  12. 12.
    J.A. Goguen, R. Diaconescu, An Oxford Survey of Order Sorted Algebra, Mathematical Structures in Computer Science 4 (1994) 363–392 zbMATHMathSciNetCrossRefGoogle Scholar
  13. 13.
    J.A. Goguen, G. Malcolm, A Hidden Agenda, UCSD Technical Report CS97-538, San Diego 1997, http://www-cse.ucsd.edu/users/goguen/ps/ha.ps.gz
  14. 14.
    J.A. Goguen, J.W. Thatcher, E.G. Wagner, An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types, in: R. Yeh, ed., Current Trends in Programming Methodology 4, Prentice-Hall (1978) 80–149 Google Scholar
  15. 15.
    J. Guttag, E. Horowitz, D.R. Musser Abstract Data Types and Software Validation, Report ISI/RR-76-48, University of Southern California 1976 Google Scholar
  16. 16.
    C.A.R. Hoare, Proof of Correctness of Data Representations, Acta Informatica 1 (1972) 271–281 zbMATHCrossRefGoogle Scholar
  17. 17.
    A. Hamie, F. Civello, J. Howe, S. Kent, R. Mitchell, Reflections on the Object Constraint Language, Proc. UML’ 98, 1998 Google Scholar
  18. 18.
    H. Hußmann, M. Cerioli, G. Reggio, F. Tort, Abstract Data Types and UML Models, Report DISI-TR-99-15, University of Genova 1999 Google Scholar
  19. 19.
    D. Harel, M. Politi, Modeling Reactive Systems With Statecharts: The STATEMATE Approach, McGraw-Hill 1998 Google Scholar
  20. 20.
    B. Jacobs, Behaviour-Refinement of Coalgebraic Specifications with Coinductive Correctness Proofs, Proc. TAPSOFT’ 97, Springer LNCS 1214 (1997) 787–802 Google Scholar
  21. 21.
    B. Jacobs, J. Rutten, A Tutorial on (Co)Algebras and (Co)Induction, EATCS Bulletin 62 (June 1997) 222–259 Google Scholar
  22. 22.
    J. Lilius, I.P. Paltor, The Semantics of UML State Machines, TUCS Technical Report 273, Turku Centre for Computer Science 1999 Google Scholar
  23. 23.
    G. Malcolm, J.A. Goguen, Proving Correctness of Refinement and Implementation, Technical Monograph PRG-114, Oxford University Computing Lab 1994 Google Scholar
  24. 25.
    P. Padawitz, Swinging Types = Functions + Relations + Transition Systems, Report, University of Dortmund 1998, http://ls5.cs.uni-dortmund.de/~peter/Rome.ps.gz, to appear in Theoretical Computer Science
  25. 26.
    P. Padawitz, Sample Swinging Types, Report, University of Dortmund 1998, http://ls5.cs.uni-dortmund.de/~peter/BehExa.ps.gz
  26. 27.
    P. Padawitz, Modular Swinging Types, Report, University of Dortmund 1999, http://ls5.cs.uni-dortmund.de/~peter/MST.ps.gz
  27. 28.
    P. Padawitz, Swinging Types and Coalgebras, Report, University of Dortmund 2000, http://ls5.cs.uni-dortmund.de/~peter/BehCoalg.ps.gz
  28. 29.
    H. Reichel, An Approach to Object Semantics based on Terminal Coalgebras, Math. Structures in Comp. Sci. 5 (1995) 129–152 zbMATHMathSciNetGoogle Scholar
  29. 30.
    M. Richters, M. Gogolla, On Formalizing the UML Object Constraint Language OCL, in: Proc. Conceptual Modeling-ER’ 98, Springer LNCS 1507 (1998) 449–464Google Scholar
  30. 31.
    J. Rumbaugh, I. Jacobson, G. Booch, The Unified Modeling Language Reference Manual, Addison-Wesley 1999 Google Scholar
  31. 32.
    J.J.M.M. Rutten, Universal Coalgebra: A Theory of Systems, Report CS-R9652, CWI, SMC Amsterdam 1996 Google Scholar
  32. 33.
    D. Sannella, A. Tarlecki, Toward Formal Development of Programs from Algebraic Specifications: Implementations Revisited, Acta Informatica 25 (1988) 233–281 Google Scholar
  33. 34.
    M. Wand, Specifications, Models, and Implementations of Data Abstractions, Theoretical Computer Science 20 (1982) 3–32 zbMATHCrossRefMathSciNetGoogle Scholar
  34. 35.
    J.B. Warmer, A.G. Kleppe, The Object Constraint Language, Addison-Wesley 1999 Google Scholar
  35. 36.
    M. Wirsing, Algebraic Specification, in: J. van Leeuwen, ed., Handbook of Theoretical Computer Science, Elsevier (1990) 675–788Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Peter Padawitz
    • 1
  1. 1.University of DortmundUSA

Personalised recommendations