Advertisement

Multi-Level Meta-Modelling to Underpin the Abstract and Concrete Syntax for Domain-Specific Modelling Languages

  • Brian Henderson-SellersEmail author
  • Cesar Gonzalez-Perez

Abstract

A domain-specific modelling language can be considered as a situationally focussed conceptual modelling language. A modelling language is typically underpinned by a meta-model that defines its abstract syntax, utilizes a notation (a.k.a. concrete syntax) and possesses a well-defined semantics, sometimes with an associated ontology. However, the relationships between models, meta-models, modelling languages and ontologies are not well defined in the literature. In particular, the implications of the strict meta-modelling paradigm fostered by the OMG in relation to the type/instance duality are often described in a vague and equivocal fashion. This chapter provides a solid theoretical foundation for the construction of domain-specific modelling languages that can help define both the abstract and concrete syntax aspects. Two example languages are described: ISO/IEC 24744 (Software Engineering Meta-model for Development Methodologies), a language that can be used to define software-intensive development methods; and FAML (FAME Agent-oriented Modelling Language), a language for the specification of agent-oriented software systems.

Keywords

Concrete syntax DSL Meta-models Modelling Ontologies 

Notes

Acknowledgements

We wish to thank Mats Lind and Haris Mouratidis for their comments on the FAML notation. BH-S also wishes to acknowledge the support of the Australian Research Council through grant DP0878172. This is contribution 12/01 of the Centre for Object Technology Applications and Research within the Human Centred Technology Design centre at the University of Technology, Sydney.

