Advertisement

Construction of Consistent Models in Model-Driven Software Development

  • Gabriele Taentzer
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 8)

Abstract

Model-driven software development is considered as a promising paradigm in software engineering. Models are ideal means for abstraction and can enable developers to master the increasing complexity of software systems. However, it is not easy to construct consistent models. Inconsistent models are usually the source for erroneous code which cannot be compiled or, if compiled, lead to malfunctioning applications. Developers have little help in producing consistent models, i.e. they are often not well informed by adequate error messages. Starting with a consistent initial model, we follow the idea to identify designated model development steps between consistent models only. These development steps are defined as model transformations. Recurring modeling patterns are identified and formalized as transformation rules. As essential contribution, a construction approach for consistent models in model-driven development is deduced and specified on the basis of graph transformation concepts. Using this approach, developers can be guided in the modeling process such that consistent models are developed only.

Keywords

model-driven software development UML Eclipse model transformation graph transformation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Eclipse Graphical Modeling Framework (2007), http://www.eclipse.org/gmf
  2. 2.
    Eclipse Modeling Framework (2007), http://www.eclipse.org/emf
  3. 3.
    Graph Transformation Environment AGG (2007), http://tfs.cs.tu-berlin.de/agg/
  4. 4.
    Java platform, enterprise edition (2007), http://java.sun.com/javaee
  5. 5.
    Spring framework (2007), http://www.springframework.org
  6. 6.
    AndroMDA (2007), http://www.andromda.org
  7. 7.
    Batory, D.S.: Program Refactoring, Program Synthesis, and Model-Driven Development. In: Krishnamurthi, S., Odersky, M. (eds.) CC 2007. LNCS, vol. 4420, pp. 156–171. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Bauer, C., King, G.: Java Persistence with Hibernate. In: Manning Publications (2006)Google Scholar
  9. 9.
    Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading (2000)Google Scholar
  10. 10.
    Bezivin, J.: In search of a basic principle for model driven engineering. In: UPGRADE, Novatica, vol. 2 (2004) (special issue on UML and Model Engineering)Google Scholar
  11. 11.
    Weiss, E.: Graphical Definition of In-Place Transformations in the Eclipse Modeling Framework. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 425–439. Springer, Heidelberg (2006)Google Scholar
  12. 12.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. In: EATCS Monographs in TCS, Springer, Heidelberg (2006)Google Scholar
  13. 13.
    Goedicke, M., Enders, B., Meyer, T., Taentzer, G.: ViewPoint-Oriented Software Development: Tool Support for Integrating Multiple Perspectives by Distributed Graph Transformation. In: Schwartzbach, M.I., Graf, S. (eds.) ETAPS 2000 and TACAS 2000. LNCS, vol. 1785, pp. 43–47. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  14. 14.
    Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley, Reading (1999)Google Scholar
  15. 15.
    König, A., Schürr, A.: Tool Integration with Triple Graph Grammars - A Survey. In: Heckel, R. (ed.) Proceedings of the SegraVis School on Foundations of Visual Modelling Techniques. Electronic Notes in Theoretical Computer Science, vol. 148, pp. 113–150. Elsevier Science Publ. Amsterdam (2006)Google Scholar
  16. 16.
    Mens, T., Taentzer, G., Müller, D.: Model-driven software refactoring. In: Rech, J., Bunse, C. (eds.) Model-Driven Software Development: Integrating Quality Assurance, Idea Group Inc. (to appear, 2008)Google Scholar
  17. 17.
    Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Transactions on Software Engineering 30(2), 126–139 (2004), http://w3.umh.ac.be/~infofs/preprints/index.php?page=paper_info&ID=27 CrossRefGoogle Scholar
  18. 18.
    Porres, I.: Model Refactorings as Rule-Based Update Transformations. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 159–174. Springer, Heidelberg (2003)Google Scholar
  19. 19.
    Stahl, T., Völter, M.: Model-Driven Software Development. Wiley, Chichester (2006)Google Scholar
  20. 20.
    Stürmer, I., Dörr, H., Giese, H., Kelter, U., Schürr, A., Zündorf, A.: Das MATE Projekt - visuelle Spezifikation von MATLAB Simulink/Stateflow Analysen und Transformationen. In: Conrad, M., Giese, H., Rumpe, B., Schätz, B. (eds.) Tagungsband des Dagstuhl-Workshops: Modellbasierte Entwicklung eingebetteter Systeme, vol. 2007-01, Informatik-Bericht der TU Braunschweig (2007)Google Scholar
  21. 21.
    Sunye, G., Pollet, D., Le Traon, Y., Jezequel, J.M.: Refactoring UML models. The Unified Modeling Language, pp. 134–148 (2001), www.irisa.fr/triskell/publis/2001/Sunye01b.pdf
  22. 22.
    Taentzer, G., Toffetti Carughi, G.: A Graph-Based Approach to Transform XML Documents. In: Baresi, L., Heckel, R. (eds.) FASE 2006 and ETAPS 2006. LNCS, vol. 3922, pp. 48–62. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  23. 23.
    MOF 2.0 / XMI Mapping Specification (2007), http://www.omg.org/technology/documents/formal/xmi.htm
  24. 24.
    XSL Transformations (XSLT) Version 2.0 (2007), http://www.w3.org/TR/xslt20/

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Gabriele Taentzer
    • 1
  1. 1.Philipps-Universität MarburgGermany

Personalised recommendations