Advertisement

Software & Systems Modeling

, Volume 18, Issue 3, pp 1683–1697 | Cite as

Unifying nominal and structural typing

  • Thomas KühneEmail author
Special Section Paper

Abstract

In this article, I argue for a typing scheme for modeling that unifies the hitherto separated approaches of nominal and structural typing. Both these approaches have their respective advantages and disadvantages, and I suggest a unifying approach that provides one with the best of both worlds on demand. The ultimate goal is to make a contribution toward removing the gulf currently running through the modeling community that is created by the differences between explanatory and constructive modeling with their dependence on structural and nominal typing, respectively. To this end, I first characterize the typing disciplines underlying these different schools of thought, then identify their respective trade-offs, subsequently observe what aspects of these rather different typing approaches are compatible with each other and which are inherently incompatible, and finally propose a scheme that supports fluid transitioning between the approaches.

Keywords

Explanatory modeling Constructive modeling Unification Ontologies Conceptual models Structural typing Nominal typing 

Notes

Acknowledgements

I would like to thank Colin Atkinson and the anonymous reviewers of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems for their highly valuable feedback on a previous version of this article. Debates with Colin Aktinson helped sharpen some of the ideas presented in this article and significantly informed their presentation. The anonymous reviewers provided very helpful pointers, including suggestions for application areas. Finally, I would like to thank SoSyM’s anonymous reviewers whose thoughtful questions and comments further improved the presentation of this article.