References

  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Springer, New York (1996)zbMATHCrossRefGoogle Scholar
  2. 2.
    Alagar, V.S., Periyasamy, K.: Specification of Software Systems. Springer, Berlin (1998)zbMATHCrossRefGoogle Scholar
  3. 3.
    Aßmann, U., Zschaler, S., Wagner, G.: Ontologies, meta-models, and the model-driven paradigm. In: Calero, C., Ruiz, F., Piattini, M. (eds.) Ontologies for Software Engineering and Software Technology, pp. 239–273. Springer, Berlin (2006)Google Scholar
  4. 4.
    Atkinson, C.: Metamodelling for distributed object environments. In: First International Enterprise Distributed Object Computing Workshop (EDOC'97). Brisbane (1997)Google Scholar
  5. 5.
    Atkinson, C.: Supporting and applying the UML conceptual framework. In: Bézivin. J., Muller, P-A. (eds.) The Unified Modeling Language. «UML» 1998: Beyond the Notation. LNCS, vol. 1618, pp. 21–36, Springer, Berlin (1998)Google Scholar
  6. 6.
    Atkinson, C., Kühne, T.: The essence of multilevel metamodelling. In: Gogolla, M., Kobryn, C. (eds.) «UML»2001 – The Unified Modeling Language. Modeling Languages, Concepts and Tools. LNCS, vol 2185, pp. 19–33, Springer, Berlin (2001)Google Scholar
  7. 7.
    Atkinson, C., Kühne, T., Henderson-Sellers, B.: To meta or not to meta—that is the question. JOOP/ROAD 13(8), 32–35 (2000)Google Scholar
  8. 8.
    Atkinson, C., Kühne, T., Henderson-Sellers, B.: Systematic stereotype usage. Software. Syst. Model. 2(3), 153–163 (2003)CrossRefGoogle Scholar
  9. 9.
    Atkinson, C., Gutheil, M., Kennel, B.: A flexible infrastructure for multilevel language engineering. IEEE Trans. Software. Eng. 35(6), 742–755 (2009)CrossRefGoogle Scholar
  10. 10.
    Batory, D., Johnson, C., MacDonald, B., von Heeder, D.: Achieving extensibility through product-lines and domain-specific languages: a case study. ACM Trans. Softw. Eng. Methodol. 11(2), 191–214 (2002)CrossRefGoogle Scholar
  11. 11.
    Bertin, J.: Semiology of Graphics: Diagrams, Networks, Maps. University of Wisconsin Press, Madison (1983)Google Scholar
  12. 12.
    Beydoun, G., Low, G., Henderson-Sellers, B., Mouratidis, H., Gomez-Sanz, J., Pavon, J., Gonzalez-Perez, C.: FAML: a generic metamodel for MAS development. IEEE Trans. Softw. Eng. 35(6), 841–863 (2009)CrossRefGoogle Scholar
  13. 13.
    Bézivin, J.: In search of a basic principle for model-driven engineering. Upgrade V(2), 21–24 (2004)Google Scholar
  14. 14.
    Bézivin, J.: On the unification power of models. Softw. Syst. Model. 4, 171–188 (2005)CrossRefGoogle Scholar
  15. 15.
    Bézivin, J., Gerbé, O.: Towards a precise definition of the OMG/MDA framework. In: Presented at ASE’01, Automated Software Engineering, San Diego, 26–29 November 2001. Proceedings of the 16th IEEE International Conference on Automated Software Engineering (ASE’01), p. 273. IEEE Computer Society Press, Coronado (2001)Google Scholar
  16. 16.
    Bézivin, J., Lemesle, R.: Ontology-based layered semantics for precise OA&D modeling. In: Bosch, J., Mitchell, S. (eds.) Object-Oriented Technologys: ECOOP’97 Workshop Reader. LNCS, vol. 1357, pp. 287–292. Springer, Berlin (1998)Google Scholar
  17. 17.
    Bresciani, P., Giorgini, P., Giunchiglia, F., Mylopolous, J., Perini, A.: Tropos: an agent-oriented software development methodology. Autonomous. Agents. Multi-Agent. Syst. 8(3), 203–236 (2004)CrossRefGoogle Scholar
  18. 18.
    Colomb, R., Raymond, K., Hart, L., Emery, P., Welty, C., Xie, G.T., Kendall, E.: The object management group ontology definition metamodel. In: Calero, C., Ruiz, F., Piattini, M. (eds.) Ontologies for Software Engineering and Software Technology, pp. 217–247. Springer, Berlin (2006)CrossRefGoogle Scholar
  19. 19.
    Constantine, L.L., Henderson-Sellers, B.: Notation matters: Part 1—framing the issues. Rep. Object. Anal. Des. 2(3), 25–29 (1995)Google Scholar
  20. 20.
    Constantine, L.L., Henderson-Sellers, B.: Notation matters: Part 2—applying the principles. Rep. Object. Anal. Des. 2(4), 20–23 (1995)Google Scholar
  21. 21.
    Denning, P.J., Dennis, J.B., Qualitz, J.E.: Machines, Languages, and Computation. Prentice-Hall, Englewood Cliffs (1978)zbMATHGoogle Scholar
  22. 22.
    Eriksson, O., Henderson-Sellers, B., Ågerfalk, P.J.: Ontological and Linguistic Metamodelling Revisited—A Language Use Approach (2013, in press)Google Scholar
  23. 23.
    Falbo RdeA., Guizzardi, G., Duarte, K.C.: An ontological approach to domain engineering. In: Proceedings of International Conference on Software Engineering and Knowledge Engineering SEKE’02, ACM, Ischia, 15–19 July 2002Google Scholar
  24. 24.
    Firesmith, D., Henderson-Sellers, B., Graham, I.: OPEN Modeling Language (OML) reference manual. SIGS Books, New York, 276 pp (1997); Cambridge University Press, New York (1998)Google Scholar
  25. 25.
    Gargantini, A., Riccobene, E., Scandurra, P.: A semantic framework for metamodel-based languages. J. Automated. Softw. 16(3–4), 415–454 (2009)CrossRefGoogle Scholar
  26. 26.
    Gašević, D., Kaviani, N, Hatala, M.: On metamodeling in megamodels. In: Engels, G., et al. (eds.) MoDELS 2007. LNCS, vol. 4735, pp. 91–105. Springer, Berlin (2007)Google Scholar
  27. 27.
    Ghidini, C., Giunchiglia, F.: A semantics for abstraction. In: Lopez de Mantaras, R., Saitta L. (eds.) Proceedings of ECAI2004, pp. 343–352. IOS, Amsterdam (2004)Google Scholar
  28. 28.
    Giunchiglia, F., Walsh, T.: A theory of abstraction. Artif. Intell. 57(2–3), 323–390 (1992)MathSciNetzbMATHCrossRefGoogle Scholar
  29. 29.
    Gonzalez-Perez, C., Henderson-Sellers, B.: A powertype-based metamodelling framework. Softw. Syst. Model. 5, 72–90 (2006)CrossRefGoogle Scholar
  30. 30.
    Gonzalez-Perez, C., Henderson-Sellers, B.: An ontology for software development methodologies and endeavours. In: Calero, C., Ruiz, F., Piattini, M. (eds.) Ontologies in Software Engineering and Software Technology, pp. 123–152. Springer, Berlin (2006)CrossRefGoogle Scholar
  31. 31.
    Gonzalez-Perez, C., Henderson-Sellers, B.: Modelling software development methodologies: a conceptual foundation. J. Syst. Software. 80(11), 1778–1796 (2007)CrossRefGoogle Scholar
  32. 32.
    Gonzalez-Perez, C., Henderson-Sellers, B.: Metamodelling for Software Engineering. Wiley, Chichester (2008)Google Scholar
  33. 33.
    Greenfield, J., Short, K.: Software Factories. Wiley, Chichester (2004)Google Scholar
  34. 34.
    Guizzardi, G.: Ontological foundations for structural conceptual models, CTIT PhD Thesis Series, No. 05–74. Enschede, The Netherlands (2005)Google Scholar
  35. 35.
    Guizzardi, G., Wagner, G.: Towards ontological foundations for agent modelling concepts using the Unified Foundational Ontology (UFO). In: Bresciani, P., Giorgini, P., Henderson-Sellers, B., Low, G., Winikoff, M. (eds.) Agent-Oriented Information Systems II. LNAI, vol. 3508. pp. 110–124. Springer, Berlin (2005)Google Scholar
  36. 36.
    Harsu, M.: A survey on domain engineering. Report, Institute of Software Systems, Tampere University of Technology (2002)Google Scholar
  37. 37.
    Hay, D.C.: Data Model Patterns. Conventions of Thought. Dorset House Publishing Company, New York (1996)Google Scholar
  38. 38.
    Henderson-Sellers, B.: Method engineering: theory and practice. In: Karagiannis, D., Mayr, H.C. (eds.) Information Systems Technology and its Applications. Proceedings of the 5th International Conference ISTA 2006. Lecture Notes in Informatics (LNI) vol. P-84, pp. 13–23. Gesellschaft für Informatik, Bonn, 30–31 May (2006)Google Scholar
  39. 39.
    Henderson-Sellers, B.: On the Mathematics of Modelling, Metamodelling, Ontologies and Modelling Languages. SpringerBriefs in Computer Science. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  40. 40.
    Henderson-Sellers, B., Gonzalez-Perez, C.: Uses and abuses of the stereotype mechanism in UML1.4 and 2.0. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Model Driven Engineering Languages and Systems. 9th International Conference, MoDELS 2006, Genoa. LNCS, vol. 4199, pp. 16–26. Springer, Berlin (2006)Google Scholar
  41. 41.
    Henderson-Sellers, B., Unhelkar, B.: OPEN Modeling with UML. Addison-Wesley, London (2000)Google Scholar
  42. 42.
    Henderson-Sellers, B., Low, G.C, Gonzalez-Perez, C.: Semiotic considerations for the design of an agent-oriented modelling language. In: Bider, I. et al. (eds.) Proceedings of BPMDS 2012 and EMMSAD 2012. LNBIP, vol. 113, pp. 422–434. Springer, Heidelberg (2012)Google Scholar
  43. 43.
    Henderson-Sellers, B., Eriksson, O., Gonzalez-Perez, C., Ågerfalk, P.J.: Ptolemaic metamodelling? The need for a paradigm shift. In: Cueva Lovelle, J.M., Pelayo García-Bustelo, C., Sanjuán Martínez, O. (eds.) Progressions and Innovations in Model-Driven Software Engineering. IGI Global (2013, in press)Google Scholar
  44. 44.
    Henderson-Sellers, B., Serour, M., McBride, T., Gonzalez-Perez, C., Dagher, L.: Process construction and customization. J. Universal. Comput. Sci. 10(4), 326–358 (2004)Google Scholar
  45. 45.
    ISO/IEC.: Software engineering—metamodel for software development. ISO/IEC 24744, Geneva (2007)Google Scholar
  46. 46.
    ISO/IEC.: 24744 Software engineering—metamodel for development methodologies annex A—notation. International Organization for Standardization/International Electrotechnical Commission, Geneva (2010)Google Scholar
  47. 47.
    Jackson, M.: Some notes on models and modelling. In: Borgida, A.T et al. (eds.) Mylopoulos Festschrift. LNCS, vol. 5600, pp. 68–81. Springer, Berlin (2009)Google Scholar
  48. 48.
    Joualt, F., Bézivin, J.: KM3: a DSL for metamodel specification. In: Gorrieri, R., Wehrheim. H. (eds.) Formal Methods for Open Object-based Distributed Systems. LNCS, vol. 4037, pp. 171–185. Springer, Berlin (2006)Google Scholar
  49. 49.
    Karagiannis, D., Kühn, D.: Metamodelling platforms. In: Bauknecht, K., Min Tjoa, A., Quirchmayer. (eds.) In: Proceedings of the 3rd International Conference EO-Web2002-Dexa2002. LNCS, vol. 2455, pp. 182–195. Springer, Berlin (2002)Google Scholar
  50. 50.
    Keet, M.: Enhancing comprehension of ontologies and conceptual models through abstractions. In: Basili, R., Pazienza, M.T. (eds.) AI*IA 2007. LNAI, vol. 4733, pp. 813–821. Springer, Berlin (2007)Google Scholar
  51. 51.
    Kelly, S., Pohjonen, R.: Worst practices for domain-specific modelling. IEEE. Softw. 26, 22–29 (2009)CrossRefGoogle Scholar
  52. 52.
    Kleppe, A.: A language description is more than a metamodel. Paper Presented at ATEM2007 (part of MoDELS2007), IEEE Online Publication (2007)Google Scholar
  53. 53.
    Kühne, T.: What is a model? Dagstuhl Seminar Proceedings 04101. http://drops.dagstuhl.de/opus/volltexte/2005/23 (2005)
  54. 54.
    Kühne, T.: Matters of (meta-)modeling. Softw. Syst. Model. 5, 369–385 (2006)CrossRefGoogle Scholar
  55. 55.
    Kühne, T.: Clarifying matters of (meta-)modeling: an author’s reply. Softw. Syst. Model. 5, 395–401 (2006)CrossRefGoogle Scholar
  56. 56.
    Kühne, T.: Contrasting classification with generalization. In: Kirchberg, M., Link, S. (eds.) In: Proceedings of the Sixth Asia-Pacific Conference on Conceptual Modelling. Conferences in Research and Practice in Information Technology, 96, pp. 71–78. Australian Computer Society, Sydney (2009)Google Scholar
  57. 57.
    Kurtev, I., Bézivin, J., Joualt, F., Valduriez, P.: Model-based DSL frameworks. In: OOPSLA’06: Companion to the 21st ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, pp. 602–616, ACM (2006)Google Scholar
  58. 58.
    Laarman, A., Kurtev, I.: Ontological metamodelling with explicit instantiation. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE2009. LNCS, vol. 5969, pp. 174–183. Springer, Berlin (2010)Google Scholar
  59. 59.
    Larkin, J.H., Simon, H.A.: Why a diagram is (sometimes) worth ten thousand words. Cogn. Sci. 11(1), 65–100 (1987)CrossRefGoogle Scholar
  60. 60.
    Ludewig, J.: Models in software engineering—an introduction. Softw. Syst. Model. 2, 5–14 (2003)CrossRefGoogle Scholar
  61. 61.
    Mantz, F., Lamo, Y., Rossini, A., Wolter, U., Taentzer, G.: Formalising metamodel evolution based on category theory. In: Pettersson, P., Seceleanu, C. (eds.) Proceedings of the 23rd Nordic Workshop on Programming Theory. 26–28 October, 2011, pp. 73–75, Västerås, Sweden Technical Report 254/2011, Mälardalen University (2011)Google Scholar
  62. 62.
    Moody, D.L.: The “physics” of notations: toward a scientific basis for constructing visual notations in software engineering. IEEE. Trans. Softw. Eng. 35(6), 756–779 (2009)CrossRefGoogle Scholar
  63. 63.
    Moody, D.L., van Hillegersberg, J.: Evaluating the visual syntax of UML: an analysis of the cognitive effectiveness of the UML family of diagrams. In: Gaševic, D., Lämmel, R., Wyk, E. (eds.) Proceedings of the First International Conference on Software Language Engineering. LNCS, vol. 5452, pp. 16–34. Springer, Berlin (2009)Google Scholar
  64. 64.
    Nordbotten, J.C., Crosby, M.E.: The effect of graphic style on data model interpretation. Inf. Syst. J. 9(2), 139–156 (1999)CrossRefGoogle Scholar
  65. 65.
    Odell, J.J.: Power types. J. Object-Oriented. Prog. 7(2), 8–12 (1994)MathSciNetGoogle Scholar
  66. 66.
    Odell, J.J., Parunak, H.V.D., Fleischer, M.: The role of roles in designing effective agent organizations.In: Garcia, A et al. (eds.) SELMAS 2002. LNCS, vol. 2603, pp. 27–38. Springer, Berlin (2003)Google Scholar
  67. 67.
    Odell, J.J., Parunak, H.V.D., Fleischer, M.: Modeling agent organizations using roles. Softw. Syst. Model. 2, 76–81 (2003)CrossRefGoogle Scholar
  68. 68.
    Ogden, C.K., Richards, I.A.: The Meaning of Meaning. Harcourt. Brace and World, New York (1923)Google Scholar
  69. 69.
    OMG.: Software & Systems Process Engineering Meta-Model Specification Version 2.0, formal/2008-04-01 (2008)Google Scholar
  70. 70.
    OMG.: OMG Unified Modeling LanguageTM (OMG UML), Superstructure. Version 2.4.1. formal/2011-08-06 (2011)Google Scholar
  71. 71.
    Opdahl, A., Henderson-Sellers, B.: Ontological evaluation of the UML using the Bunge-Wand-Weber model. Softw. Syst. Model. 1(1), 43–67 (2002)Google Scholar
  72. 72.
    Pavón, J., Gómez-Sanz, J.J., Fuentes, R.: The INGENIAS methodology and tools. In: Henderson-Sellers, B., Giorgini, P. (eds.) Agent-Oriented Methodologies, pp. 236–276. Idea Group Inc, Hershey (2005)CrossRefGoogle Scholar
  73. 73.
    Peirce, C.S.: Collected Papers v. 2, paragraphs 243–63. written circa (1903)Google Scholar
  74. 74.
    Petre, M.: Why looking isn’t always seeing: readership skills and graphical programming. Comms. ACM. 38(6), 33–44 (1995)CrossRefGoogle Scholar
  75. 75.
    Rao, A.S., Georgeff, M.P.: BDI agents: from theory to practice. Technical Note 56, Australian Artificial Intelligence Institute (1995)Google Scholar
  76. 76.
    Rumbaugh, J.: Notation notes: principles for choosing notation. J. Object Oriented. Prog. 9(2), 11–14 (1996)Google Scholar
  77. 77.
    Saeki, M., Kaiya, H.: On relationships among models, meta models and ontologies. In: Gray, J., Tolvanen, J.-P., Sprinkle, J. (eds.) Proceedings of the 6th OOPSLA Workshop on Domain-Specific Modeling. Computer Science and Information System Reports, Technical Reports, TR-37. University of Jyväskylä, Jyväskylä (2007)Google Scholar
  78. 78.
    Sánchez Cuadrado, J., Garcıa Molina, J.: A model-based approach to families of embedded domain specific languages. IEEE. Trans. Softw. Eng. 99, 825–840 (2009)CrossRefGoogle Scholar
  79. 79.
    Schrepfer, M., Wolf, J., Mendling, J., Reijers, H.A.: The impact of secondary notation on process model understanding. In: Persson, A., Stirna, J. (eds.) The Practice of Enterprise Modeling (Second IFIP WG 8.1 Working Conference, PoEM 2009, Stockholm, Sweden, 18–19 November, 2009, Proceedings), pp. 161–175. Springer, Berlin (2009)Google Scholar
  80. 80.
    Searle, J.R.: Speech Acts. An Essay in the Philosophy of Language. Cambridge University Press, Cambridge (1969)CrossRefGoogle Scholar
  81. 81.
    Seidewitz, E.: What models mean. IEEE. Softw. 20, 26–31 (2003)CrossRefGoogle Scholar
  82. 82.
    Siau, K.: Informational and computational equivalence in comparing informational modelling methods. J. Database. Manag. 15(1), 73–86 (2004)CrossRefGoogle Scholar
  83. 83.
    Silva Parreiras, F., Staab, S., Winter, A.: On marrying ontological and metamodeling technical spaces. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, Dubrovnik, 3–7 September 2007, pp. 439–448. ACM (2007)Google Scholar
  84. 84.
    Sousa, K., Vanderdonckt, J., Henderson-Sellers, B., Gonzalez-Perez, C.: Evaluating a graphical notation for modelling software development methodologies. J. Vis. Lang. Comput. 23(4), 195–212 (2012)CrossRefGoogle Scholar
  85. 85.
    Treisman, A.: Perception grouping and attention in visual search for features and for objects. J. Exp. Psychol. Hum. Percept. Perform. 8(2), 194–214 (1982)CrossRefGoogle Scholar
  86. 87.
    Vessey, I.: Cognitive fit: a theory-based analysis of the graphs versus tables literature. Decis. Sci. 22, 219–240 (1991)CrossRefGoogle Scholar
  87. 88.
    Walter, T., Silva Parreiras, F., Staab, S.: OntoDSL: an ontology-based framework for domainspecific languages. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 408–422. Springer, Berlin (2009)Google Scholar
  88. 90.
    Ward, C.B., Henderson-Sellers, B.: Utilizing dynamic roles for agents. J. Obj. Technol. 8(5), 116–130 (2009)Google Scholar
  89. 91.
    Winikoff, M., Padgham, L., Harland, J.: Simplifying the development of intelligent agents. In: Proceedings of the 14th Australian Joint Conference on Artificial Intelligence (AI'01), Adelaide, 10–14 December (2001)Google Scholar
  90. 92.
    Yu, E.S-K.: Modelling strategic relationships for process reengineering. PhD Thesis, University of Toronto (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.School of SoftwareUniversity of TechnologySydneyAustralia
  2. 2.Institute of Heritage Sciences (Incipit), Spanish National Research Council (CSIC)Santiago de CompostelaSpain

Personalised recommendations