Towards Queryable and Traceable Domain Models

Model-Driven Software Engineering encompasses various modelling formalisms for supporting software development. One such formalism is domain modelling which bridges the gap between requirements expressed in natural language and analyzable and more concise domain models expressed in class diagrams. Due to the lack of modelling skills among novice modellers and time constraints in industrial projects, it is often not possible to build an accurate domain model manually. To address this challenge, we aim to develop an approach to extract domain models from problem descriptions written in natural language by combining rules based on natural language processing with machine learning. As a first step, we report on an automated and tool-supported approach with an accuracy of extracted domain models higher than existing approaches. In addition, the approach generates trace links for each model element of a domain model. The trace links enable novice modellers to execute queries on the extracted domain models to gain insights into the modelling decisions taken for improving their modelling skills. Furthermore, to evaluate our approach, we propose a novel comparison metric and discuss our experimental design. Finally, we present a research agenda detailing research directions and discuss corresponding challenges.

[1]  Patrick Mäder,et al.  Software traceability: trends and future directions , 2014, FOSE.

[2]  Sjaak Brinkkemper,et al.  Automated Extraction of Conceptual Models from User Stories via NLP , 2016, 2016 IEEE 24th International Requirements Engineering Conference (RE).

[3]  Christopher D. Manning,et al.  Stanford typed dependencies manual , 2010 .

[4]  Andreas Vogelsang,et al.  Knowledge Representation of Requirements Documents Using Natural Language Processing , 2018, REFSQ Workshops.

[5]  Erik Kamsties,et al.  Ambiguity in Requirements Specification , 2004 .

[6]  Omer Salih Dawood,et al.  From Requirements Engineering to UML using Natural Language Processing – Survey Study , 2017, European Journal of Engineering and Technology Research.

[7]  Fabiano Dalpiaz,et al.  Towards Aligning Multi-concern Models via NLP , 2017, 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW).

[8]  Giuseppe Lipari,et al.  Pragmatic ambiguity detection in natural language requirements , 2014, 2014 IEEE 1st International Workshop on Artificial Intelligence for Requirements Engineering (AIRE).

[9]  Apostolis Zarras,et al.  Can Today's Machine Learning Pass Image-Based Turing Tests? , 2019, ISC.

[10]  Mehrdad Sabetzadeh,et al.  Extracting domain models from natural-language requirements: approach and industrial evaluation , 2016, MoDELS.

[11]  Juan de Lara,et al.  The rise of the (modelling) bots: Towards assisted modelling via social networks , 2017, 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE).

[12]  Didar Zowghi,et al.  On the Role of Ambiguity in RE , 2010, REFSQ.

[13]  Annie I. Antón,et al.  Identifying and classifying ambiguity for regulatory requirements , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[14]  Gunter Mussbacher,et al.  Teaching Modelling Literacy: An Artificial Intelligence Approach , 2019, 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C).