Advertisement

Simplifying Transformations of OCL Constraints

  • Martin Giese
  • Daniel Larsson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3713)

Abstract

With the advent of Model Driven Architecture, OCL constraints are no longer necessarily written by humans. They can be part of models that emerge from a chain of transformations. They might be the result of instantiating templates, of combining prefabricated parts, or of more general computation. Such generated specifications will often contain redundancies that reduce their readability. In this paper, we explore the possibilities of transforming OCL formulae to a simpler form through the repeated application of simple rules. We discuss the different kinds of rules that are needed, and we describe a prototypical implementation of the approach.

Keywords

Design Pattern Object Constraint Language Case Tool Observer Pattern Rule Engine 
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.
    Ahrendt, W., Baar, T., Beckert, B., Bubel, R., Giese, M., Hähnle, R., Menzel, W., Mostowski, W., Roth, A., Schlager, S., Schmitt, P.H.: The KeY tool. Software and Systems Modeling 4(1) (2005)Google Scholar
  2. 2.
    Baar, T., Hähnle, R., Sattler, T., Schmitt, P.H.: Entwurfsmustergesteuerte Erzeugung von OCL-Constraints. In: Mehlhorn, K., Snelting, G. (eds.) Informatik 2000, 30. Jahrestagung der Gesellschaft für Infomatik, September 2000, pp. 389–404. Springer, Heidelberg (2000)Google Scholar
  3. 3.
    Beckert, B., Giese, M., Habermalz, E., Hähnle, R., Roth, A., Rümmer, P., Schlager, S.: Taclets: A new paradigm for constructing interactive theorem provers. Revista de la Real Academia de Ciencias Exactas, Físicas y Naturales, Serie A: Matemáticas (RACSAM) 98(1), 17–53 (2004), Special Issue on Symbolic Computation in Logic and Artificial IntelligencezbMATHGoogle Scholar
  4. 4.
    Dershowitz, N., Plaisted, D.A.: Rewriting. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning. ch. 9, vol. I, pp. 535–610. Elsevier Science, Amsterdam (2001)CrossRefGoogle Scholar
  5. 5.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  6. 6.
    Giese, M., Hähnle, R., Larsson, D.: Rule-based simplification of OCL constraints. In: Patrascoiu, O., et al. (eds.) Workshop on OCL and Model Driven Engineering at UML 2004, Lisbon, pp. 84–98 (2004)Google Scholar
  7. 7.
    Giese, M., Heldal, R.: From informal to formal specifications in UML. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, pp. 197–211. Springer, Heidelberg (2004)Google Scholar
  8. 8.
    Hähnle, R., Johannisson, K., Ranta, A.: An authoring tool for informal and formal requirements specifications. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 233–248. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    Johannisson, K.: Disambiguating implicit constructions in OCL. In: Workshop on OCL and Model Driven Engineering at UML 2004, Lisbon (2004)Google Scholar
  10. 10.
    Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice-Hall, Englewood Cliffs (1993)zbMATHGoogle Scholar
  11. 11.
    Nipkow, T., Prehofer, C.: Higher-order rewriting and equational reasoning. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction — A Basis for Applications. Foundations, Applied Logic Series, vol. I(8), pp. 399–430. Kluwer, Dordrecht (1998)Google Scholar
  12. 12.
    Warmer, J., Kleppe, A.: The Object Constraint Language. In: Object Technology, 2nd edn., Addison-Wesley, Reading (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Martin Giese
    • 1
  • Daniel Larsson
    • 2
  1. 1.Johann Radon Institute for Computational and Applied MathematicsLinzAustria
  2. 2.Department of Computer Science and EngineeringChalmers University of TechnologyGothenburgSweden

Personalised recommendations