Skip to main content
Log in

Unifying nominal and structural typing

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Aßmann, U., Bartho, A., Wende, C. (eds.): Reasoning Web. Semantic Technologies for Software Engineering, LNCS, vol. 6325. Springer (2010)

  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

    Chapter  Google Scholar 

  3. Atkinson, C., Gerbig, R.: Melanie: Multi-level modeling and ontology engineering environment. In: Proceedings of Modeling Wizards’12. ACM (2012)

  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)

  5. Atkinson, C., Kühne, T., de Lara, J.: Theme Issue on Multi-Level Modeling. SoSyM Theme Issue. Springer (2017)

  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)

  7. Atkinson, C., Gutheil, M., Kiko, K.: On the relationship of ontologies and models. In: Proceedings WoMM’06, LNI, vol. 96 (2006)

  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)

  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)

  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)

    MATH  Google Scholar 

  11. Blumberg, R., Atre, S.: The problem with unstructured data. Dm Rev. 13(42–49), 62 (2003)

    Google Scholar 

  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. Brachman, R.J., Schmolze, J.G.: An overview of the KL-ONE knowledge representation system. Cogn. Sci. 9(2), 171–216 (1985)

    Article  Google Scholar 

  14. Carnap, R.: Meaning and Necessity: A Study in Semantics and Modal Logic. University of Chicago Press, Chicago (1947)

    MATH  Google Scholar 

  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. 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. 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. Guarino, N.: Concepts, attributes and arbitrary relations. Data Knowl. Eng. 8, 249–261 (1992)

    Article  Google Scholar 

  19. Guizzardi, G.: Ontological Foundations for Structural Conceptual Models. Ph.D. thesis, University of Twente, Enschede (2005). ISBN 90-75176-81-3

  20. Hesse, W.: More matters on (meta-) modelling—remarks on Thomas Kühne’s “matters”. J. Softw. Syst. Model. 5(4), 387–394 (2006)

    Article  Google Scholar 

  21. Huersch, W.L.: Should superclasses be abstract? In: ECOOP ’94, LNCS, pp. 12–31. Springer (1994)

  22. Jackson, E., Bjorner, N., Schulte, W.: Open-World Logic Programs: A New Foundation for Formal Specifications. Technical Report 2013-55 (2013)

  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)

  24. Kennel, B.: A Unified Framework for Multi-Level Modeling. Ph.D. thesis, University of Mannheim (2012)

  25. Kühne, T.: Matters of (meta-) modeling. Soft. Syst. Model. 5(4), 369–385 (2006)

    Article  Google Scholar 

  26. Kühne, T.: On model compatibility with referees and contexts. Softw. Syst. Model. 12(3), 475–488 (2013)

    Article  Google Scholar 

  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. 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. Multi-level Modeling Wiki. http://homepages.ecs.vuw.ac.nz/Groups/MultiLevelModeling/ (2014)

  30. Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002). ISBN 0-262-16209-1

    MATH  Google Scholar 

  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. Sheldon, F.T., Jerath, K., Chung, H.: Metrics for maintainability of class inheritance hierarchies. J. Soft. Maint. 14(3), 147–160 (2002)

    Article  MATH  Google Scholar 

  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. Simons, A.J.H.: The theory of classification, part 5: axioms, assertions and subtypes. J. Object Technol. 2(1), 13–21 (2003)

    Article  Google Scholar 

  35. Simpson, G.G.: Principles of Animal Taxonomy. Columbia University Press, New York (1961)

    Book  Google Scholar 

  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)

  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 Ontology

  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)

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thomas Kühne.

Additional information

Communicated by Dr. Jörg Kienzle and Alexander Pretschner.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kühne, T. Unifying nominal and structural typing. Softw Syst Model 18, 1683–1697 (2019). https://doi.org/10.1007/s10270-018-0660-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-018-0660-y

Keywords

Navigation