Semi-automated Design Guidance Enhancer (SADGE): A Framework for Architectural Guidance Development

Architectural decision making is a non-trivial task for architects in the software development projects. Researchers have developed several concepts, methods and tools to assist practitioners in their decision making and decision capturing activities. One of these approaches is a decision identification technique that creates architectural guidance models from decisions made in previous projects and from knowledge about a domain found in the literature. To apply this technique, significant manual knowledge engineering effort has to be invested initially. In this paper, we introduce a framework that automatically extracts architectural knowledge entities from architectural related documents by applying natural language processing. A knowledge engineer then manually post processes and fine-tunes the extracted knowledge entities. We applied evaluation techniques from the information retrieval community to measure the sensitivity and accuracy of the framework. Our results show that the automatic approach has the highest recall and shortest processing time while the semi-automatic approach has the highest precision.

[1]  Olaf Zimmermann,et al.  Architectural Decisions as Reusable Design Assets , 2011, IEEE Software.

[2]  Hans van Vliet,et al.  Software Architecture Knowledge Management , 2008, 19th Australian Conference on Software Engineering (aswec 2008).

[3]  D. Campbell,et al.  EXPERIMENTAL AND QUASI-EXPERIMENT Al DESIGNS FOR RESEARCH , 2012 .

[4]  Imran Sarwar Bajwa Object Oriented Software Modeling Using NLP Based Knowledge Extraction , 2009 .

[5]  Reidar Conradi,et al.  Architectural Decision-Making in Enterprises: Preliminary Findings from an Exploratory Study in Norwegian Electricity Industry , 2013, ECSA.

[6]  Rick Kazman,et al.  Decision-making techniques for software architecture design: A comparative survey , 2011, CSUR.

[7]  Adriana Maria C. M. Figueiredo,et al.  Improving Access to Software Architecture Knowledge An Ontology-based Search Approach , 2013 .

[8]  Mary Shaw,et al.  Software architecture: the next step for object technology (panel) , 1993, OOPSLA '93.

[9]  Torgeir Dingsøyr,et al.  Introduction to Software Architecture and Knowledge Management , 2009, Software Architecture Knowledge Management.

[10]  Kevin Crowston,et al.  Machine learning and rule-based automated coding of qualitative data , 2010, ASIST.

[11]  Frank Leymann,et al.  Managing architectural decision models with dependency relations, integrity constraints, and production rules , 2009, J. Syst. Softw..

[12]  Robert Wille,et al.  Assisted Behavior Driven Development Using Natural Language Processing , 2012, TOOLS.

[13]  Hernán Astudillo,et al.  Bridging the gap between software architecture rationale formalisms and actual architecture documents: An ontology-driven approach , 2012, Sci. Comput. Program..

[14]  Antonio Vallecillo,et al.  Objects, Models, Components, Patterns , 2011, Lecture Notes in Computer Science.

[15]  Olaf Zimmermann,et al.  An architectural decision modeling framework for service-oriented architecture design , 2009 .

[16]  Paris Avgeriou,et al.  Difficulty of Architectural Decisions - A Survey with Professional Architects , 2013, ECSA.

[17]  Jugal K. Kalita,et al.  Automatically generating object models from natural language analysis , 2002, OOPSLA '02.

[18]  Muhammad Ali Babar,et al.  A comparative study of architecture knowledge management tools , 2010, J. Syst. Softw..