Conceptual Modeling with Constraints
An important factor in guaranteeing the quality of a system is developing a conceptual model that reflects the knowledge about its domain as well as knowledge about the functions it has to perform. In software engineering, conceptual modeling has gained importance as a discipline that offers languages, methods, and methodologies to address the complexity of software development. The key to understanding such complexity is using tools such as diagrams at various levels of representation. A conceptual model must include all relevant static and behavioral aspects of its domain. In UML, the static aspects include structural diagrams that represent the internal architecture of a system with a special focus on the classes, the connections and interactions that they have, and integrity constraints over the state of the domain. UML does not have sufficient expressiveness for complete specifications of certain constraints. Constraints assist in analyzing permissible design requirements and the limitations of the intended functions. To overcome the limitations of the graphical notation, other types of languages are used to complement the diagrammatic language (e.g., the textual Object Constraint Language [OCL]). In this paper, we study how to express constraints diagrammatically using the thinging machine (TM) through examples taken from the UML/OCL literature. This would contribute to further understanding the notion of constraint in conceptual modeling. It also demonstrates the expressiveness and limitation of the TM. The paper suggests that the TM can provide a diagrammatic constraints language in conceptual models.
READ FULL TEXT