References

  1. 1.
    Aßmann, U., Bartho, A., Wende, C. (eds.): Reasoning Web. Semantic Technologies for Software Engineering, LNCS, vol. 6325. Springer (2010)Google Scholar
  2. 2.
    Aßmann, U., Zschaler, S., Wagner, G.: Ontologies, meta-models, and the model-driven paradigm, Chapter 9. In: Calero, C., Ruiz, F., Piattini, M. (eds.) Ontologies for Software Engineering and Software Technology, pp. 249–273. Springer, Berlin (2006).  https://doi.org/10.1007/3-540-34518-3_9 CrossRefGoogle Scholar
  3. 3.
    Atkinson, C., Gerbig, R.: Melanie: Multi-level modeling and ontology engineering environment. In: Proceedings of Modeling Wizards’12. ACM (2012)Google Scholar
  4. 4.
    Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: Gogolla, M., Kobryn, C. (eds.) Proceedings of the 4th International Conference on the UML 2000, Toronto, Canada, LNCS 2185, pp. 19–33. Springer (2001)Google Scholar
  5. 5.
    Atkinson, C., Kühne, T., de Lara, J.: Theme Issue on Multi-Level Modeling. SoSyM Theme Issue. Springer (2017)Google Scholar
  6. 6.
    Atkinson, C., Kennel, B., Goß, B.: Supporting constructive and exploratory modes of modeling in multi-level ontologies. In: Proceedings of 7th International Workshop on Semantic Web Enabled Software Engineering (2011)Google Scholar
  7. 7.
    Atkinson, C., Gutheil, M., Kiko, K.: On the relationship of ontologies and models. In: Proceedings WoMM’06, LNI, vol. 96 (2006)Google Scholar
  8. 8.
    Atkinson, C., Gerbig, R., Kühne, T.: A unifying approach to connections for multi-level modeling. In: Proceedings of MODELS’15, pp. 216–225. IEEE Computer Society (2015)Google Scholar
  9. 9.
    Baader, F., Calvanese, D., McGuinness, D., Nardi, D., Patel-Schneider, P. (eds.): The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge University Press (2003)Google Scholar
  10. 10.
    Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., Patel-Schneider, P.F. (eds.): The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge University Press, New York (2003)zbMATHGoogle Scholar
  11. 11.
    Blumberg, R., Atre, S.: The problem with unstructured data. Dm Rev. 13(42–49), 62 (2003)Google Scholar
  12. 12.
    Brachman, R.: What is-a is and isn’t: an analysis of taxonomic links in semantic networks. Computer 16(10), 30–36 (1983).  https://doi.org/10.1109/MC.1983.1654194
  13. 13.
    Brachman, R.J., Schmolze, J.G.: An overview of the KL-ONE knowledge representation system. Cogn. Sci. 9(2), 171–216 (1985)CrossRefGoogle Scholar
  14. 14.
    Carnap, R.: Meaning and Necessity: A Study in Semantics and Modal Logic. University of Chicago Press, Chicago (1947)zbMATHGoogle Scholar
  15. 15.
    Clark, K.L.: Logic and data bases, chapter. Negation as Failure, pp. 293–322. Springer (1978).  https://doi.org/10.1007/978-1-4684-3384-5_11
  16. 16.
    Drake, F.L., et al.: Python 3.6 Documentation—Glossary. https://docs.python.org/3/glossary.html#term-duck-typing. Last Accessed 15 March 2017
  17. 17.
    Gruber, T.R.: Toward principles for the design of ontologies used for knowledge sharing. In: Guarino, N., Poli, R. (eds.) Formal Ontology in Conceptual Analysis and Knowledge Representation. Kluwer, Deventer (1993)Google Scholar
  18. 18.
    Guarino, N.: Concepts, attributes and arbitrary relations. Data Knowl. Eng. 8, 249–261 (1992)CrossRefGoogle Scholar
  19. 19.
    Guizzardi, G.: Ontological Foundations for Structural Conceptual Models. Ph.D. thesis, University of Twente, Enschede (2005). ISBN 90-75176-81-3Google Scholar
  20. 20.
    Hesse, W.: More matters on (meta-) modelling—remarks on Thomas Kühne’s “matters”. J. Softw. Syst. Model. 5(4), 387–394 (2006)CrossRefGoogle Scholar
  21. 21.
    Huersch, W.L.: Should superclasses be abstract? In: ECOOP ’94, LNCS, pp. 12–31. Springer (1994)Google Scholar
  22. 22.
    Jackson, E., Bjorner, N., Schulte, W.: Open-World Logic Programs: A New Foundation for Formal Specifications. Technical Report 2013-55 (2013)Google Scholar
  23. 23.
    Kappel, G., Kapsammer, E., Kargl, H., Kramler, G., Reiter, T., Retschitzegger, W., Schwinger, W., Wimmer, M.: Lifting metamodels to ontologies: a step to the semantic integration of modeling languages. In: Proceedings of MODELS’06, LNCS, vol. 4199, pp. 528–542. Springer (2006)Google Scholar
  24. 24.
    Kennel, B.: A Unified Framework for Multi-Level Modeling. Ph.D. thesis, University of Mannheim (2012)Google Scholar
  25. 25.
    Kühne, T.: Matters of (meta-) modeling. Soft. Syst. Model. 5(4), 369–385 (2006)CrossRefGoogle Scholar
  26. 26.
    Kühne, T.: On model compatibility with referees and contexts. Softw. Syst. Model. 12(3), 475–488 (2013)CrossRefGoogle Scholar
  27. 27.
    Kühne, T.: Unifying explanatory and constructive modeling: towards removing the gulf between ontologies and conceptual models. In: Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems, MODELS ’16, pp. 95–102. ACM (2016).  https://doi.org/10.1145/2976767.2976770
  28. 28.
    Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16(6), 1811–1841 (1994).  https://doi.org/10.1145/197320.197383
  29. 29.
  30. 30.
    Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002). ISBN 0-262-16209-1zbMATHGoogle Scholar
  31. 31.
    Prinz, A., Møller-Pedersen, B., Fischer, J.: Modelling and Testing of Real Systems, pp. 119–130. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-47169-3_9
  32. 32.
    Sheldon, F.T., Jerath, K., Chung, H.: Metrics for maintainability of class inheritance hierarchies. J. Soft. Maint. 14(3), 147–160 (2002)CrossRefzbMATHGoogle Scholar
  33. 33.
    Siek, J., Taha, W.: Gradual typing for objects. In: Proceedings of the 21st European Conference on ECOOP 2007: Object-Oriented Programming, ECOOP ’07, pp. 2–27. Springer, Berlin (2007).  https://doi.org/10.1007/978-3-540-73589-2_2
  34. 34.
    Simons, A.J.H.: The theory of classification, part 5: axioms, assertions and subtypes. J. Object Technol. 2(1), 13–21 (2003)CrossRefGoogle Scholar
  35. 35.
    Simpson, G.G.: Principles of Animal Taxonomy. Columbia University Press, New York (1961)CrossRefGoogle Scholar
  36. 36.
    Steimann, F., Kühne, T.: A radical reduction of UML’s core semantics. In: Proceedings of UML’02, LNCS, vol. 2460, pp. 34–48. Springer (2002)Google Scholar
  37. 37.
    Wang, X.H., Gu, T., Zhang, D.Q., Pung, H.K.: Ontology based context modeling and reasoning using owl. In: IEEE International Conference on Pervasive Computing and Communication (PerCom04), pp. 18–22 (2004). Explains Upper OntologyGoogle Scholar
  38. 38.
    Wüest, D., Seyff, N., Glinz, M.: Flexisketch team: Collaborative sketching and notation creation on the fly. In: Proceedings of the 37th International Conference on Software Engineering, vol. 2, ICSE ’15, pp. 685–688. IEEE Press, Piscataway (2015)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Victoria University of WellingtonWellingtonNew Zealand

Personalised recommendations