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.
Similar content being viewed by others
References
Atkinson, C., Kühne, T.: Meta-level Independent Modeling, International Workshop “Model Engineering” (in conjunction with ECOOP’2000), Cannes, France (2000)
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)
Atkinson C. and Kühne T. (2003). Model-Driven Development: A Metamodeling Foundation. IEEE Softw. 20(5): 36–41
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 2005
Atkinson C., Kühne T. and Henderson-Sellers B. (2003). Systematic stereotype usage. J. Softw. Syst. Model. 2(3): 153–163
Brooks, F.P.: No silver bullet: essence and accidents of software engineering. Comput. Archive 20(4), 10–19 (1987) ISSN:0018-9162
Coad P. (1992). Object-oriented patterns. Commun. ACM 35(9): 152–159
Coleman D., Arnold P., Bodo S. Dollin C., Gilchrist H., Hayes F., Jeremaes P. (1994) Object-Oriented Development: The Fusion Method. Prentice-Hall, englewood Cliffs
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)
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)
Gonzalez-Perez, C., Henderson-Sellers, B.: A powertype-based metamodelling framework. Softw. Syste. Model. 5(1), (2006)
Goldstein R.C. and Storey V.C. (1994). Materialization. IEEE Trans. Knowledge Data Eng. 6(5): 835–842
Henderson-Sellers, B., Gonzalez-Perez, C.: Connecting powertypes and stereotypes. J. Object Technol. 4(7), (2005)
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
Johnson R., Woolf B. (1997) Type Object, In Pattern Languages of Program Design 3. Addison-Wesley, Reading, pp. 47–66.
Kühne, T.: Matters of (meta-) modeling. J. Softw. Syst. Model. 5(4), (2006)
Kühne, T., Steimann, F.: Tiefe Charakterisierung. In Proceedings of “Modellierung 2004”. LNI Vol. 45, pp. 121–133
Larman C. (2002) Applying UML and patterns: an introduction to object-oriented analysis and design and the unified process. 2nd (edn) Prentice-Hall, Englewood cliffs
Larman C. (2002). Applying UML and patterns: an introduction to object-oriented analysis and design and the unified process.. Prentice-Hall, Englewood cliffs
Lyardet, F.: The dynamic template pattern. In: Proceedings of the Conference on Pattern Languages of Design (1997)
Meyer, B.: Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs (1997) ISBN 0-13-629155-4
Mittelstraß, J. (Ed.) Enzyklopädie Philosophie und Wissenschaftstheorie. Metzler Verlag, (2004) ISBN: 3476020126
Ludewig J. (2005). Models in software engineering—an introduction. J. Softw. Syst. Model. 2(1): 5–14
Odell, J.: Power Types. J. Object-Oriented Program. (1994)
OMG: Unified Modeling Language, v1.1. OMG document ad/97-08-04, (1997)
OMG: MDA Guide Version 1.0.1, OMG document omg/03-06-01 (2003)
OMG: Unified Modeling Language, v2.0. OMG document formal/05-07-04, (2005)
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)
Riehle, D., Tilman, M., Johnson, R.: Dynamic object model, In: Pattern Languages of Program Design 5. Addison-Wesley, Reading (2005)
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
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Professor Bernhard Rumpe.
Rights and permissions
About this article
Cite this article
Atkinson, C., Kühne, T. Reducing accidental complexity in domain models. Softw Syst Model 7, 345–359 (2008). https://doi.org/10.1007/s10270-007-0061-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-007-0061-0