Making explicit domain knowledge in formal system development - Ait-Ameur, Yamine; Méry, Dominique (Science of computer programming, 2016)
Modeling languages are concerned with providing techniques and tool support for the design, synthesis and analysis of the models resulting from a given modeling activity, this activity being usually part of a system development model or process. These languages quite successfully focused on the analysis of the designed system exploiting the expressed semantic power of the underlying modeling language. The semantics of these modeling languages are well understood by the system designers and/or the modeling language users i.e. implicit semantics. In general, modeling languages are not equipped with resources, concepts or entities handling explicitly domain engineering features and characteristics (domain knowledge) in which the modeled systems evolve. Indeed, the designer has to explicitly handle the knowledge issued and/or mined from an analysis of this application domain i.e. explicit semantics. Nowadays, making explicit the domain knowledge inside system design models does not obey to any methodological rule validated by the practice. The modeling languages users introduce through types, constraints, profiles, etc. these domain knowledge features. Our claim is that ontologies are good candidates for handling explicit domain knowledge. They define domain theories and provide resources for uniquely identifying domain knowledge concepts. Therefore, allowing models to make references to ontologies is a modular solution for models to explicitly handle domain knowledge. Overcoming the absence of explicit semantics expression in the modeling languages used to specify systems models will increase the robustness of the designed system models. Indeed, the axioms and theorems resulting from the ontologies, thanks to references, can be used to strengthen the properties of the designed models. The objective of this paper is to offer rigorous mechanisms for handling domain knowledge in design models. This paper also shows how these mechanisms are set up in the cases of static, dynamic and formal models.