Advertisement

Property Preserving Redesign of Specifications

  • Artur Zawłocki
  • Grzegorz Marczyński
  • Piotr Kosiuczenko
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3629)

Abstract

In the traditional formal approach to system specification and implementation, the software development process consists of a number of refinement steps which transform the initial specification into its correct realisation. This idealised view can hardly capture common situations when a specification changes in a non-incremental way. An extra flexibility can be added to the development process by allowing for a redesign of specifications, in addition to refinement steps. In this paper, the notion of specification redesign is formalised for an arbitrary institution. Basic properties of redesign are investigated and the formalism is applied to provide a formal semantics for UML class diagram transformations. As examples, two refactoring patterns are described in terms of class diagrams and interpreted as redesigns of corresponding algebraic specifications.

Keywords

Class Diagram Graph Transformation Software Development Process Interpretation Function Operation Symbol 
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. [ACZ99]
    Ancona, D., Cerioli, M., Zucca, E.: A formal framework with late binding. In: Finance, J.-P. (ed.) FASE 1999. LNCS, vol. 1577, pp. 30–44. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  2. [AKKB99]
    Astesiano, E., Kreowski, H.-J., Krieg-Brückner, B. (eds.): Algebraic Foundations of Systems Specification. IFIP State-of-the-Art Report. Springer (1999)Google Scholar
  3. [BG92]
    Burstall, R.M., Goguen, J.A.: Institutions: Abstract model theory for specification and programming. Journ. of the ACM 39(1), 95–146 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  4. [BHTW99]
    Bidoit, M., Hennicker, R., Tort, F., Wirsing, M.: Correct realization of interface constraints with OCL. In: France, R.B., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 399–415. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  5. [CoF04]
    CoFI. CASL Reference Manual. (IFIP Series) of LNCS, vol. 2960. Springer, Heidelberg (2004)Google Scholar
  6. [Fow99]
    Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)Google Scholar
  7. [GHJV95]
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  8. [GRPPS98]
    Große-Rhode, M., Parisi-Presicce, F., Simeoni, M.: Refinements and modules for typed graph transformation systems. In: Fiadeiro, J.L. (ed.) WADT 1998. LNCS, vol. 1589, pp. 138–151. Springer, Heidelberg (1999)Google Scholar
  9. [Kos01]
    Kosiuczenko, P.: Formal redesign of UML class diagrams. In: Evans, A., France, R., Moreira, A., Rumpe, B. (eds.) Practical UML-Based Rigorous Development Methods - Countering or Integrating the eXtremists. LNI, vol. P-7, pp. 174–190. German Informatics Society (2001)Google Scholar
  10. [Kos05]
    Kosiuczenko, P.: Redesign of UML class diagrams. Technical Report CS-05-01, University of Leicester, Department of Computer Science (2005), http://www.cs.le.ac.uk/people/pk82/RedesignTR.pdf
  11. [Lan95]
    Lano, K.: Formal Object-Oriented Development. Springer, Heidelberg (1995)Google Scholar
  12. [Mar04]
    Marczyński, G.: Specifications of internally dependent structures. Technical report, Warsaw University, Institute of Informatics. In: preparation (2004), http://www.mimuw.edu.pl/~gmarc/papers/specidp04.pdf
  13. [MCG05]
    Mens, T., Czarnecki, K., Van Gorp, P.: A taxonomy of model transformations. In: Bezivin, J., Heckel, R. (eds.) Language Engineering for Model-Driven Software Development, IBFI, Schloss Dagstuhl, Germany. Dagstuhl Seminar Proceedings, vol. 04101 (2005), http://drops.dagstuhl.de/opus/volltexte/2005/11
  14. [Obj03]
    Object Management Group. Unified Modeling Language, version 1.5 (2003), http://www.omg.org/cgi-bin/doc?formal/03-03-01
  15. [ONS96]
    Orejas, F., Navarro, M., Sánchez, A.: Algebraic implementation of abstract data types: a survey of concepts and new compositionality results. Mathematical Structures in Computer Science 6(1), 33–67 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  16. [ST88a]
    Sannella, D., Tarlecki, A.: Specifications in an arbitrary institution. Information and Computation 76, 165–210 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  17. [ST88b]
    Sannella, D., Tarlecki, A.: Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Informatica 25(3), 233–281 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  18. [Tay73]
    Taylor, W.: Characterizing Malcev conditions. Algebra Universalis 3, 351–397 (1973)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Artur Zawłocki
    • 1
  • Grzegorz Marczyński
    • 1
  • Piotr Kosiuczenko
    • 2
  1. 1.Institute of InformaticsWarsaw University 
  2. 2.Department of Computer ScienceUniversity of Leicester 

Personalised recommendations