Software & Systems Modeling

, Volume 12, Issue 3, pp 475–488 | Cite as

On model compatibility with referees and contexts

Special Section Paper

Abstract

A model-based engineering discipline presupposes that models are organised by creating relationships between them. While there has been considerable work on understanding what it means to instantiate one model from another, little is known about when a model should be considered to be a specialisation of another one. This article motivates and discusses ways of defining specialisation relationships between models, languages, and transformations respectively. Consideration is given to both structural and behavioural compatibility concerns. Several alternatives of defining a specialisation relationship are considered and discussed. The article furthermore discusses the notions of referee and context in order to validate and define specialisation relationships. The ideas and discussions presented in this article are meant to provide a further stepping stone towards a systematic basis for organising models.

Keywords

Model inheritance Model compatibility Language engineering Model evolution Subtyping Refinement Referee Context 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi M., Cardelli L.: On subtyping and matching. In: Olthoff, W. (ed) Proceedings ECOOP ’95. LNCS, vol. 952, pp. 145–167. Springer, Aarhus, Denmark (1995)Google Scholar
  2. 2.
    Arnold K., Gosling J., Holmes D.: The Java programming language, 3rd edn. Addison-Wesley, Reading (2000)Google Scholar
  3. 3.
    Atkinson C., Kühne T.: Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12(4), 290–321 (2003)CrossRefGoogle Scholar
  4. 4.
    Atkinson C., Kühne T.: A tour of language customization concepts. In: Zelkowitz, M. (ed) Advances in Computers, vol 70, Chap 3, pp. 105–161. Academic Press, Elsevier, Amsterdam (2007)CrossRefGoogle Scholar
  5. 5.
    Bézivin, J., Büttner, F., Gogolla, M., Jouault, F., Kurtev, I., Lindow, A.: Model transformations? Transformation models! In: Proceedings of the 9th International Conference, MoDELS 2006, Genova, Italy. Lecture Notes in Computer Science, Vol. 4199, pp. 440–453. Springer Verlag, Berlin (2006)Google Scholar
  6. 6.
    Bézivin J.: In search of a basic principle for model driven engineering. Special Novática Issue “UML and Model Engineering” 2, 21–24 (2004)Google Scholar
  7. 7.
    Brachman R.: What is-a is and isn’t: an analysis of taxonomic links in semantic networks. Computer 16(10), 30–36 (1983)CrossRefGoogle Scholar
  8. 8.
    Carnap R.: Meaning and Necessity: A Study in Semantics and Modal Logic. University of Chicago Press, USA (1947)MATHGoogle Scholar
  9. 9.
    Cook, S., Kleppe, A., Mitchell, R., Rumpe, B., Warmer, J., Wills, A.: Defining UML family members using prefaces. In: Mingins, C., Meyer, B. (eds.) Proceedings of Technology of Object-Oriented Languages and Systems, TOOLS’99 Pacific. IEEE Computer Society (1999)Google Scholar
  10. 10.
    Cook, W.: A Denotational Semantics of Inheritance. Ph.D. thesis, Brown University (1989)Google Scholar
  11. 11.
    Cook, W.R., Hill, W., Canning, P.S.: Inheritance is not subtyping. In: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 125–135. POPL ’90, ACM, New York, NY, USA (1990). http://doi.acm.org/10.1145/96709.96721
  12. 12.
    Engels, G., Hausmann, J., Heckel, R., Sauer, S.: Testing the consistency of dynamic UML diagrams. In: Proc. Int’l Conf. Integrated Design and Process Technology (IDPT) (2002)Google Scholar
  13. 13.
    Engels, G., Küster, J.M., Heckel, R., Groenewegen, L.: Towards consistency-preserving model evolution. In: IWPSE ’02: Proceedings of the International Workshop on Principles of Software Evolution, pp. 129–132. ACM, New York, NY, USA (2002)Google Scholar
  14. 14.
    Erné M, Koslowski J, Melton A, Strecker GE.: A primer on Galois connections. In: Summer Conference on General Topology and Applications, Vol. 704, pp. 103–125 (1991)Google Scholar
  15. 15.
    Ernst, E.: gbeta—A Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance. Ph.D. thesis, Devise, Department of Computer Science, University of Aarhus, Aarhus, Denmark (Jun 1999)Google Scholar
  16. 16.
    Ernst E.: Family polymorphism. In: Knudsen, J.L. (ed) Proceedings of ECOOP 2001LNCS, vol. 2072, pp. 303–326. Springer-Verlag, Heidelberg, Germany (2001)Google Scholar
  17. 17.
    Favre, J.M.: Foundations of meta-pyramids: Languages vs. metamodels - episode ii: Story of thotus the baboon. In: Language Engineering for Model-Driven Software Development, Dagstuhl Seminar Proceedings 04101. Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl (2004)Google Scholar
  18. 18.
    Harel, D., Rumpe, B.: Modeling languages: Syntax, semantics and all that stuff—part I: The basic stuff. Tech. Rep. MCS00-16, Faculty of Mathematics and Computer Science, The Weizmann Institute of Science, Israel (2000)Google Scholar
  19. 19.
    Håvaldsrud, T.V., Møller-Pedersen, B.: Nested and specialized associations. In: RAOOL ’09: Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages, pp. 25–31. ACM, New York, NY, USA (2009)Google Scholar
  20. 20.
    Kühne T.: Matters of (meta-) modeling. Softw. Syst. Model. 5(4), 369–385 (2006)CrossRefGoogle Scholar
  21. 21.
    LaLonde W., Pugh J.: Subclassing ≠ Subtyping ≠ Is-a. J. Object-Oriented Program. 3(5), 57–62 (1991)Google Scholar
  22. 22.
    Liskov B.H., Wing J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16(6), 1811–1841 (1994)CrossRefGoogle Scholar
  23. 23.
    Meyer, B.: EIFFEL the language. Object-Oriented Series. Prentice Hall (1992). http://www.amazon.com/Eiffel-Language-Prentice-Object-Oriented-Series/dp/0132479257
  24. 24.
    Morgan C.: On the Refinement Calculus. Springer-Verlag, Berlin (1994)CrossRefGoogle Scholar
  25. 25.
    Murer, S., Omohundro, S., Szyperski, C.: Engineering a programming language: The type and class system of Sather. In: Gutknecht, J. (ed.) Programming Languages and System Architectures, pp. 208–227. Springer Verlag, Lecture Notes in Computer Science, vol. 782 (1993)Google Scholar
  26. 26.
    Reeves, S., David, S.: A unified theory of testing. In: Hosking, J. (ed.) Proc Software Innovation and Engineering New Zealand Workshop 2007 (SIENZ’07) (2007)Google Scholar
  27. 27.
    Reeves S., Streader D.: General refinement, part one: interfaces, determinism and special refinement. Electron. Notes Theor. Comput. Sci. 214, 277–307 (2008)CrossRefGoogle Scholar
  28. 28.
    Reeves S., Streader D.: General refinement, part two: flexible refinement. Electron. Notes Theor. Comput. Sci. 214, 309–329 (2008)CrossRefGoogle Scholar
  29. 29.
    Steel J., Jézéquel J.M.: On model typing. Softw. Syst. Model. 6(4), 401–413 (2007)CrossRefGoogle Scholar
  30. 30.
    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 (PerCom’04), pp. 18–22 (2004)Google Scholar
  31. 31.
    Wirth N.: Program development by stepwise refinement. Commun. ACM 14, 221–227 (1971)MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  1. 1.Victoria University of WellingtonWellingtonNew Zealand

Personalised recommendations