Behaviour Protection in Modular Rule-Based System Specifications

  • Francisco Durán
  • Fernando Orejas
  • Steffen Zschaler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7841)

Abstract

Model-driven engineering (MDE) and, in particular, the notion of domain-specific modelling languages (DSMLs) is an increasingly popular approach to systems development. DSMLs are particularly interesting because they allow encoding domain-knowledge into a modelling language and enable full code generation and analysis based on high-level models. However, as a result of the domain-specificity of DSMLs, there is a need for many such languages. This means that their use only becomes economically viable if the development of new DSMLs can be made efficient. One way to achieve this is by reusing functionality across DSMLs. On this background, we are working on techniques for modularising DSMLs into reusable units. Specifically, we focus on DSMLs whose semantics are defined through in-place model transformations. In this paper, we present a formal framework of morphisms between graph-transformation systems (GTSs) that allow us to define a novel technique for conservative extensions of such DSMLs. In particular, we define different behaviour-aware GTS morphisms and prove that they can be used to define conservative extensions of a GTS.

References

  1. 1.
    Boehm, P., Fonio, H.-R., Habel, A.: Amalgamation of graph transformations with applications to synchronization. In: Ehrig, H., Floyd, C., Nivat, M., Thatcher, J. (eds.) CAAP 1985 and TAPSOFT 1985. LNCS, vol. 185, pp. 267–283. Springer, Heidelberg (1985)CrossRefGoogle Scholar
  2. 2.
    Chen, K., Sztipanovits, J., Abdelwalhed, S., Jackson, E.: Semantic anchoring with model transformations. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA 2005. LNCS, vol. 3748, pp. 115–129. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Clarke, S., Walker, R.J.: Generic aspect-oriented design with Theme/UML. In: Aspect-Oriented Software Development, pp. 425–458. Addison-Wesley (2005)Google Scholar
  4. 4.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude. LNCS, vol. 4350. Springer, Heidelberg (2007)Google Scholar
  5. 5.
    Corradini, A., Ehrig, H., Löwe, M., Montanari, U., Padberg, J.: The category of typed graph grammars and its adjunctions with categories of derivations. In: Cuny, et al. (eds.) [6], pp. 56–74Google Scholar
  6. 6.
    Cuny, J., Ehrig, H., Engels, G., Rozenberg, G.: Graph Grammars 1994. LNCS, vol. 1073. Springer, Heidelberg (1996)MATHCrossRefGoogle Scholar
  7. 7.
    van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: An annotated bibliography. SIGPLAN Not. 35(6), 26–36 (2000)CrossRefGoogle Scholar
  8. 8.
    Di Ruscio, D., Jouault, F., Kurtev, I., Bézivin, J., Pierantonio, A.: Extending AMMA for supporting dynamic semantics specifications of DSLs. Tech. Rep. 06.02, Laboratoire d’Informatique de Nantes-Atlantique (LINA) (April 2006)Google Scholar
  9. 9.
    Durán, F., Zschaler, S., Troya, J.: On the reusable specification of non-functional properties in DSLs. In: Czarnecki, K., Hedin, G. (eds.) SLE 2012. LNCS, vol. 7745, pp. 332–351. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  10. 10.
    Ehrig, H.: Introduction to the algebraic theory of graph grammars (a survey). In: Claus, V., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1978. LNCS, vol. 73, pp. 1–69. Springer, Heidelberg (1979)CrossRefGoogle Scholar
  11. 11.
    Ehrig, H., Ehrig, K., Habel, A., Pennemann, K.H.: Theory of constraints and application conditions: From graphs to high-level structures. Fundamenta Informaticae 74(1), 135–166 (2006)MathSciNetMATHGoogle Scholar
  12. 12.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer (2005)Google Scholar
  13. 13.
    Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds.): Handbook of Graph Grammars and Computing by Graph Transformation. Applications, Languages and Tools, vol. II. World Scientific (1999)Google Scholar
  14. 14.
    Ehrig, H., Habel, A., Padberg, J., Prange, U.: Adhesive high-level replacement categories and systems. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 144–160. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  15. 15.
    Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification 2. Module Specifications and Constraints. Springer (1990)Google Scholar
  16. 16.
    Ehrig, H., Prange, U., Taentzer, G.: Fundamental theory for typed attributed graph transformation. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 161–177. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Engels, G., Hausmann, J.H., Heckel, R., Sauer, S.: Dynamic meta modeling: A graphical approach to the operational semantics of behavioral diagrams in UML. In: Evans, A., Caskurlu, B., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 323–337. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  18. 18.
    Engels, G., Heckel, R., Cherchago, A.: Flexible interconnection of graph transformation modules. In: Kreowski, H.-J., Montanari, U., Orejas, F., Rozenberg, G., Taentzer, G. (eds.) Formal Methods in Software and Systems Modeling. LNCS, vol. 3393, pp. 38–63. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Engels, G., Heckel, R., Taentzer, G., Ehrig, H.: A combined reference model- and view-based approach to system specification. International Journal of Software Engineering and Knowledge Engineering 7(4), 457–477 (1997)CrossRefGoogle Scholar
  20. 20.
    Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: A new graph rewrite language based on the unified modeling language and java. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 296–309. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  21. 21.
    Große-Rhode, M., Parisi-Presicce, F., Simeoni, M.: Spatial and temporal refinement of typed graph transformation systems. In: Brim, L., Gruska, J., Zlatuška, J. (eds.) MFCS 1998. LNCS, vol. 1450, pp. 553–561. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  22. 22.
    Große-Rhode, M., Parisi-Presicce, F., Simeoni, M.: Formal software specification with refinements and modules of typed graph transformation systems. Journal of Computer and System Sciences 64(2), 171–218 (2002)MathSciNetMATHCrossRefGoogle Scholar
  23. 23.
    Habel, A., Pennemann, K.H.: Correctness of high-level transformation systems relative to nested conditions. Mathematical Structures in Computer Science 19(2), 245–296 (2009)MathSciNetMATHCrossRefGoogle Scholar
  24. 24.
    Heckel, R., Cherchago, A.: Structural and behavioural compatibility of graphical service specifications. Journal of Logic and Algebraic Programming 70(1), 15–33 (2007)MathSciNetMATHCrossRefGoogle Scholar
  25. 25.
    Heckel, R., Corradini, A., Ehrig, H., Löwe, M.: Horizontal and vertical structuring of typed graph transformation systems. Mathematical Structures in Computer Science 6(6), 613–648 (1996)MathSciNetMATHGoogle Scholar
  26. 26.
    Heckel, R., Engels, G., Ehrig, H., Taentzer, G.: Classification and comparison of modularity concepts for graph transformation systems. In: Ehrig, et al. (eds.) [13], ch. 17, pp. 669–690Google Scholar
  27. 27.
    Hemel, Z., Kats, L.C.L., Groenewegen, D.M., Visser, E.: Code generation by model transformation: A case study in transformation modularity. Software and Systems Modelling 9(3), 375–402 (2010)CrossRefGoogle Scholar
  28. 28.
    Katz, S.: Aspect categories and classes of temporal properties. In: Rashid, A., Aksit, M. (eds.) Transactions on AOSD I. LNCS, vol. 3880, pp. 106–134. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  29. 29.
    Klein, J., Kienzle, J.: Reusable aspect models. In: Aspect-Oriented Modeling Workshop at MODELS 2007 (2007)Google Scholar
  30. 30.
    Klein, J., Hélouët, L., Jézéquel, J.M.: Semantic-based weaving of scenarios. In: Proc. 5th Int’l Conf. Aspect-Oriented Software Development (AOSD 2006). ACM (2006)Google Scholar
  31. 31.
    Kreowski, H., Kuske, S.: Graph transformation units and modules. In: Ehrig, et al. (eds.) [13], ch. 15, pp. 607–638Google Scholar
  32. 32.
    Lack, S., Sobociński, P.: Adhesive categories. In: Walukiewicz, I. (ed.) FOSSACS 2004. LNCS, vol. 2987, pp. 273–288. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  33. 33.
    de Lara, J., Vangheluwe, H.: Automating the transformation-based analysis of visual languages. Formal Aspects of Computing 22(3-4), 297–326 (2010)MATHCrossRefGoogle Scholar
  34. 34.
    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  35. 35.
    Parisi-Presicce, F.: Transformations of graph grammars. In: Cuny, et al. (eds.) [6], pp. 428–442Google Scholar
  36. 36.
    Rivera, J.E., Durán, F., Vallecillo, A.: Formal specification and analysis of domain specific models using Maude. Simulation 85(11-12), 778–792 (2009)CrossRefGoogle Scholar
  37. 37.
    Rivera, J.E., Guerra, E., de Lara, J., Vallecillo, A.: Analyzing rule-based behavioral semantics of visual modeling languages with Maude. In: Gašević, D., Lämmel, R., Van Wyk, E. (eds.) SLE 2008. LNCS, vol. 5452, pp. 54–73. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  38. 38.
    Rivera, J.E., Durán, F., Vallecillo, A.: A graphical approach for modeling time-dependent behavior of DSLs. In: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2009, pp. 51–55. IEEE (2009)Google Scholar
  39. 39.
    Rivera, J.E., Durán, F., Vallecillo, A.: On the behavioral semantics of real-time domain specific visual languages. In: Ölveczky, P.C. (ed.) WRLA 2010. LNCS, vol. 6381, pp. 174–190. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  40. 40.
    Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations. Foundations, vol. I. World Scientific (1997)Google Scholar
  41. 41.
    Schmidt, D.C.: Model-driven engineering. IEEE Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  42. 42.
    Schürr, A., Winter, A., Zündorf, A.: The PROGRES-approach: Language and environment. In: Ehrig, et al. (eds.) [13], ch. 13, pp. 487–550Google Scholar
  43. 43.
    Taentzer, G., Schürr, A.: DIEGO, another step towards a module concept for graph transformation systems. Electronic Notes on Theoretical Computer Science 2, 277–285 (1995)CrossRefGoogle Scholar
  44. 44.
    Tisi, M., Jouault, F., Fraternali, P., Ceri, S., Bézivin, J.: On the use of higher-order model transformations. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 18–33. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  45. 45.
    Troya, J., Rivera, J.E., Vallecillo, A.: Simulating domain specific visual models by observation. In: Proc. 2010 Spring Simulation Multiconference (SpringSim 2010), pp. 128:1–128:8. ACM (2010)Google Scholar
  46. 46.
    Troya, J., Vallecillo, A., Durán, F., Zschaler, S.: Model-driven performance analysis of rule-based domain specific visual models. Information and Software Technology 55(1), 88–110 (2013)CrossRefGoogle Scholar
  47. 47.
    Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A., Araújo, J.: MATA: A unified approach for composing UML aspect models based on graph transformation. In: Katz, S., Ossher, H., France, R., Jézéquel, J.-M. (eds.) Transactions on AOSD VI. LNCS, vol. 5560, pp. 191–237. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  48. 48.
    Zschaler, S.: Formal specification of non-functional properties of component-based software systems: A semantic framework and some applications thereof. Software and Systems Modelling (SoSyM) 9, 161–201 (2009)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Francisco Durán
    • 1
  • Fernando Orejas
    • 2
  • Steffen Zschaler
    • 3
  1. 1.Departamento de Lenguajes y Ciencias de la ComputaciónUniversidad de MálagaSpain
  2. 2.Departament de Llenguatges i Sistemes InformàticsUniversitat Politècnica de CatalunyaSpain
  3. 3.Department of InformaticsKing’s College LondonUK

Personalised recommendations