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.
This research was supported by the EC 5th Framework project AGILE: Architectures for Mobility (IST-2001-32747).
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Astesiano, E., Kreowski, H.-J., Krieg-Brückner, B. (eds.): Algebraic Foundations of Systems Specification. IFIP State-of-the-Art Report. Springer (1999)
Burstall, R.M., Goguen, J.A.: Institutions: Abstract model theory for specification and programming. Journ. of the ACM 39(1), 95–146 (1992)
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)
CoFI. CASL Reference Manual. (IFIP Series) of LNCS, vol. 2960. Springer, Heidelberg (2004)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
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)
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)
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
Lano, K.: Formal Object-Oriented Development. Springer, Heidelberg (1995)
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
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
Object Management Group. Unified Modeling Language, version 1.5 (2003), http://www.omg.org/cgi-bin/doc?formal/03-03-01
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)
Sannella, D., Tarlecki, A.: Specifications in an arbitrary institution. Information and Computation 76, 165–210 (1988)
Sannella, D., Tarlecki, A.: Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Informatica 25(3), 233–281 (1988)
Taylor, W.: Characterizing Malcev conditions. Algebra Universalis 3, 351–397 (1973)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zawłocki, A., Marczyński, G., Kosiuczenko, P. (2005). Property Preserving Redesign of Specifications. In: Fiadeiro, J.L., Harman, N., Roggenbach, M., Rutten, J. (eds) Algebra and Coalgebra in Computer Science. CALCO 2005. Lecture Notes in Computer Science, vol 3629. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11548133_28
Download citation
DOI: https://doi.org/10.1007/11548133_28
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28620-2
Online ISBN: 978-3-540-31876-7
eBook Packages: Computer ScienceComputer Science (R0)