Loading…
Thumbnail Image

Supporting domain modeling with automated knowledge acquisition and modeling recommendations

Agt-Rickauer, Henning

Domain modeling is an important model-driven engineering activity, which is typically used in the early stages of software projects. Domain models capture concepts and relationships of respective application fields using a modeling language and domain-specific terms. They are a key factor in achieving shared understanding of the problem area among stakeholders, improving communication in software development, and generating code and software. Domain models are a prerequisite for domain-specific language development and are often implemented in software and data integration and software modernization projects, which constitute the larger part of industrial IT investment. Several studies from recent years have shown that model-driven methods are much more widespread in the industry than previously thought, yet their application is challenging. Creating domain models requires that software engineers have both experience in model-driven engineering and detailed domain knowledge. While the former is one of the general modeling skills, the required domain knowledge varies from project to project. Domain knowledge acquisition is a time-consuming manual process because it requires multidisciplinary collaboration and gathering of information from different groups of people, documents, and other sources of knowledge, and is rarely supported in current modeling environments. Consistent access to large amounts of structured domain knowledge is not possible due to the heterogeneity of formats, access methods, schemas, and semantic representations. Besides, existing suitable knowledge bases were mostly manually created and are therefore not extensive enough. The automated construction of knowledge resources utilizes mainly information extraction approaches that focus on factual knowledge at the instance level and therefore cannot be used for conceptual-level domain modeling. This thesis develops novel methods and tools that provide domain information directly during modeling to reduce the initial effort of using domain modeling and to help software developers create domain models. It works on the connection of the areas of software modeling, knowledge bases, information extraction and recommender systems to automatically acquire conceptual knowledge from structured knowledge sources and unstructured natural language datasets, to transform the aggregated knowledge into appropriate recommendations, and to develop suitable assistance services for modeling environments. With this thesis, the paradigm of Semantic Modeling Support is proposed, the methodological foundation for providing automated modeling assistance. It includes an iterative procedure of model refinement, knowledge acquisition, and element recommendation that allows to query and provide the necessary domain knowledge for a range of support scenarios at each stage of domain model development, keeping the human in the loop. To address the lack of conceptual knowledge resources, new methods are developed to extract conceptual terms and relationships directly from large N-gram text data using syntactic patterns, co-occurrences, and statistical features of text corpora. A large Semantic Network of Related Terms is automatically constructed with nearly 6 million unique one-word terms and multi-word expressions connected with over 355 million weighted binary and ternary relationships. It allows to directly answer top-N queries. This thesis introduces an extensible query component with a set of fully connected knowledge bases to uniformly access structured knowledge with well-defined relationships. The developed Mediator-Based Querying Architecture with Generic Templates is responsible for retrieving lexical information from heterogeneous knowledge bases and mapping to modeling language-specific concepts. Furthermore, it is demonstrated how to implement the semantic modeling support strategies by extending the widely used Eclipse Modeling Project. The Domain Modeling Recommender System generates context-sensitive modeling suggestions based on the connected knowledge bases, the semantic network of terms, and an integrated ranking strategy. Finally, this thesis reports on practical experience with the application of the developed methods and tools in three research projects.
Domänenmodellierung ist eine wichtige Methode der modellgetriebenen Softwareentwicklung, die oftmals in den frühen Phasen von Softwareprojekten verwendet wird. Domänenmodelle erfassen Konzepte und Beziehungen des jeweiligen Anwendungsgebietes unter Verwendung einer Modellierungssprache und domänenspezifischer Begriffe. Sie sind ein Schlüsselfaktor für ein gemeinsames Verständnis des Problembereichs unter den Projektbeteiligten, für die Verbesserung der Kommunikation während der Softwareentwicklung und für die Generierung von Code und Software. Domänenmodelle sind eine Voraussetzung für die Entwicklung von domänenspezifischen Sprachen und werden häufig bei Softwaremodernisierung sowie bei Software- und Datenintegrationsprojekten eingesetzt, die den größten Teil der industriellen IT-Investitionen ausmachen. Mehrere Studien aus den letzten Jahren haben gezeigt, dass modellgetriebene Methoden in der Branche verbreiteter sind, als bisher angenommen, ihre Anwendung jedoch eine Herausforderung darstellt. Das Erstellen von Domänenmodellen setzt voraus, dass Softwareentwickler sowohl über Erfahrung in der modellgetriebenen Softwareentwicklung als auch über detaillierte Domänenkenntnisse verfügen. Ersteres gehört zu allgemeinen Modellierungskompetenzen, jedoch variiert das erforderliche Domänenwissen von Projekt zu Projekt. Der Erwerb von Domänenwissen ist ein zeitaufwendiger manueller Prozess, da er interdisziplinäre Zusammenarbeit und Informationsbeschaffung von verschiedenen Personengruppen, Dokumenten und anderen Wissensquellen erfordert und in aktuellen Modellierungsumgebungen kaum unterstützt wird. Ein einheitlicher Zugriff auf große Mengen von strukturiertem Domänenwissen ist aufgrund der Heterogenität von Formaten, Zugriffsmethoden, Schemata und semantischen Repräsentationen nicht möglich. Außerdem wurden vorhandene geeignete Wissensbasen meist manuell erstellt und sind daher nicht umfangreich genug. Bei der automatisierten Erstellung von Wissensressourcen werden hauptsächlich Ansätze der Informationsextraktion verwendet, die Faktenwissen auf Instanzebene erschließen und daher nicht für Domänenmodellierung auf Konzeptebene geeignet sind. In dieser Arbeit werden neuartige Methoden und Tools entwickelt, die Domäneninformationen direkt während der Modellierung bereitstellen, um den anfänglichen Aufwand der Domänenmodellierung zu verringern und Softwareentwicklern bei der Erstellung von Domänenmodellen zu helfen. Sie befasst sich mit der Verknüpfung der Bereiche Softwaremodellierung, Wissensdatenbanken, Informationsextraktion und Empfehlungssysteme, um automatisch konzeptionelles Wissen aus strukturierten Datenquellen und unstrukturierten natürlichsprachlichen Texten zu erschließen, um das aggregierte Wissen in geeignete Empfehlungen zu transformieren, und um geignete Unterstützungsdienste für Modellierungswerkzeuge zu entwickeln. Diese Dissertation führt die Semantische Modellierungsunterstützung, die methodische Grundlage für eine automatisierte Modellierungshilfe, ein. Sie umfasst ein iteratives Verfahren der Modellverfeinerung, Wissensbeschaffung und Elementempfehlung, welches das erforderliche Domänenwissen für eine Reihe von Unterstützungsszenarien in jeder Phase der Domänenmodellentwicklung abfragt und bereitstellt. Das Fehlen von konzeptionellen Wissensressourcen wird durch die Entwicklung neuer Methoden adressiert, die konzeptionelle Begriffe und Beziehungen direkt aus großen N-Gram Textdaten mit Hilfe von syntaktischen Mustern, Kookkurrenzen und statistischen Merkmalen großer Textkorpora extrahieren. Es wird ein großes Semantisches Netz verwandter Begriffe mit fast 6 Millionen Ein- und Mehrwortbegriffen automatisch konstruiert, die mit über 355 Millionen gewichteten binären und ternären Beziehungen verbunden sind, wodurch Top-N-Anfragen direkt beantwortet werden können. Die Dissertation führt eine erweiterbare Abfragekomponente mit einer Reihe fertig verbundener Wissensbasen ein, um einheitlich auf strukturiertes Wissen mit spezifischen Relationen zuzugreifen. Die entwickelte Mediator-basierte Abfragearchitektur mit generischen Templates fragt automatisch lexikalische Informationen aus heterogenen Wissensbasen ab und ordnet sie Modellierungssprachkonzepten zu. Außerdem wird gezeigt, wie die Strategien der semantischen Modellierungsunterstützung implementiert werden, indem das weit verbreitete Eclipse Modeling Project erweitert wird. Das Domänenmodellierungsempfehlungssystem generiert kontextsensitive Modellierungsvorschläge, basierend auf den verbundenen Wissensbasen, dem semantischen Begriffsnetz und einer integrierten Ranking-Strategie. Schließlich berichtet diese Arbeit über praktische Erfahrungen bei der Anwendung der entwickelten Methoden und Werkzeuge in drei Forschungsprojekten.