Advertisement

Software & Systems Modeling

, Volume 7, Issue 3, pp 345–359 | Cite as

Reducing accidental complexity in domain models

  • Colin Atkinson
  • Thomas Kühne
Regular Paper

Abstract

A fundamental principle in engineering, including software engineering, is to minimize the amount of accidental complexity which is introduced into engineering solutions due to mismatches between a problem and the technology used to represent the problem. As model-driven development moves to the center stage of software engineering, it is particularly important that this principle be applied to the technologies used to create and manipulate models, especially models that are intended to be free of solution decisions. At present, however, there is a significant mismatch between the “two level” modeling paradigm used to construct mainstream domain models and the conceptual information such models are required to represent—a mismatch that makes such models more complex than they need be. In this paper, we identify the precise nature of the mismatch, discuss a number of more or less satisfactory workarounds, and show how it can be avoided.

Keywords

Domain modeling Model quality Accidental complexity Modeling languages Modeling paradigm Stereotypes Powertypes Deep instantiation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Atkinson, C., Kühne, T.: Meta-level Independent Modeling, International Workshop “Model Engineering” (in conjunction with ECOOP’2000), Cannes, France (2000)Google Scholar
  2. 2.
    Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: Proceedings of the 4th International Conference on the Unified Modeling Language, Toronto, Canada (2001)Google Scholar
  3. 3.
    Atkinson C. and Kühne T. (2003). Model-Driven Development: A Metamodeling Foundation. IEEE Softw. 20(5): 36–41 CrossRefGoogle Scholar
  4. 4.
    Atkinson, C., Kühne, T.: Concepts for Comparing Modeling Tool Architectures, In: Proceedings of the ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems, MoDELS/UML 2005Google Scholar
  5. 5.
    Atkinson C., Kühne T. and Henderson-Sellers B. (2003). Systematic stereotype usage. J. Softw. Syst. Model. 2(3): 153–163 CrossRefGoogle Scholar
  6. 6.
    Brooks, F.P.: No silver bullet: essence and accidents of software engineering. Comput. Archive 20(4), 10–19 (1987) ISSN:0018-9162Google Scholar
  7. 7.
    Coad P. (1992). Object-oriented patterns. Commun. ACM 35(9): 152–159 CrossRefGoogle Scholar
  8. 8.
    Coleman D., Arnold P., Bodo S. Dollin C., Gilchrist H., Hayes F., Jeremaes P. (1994) Object-Oriented Development: The Fusion Method. Prentice-Hall, englewood CliffsGoogle Scholar
  9. 9.
    Engels, G., Förster, A., Heckel, R., and Thöne, S.: Process modeling using UML. In: Process-Aware Information Systems. pp. 85–117 Wiley, Chichester,(2005)Google Scholar
  10. 10.
    Frank, U.: Modeling products for versatile e-commerce platforms—essential requirements and generic design alternatives. In: Arisawa, H., Kambayashi, Y., Kumar, V., Mayr, H.C., Hunt, I. (eds.) Conceptual Modeling for New Information System Technologies, pp. 444–456. Springer, Heidelberg (2002)Google Scholar
  11. 11.
    Gonzalez-Perez, C., Henderson-Sellers, B.: A powertype-based metamodelling framework. Softw. Syste. Model. 5(1), (2006)Google Scholar
  12. 12.
    Goldstein R.C. and Storey V.C. (1994). Materialization. IEEE Trans. Knowledge Data Eng. 6(5): 835–842 CrossRefGoogle Scholar
  13. 13.
    Henderson-Sellers, B., Gonzalez-Perez, C.: Connecting powertypes and stereotypes. J. Object Technol. 4(7), (2005)Google Scholar
  14. 14.
    Jarke M., Gallersdörfer R., Jeusfeld M.A., Staudt M. and Eherer S. (1995). ConceptBase—a deductive object base for metadata management. J. Intell. Information Syst. Special Issue Adv. Deductive Object-Oriented Databases 4(2): 167–192 Google Scholar
  15. 15.
    Johnson R., Woolf B. (1997) Type Object, In Pattern Languages of Program Design 3. Addison-Wesley, Reading, pp. 47–66.Google Scholar
  16. 16.
    Kühne, T.: Matters of (meta-) modeling. J. Softw. Syst. Model. 5(4), (2006)Google Scholar
  17. 17.
    Kühne, T., Steimann, F.: Tiefe Charakterisierung. In Proceedings of “Modellierung 2004”. LNI Vol. 45, pp. 121–133Google Scholar
  18. 18.
    Larman C. (2002) Applying UML and patterns: an introduction to object-oriented analysis and design and the unified process. 2nd (edn) Prentice-Hall, Englewood cliffsGoogle Scholar
  19. 19.
    Larman C. (2002). Applying UML and patterns: an introduction to object-oriented analysis and design and the unified process.. Prentice-Hall, Englewood cliffs CrossRefMathSciNetGoogle Scholar
  20. 20.
    Lyardet, F.: The dynamic template pattern. In: Proceedings of the Conference on Pattern Languages of Design (1997)Google Scholar
  21. 21.
    Meyer, B.: Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs (1997) ISBN 0-13-629155-4Google Scholar
  22. 22.
    Mittelstraß, J. (Ed.) Enzyklopädie Philosophie und Wissenschaftstheorie. Metzler Verlag, (2004) ISBN: 3476020126Google Scholar
  23. 23.
    Ludewig J. (2005). Models in software engineering—an introduction. J. Softw. Syst. Model. 2(1): 5–14 CrossRefGoogle Scholar
  24. 24.
    Odell, J.: Power Types. J. Object-Oriented Program. (1994)Google Scholar
  25. 25.
    OMG: Unified Modeling Language, v1.1. OMG document ad/97-08-04, (1997)Google Scholar
  26. 26.
    OMG: MDA Guide Version 1.0.1, OMG document omg/03-06-01 (2003)Google Scholar
  27. 27.
    OMG: Unified Modeling Language, v2.0. OMG document formal/05-07-04, (2005)Google Scholar
  28. 28.
    Pirotte, A., Zimányi, E., Massart, D., Yakusheva, T:. Materialization: a powerful and ubiquitous abstraction pattern. In: Proceedings of the Conference on Very Large Database, pp. 630–641 (1994)Google Scholar
  29. 29.
    Riehle, D., Tilman, M., Johnson, R.: Dynamic object model, In: Pattern Languages of Program Design 5. Addison-Wesley, Reading (2005)Google Scholar
  30. 30.
    Mylopoulos J., Borgida A., Jarke M. and Koubarakis M. (1990). Telos—a language for representing knowledge about information systems. In ACM Trans. Informat. Syst. 8(4): 325–362 CrossRefGoogle Scholar
  31. 31.
    Yoder, J. W., Johnson, R.: The adaptive object model architectural style. In: Proceeding of The Working IEEE/IFIP Conference on Softw. Architecture 2002 (WICSA3 ’02)Google Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.University of MannheimMannheimGermany
  2. 2.Darmstadt University of TechnologyDarmstadtGermany

Personalised recommendations