Specifying and verbalising conceptual models using controlled natural language
Conceptual modelling is one of the key activities in requirements engineering and plays an important role in information system design. The modelling process usually involves domain experts (e.g., an accountant is an expert in the domain of accountancy) and knowledge engineers who brainstorm together to bring out the required knowledge for building an information system. The most popular modelling approaches to develop these models include entity relationship modelling (ERM), object-oriented modelling, such as unified modelling language (UML) and object role modelling (ORM). ERM represents an information system in terms of entities, attributes and relationships. Similarly, UML class diagram represents an information system in terms of classes, attributes, and associations. On the contrary, ORM is a fact based approach that represents an information system in terms of entity types, value types and fact types. These conceptual models are usually constructed graphically but are often difficult to understand by domain experts due to their complexity. The difficulties in understanding conceptual models create a communication gap between the domain experts and the knowledge engineers and affect the whole information system design process. The aim of this research is to show how a controlled natural language based conceptual modelling framework can be used to solve this problem.
Generally natural languages are ambiguous and complex in nature. Therefore, specifications written in a natural language are often inconsistent and difficult to understand. On the other hand, a controlled natural language is a subset of a natural language that has well-defined computational properties and therefore can be translated unambiguously into a formal notation. A controlled natural language can be used for writing a precise and consistent specification that is automatically translated into a description logic representation from which a conceptual model can be derived. This research will argue that a controlled natural language is suitable for writing precise and consistent specifications that lead to executable conceptual models. These conceptual models can be rendered graphically and then verbalised again in the same controlled natural language as the specification. This process can be achieved with the help of a bi-directional grammar that allows for semantic round-tripping between the representations. This thesis presents CNLER, a controlled natural language for specifying and verbalising ER diagrams; CNLUCD, a controlled natural language for specifying and verbalising UML class diagrams; and CNLORM, a controlled natural language for specifying and verbalising ORMzero diagrams. The outcome of this research is a conceptual modelling framework that uses the presented CNLs to specify these popular conceptual models, provides the benefits of automatic verification of the written specifications as well as the conceptual models, and supports semantic round-tripping in conceptual modelling by verbalising these conceptual models. The proposed conceptual modelling framework allows the domain experts to describe a scenario in the terminology of the application domain without the need to formally encode the scenario. Therefore, it makes the communication process transparent between the domain experts and the knowledge engineers.