Back to top

Master's Thesis - Prateek Bagrecha

Last modified by Manoj Mahabaleshwar (account disabled) Jun 25, 2018
   No tags assigned

Implementation of an exploratory workbench for identifying similar design decisions

 

Abstract
The software architecture research community has been concentrating on ways to capture and share architectural knowledge to avoid knowledge vaporization. However, over the last few years, this paradigm has shifted from capturing architectural knowledge to understanding and providing tool support for architects and developers during the architectural decision-making process. This shift in the paradigm is driven by a common understanding that the architectural design decisions provide the main abstraction to represent architectural knowledge. Capturing and sharing architectural knowledge such as architectural design decisions is becoming increasingly important in firms providing professional Information Technology (IT) services such as enterprise application development and strategic outsourcing [5]. Many tacit dependencies exist in this architectural knowledge. Architectural knowledge modelling makes these dependencies explicit and serves as a foundation for knowledge management tools. One of the interesting factor to capture in architectural knowledge is similarity between design decisions. The similarities between design decisions is useful because they help in specifying constraints on similar design decisions, inferring the complexity for addressing similar design decisions and creating common visual representation for them. In this work, I will aim to explore various similarity measures to determine similarity distance between design decisions. In other terms, similarity measures will be used to identify common characterises or parameters between architectural design decisions.

 

Background

Overview
Over the past few years, the software architecture research community has emphasized on capturing and sharing the decisions made during design phase of a software development life cycle. There has been increase in need for tools [3] that support architects and developers to capture design decisions which encapsulate the relationship between every decision made. So far in practice, this knowledge is captured using text or picture and they lack any knowledge of dependencies between decisions. Little emphasis is spent on specifying the dependencies between decisions and on sharing information about architectural decisions required and alternatives available. [1].

Similarity Measure
A Similarity Measure or also known as Similarity Function is a real-valued function that quantifies the similarity between two objects. Although no single definition of a similarity measure exists, usually such measures are in some sense the inverse of distance metrics: they take on large values for similar objects and either zero or a negative value for very dissimilar objects.

Semantic Similarity
Semantic similarity is a metric defined over a set of documents or terms, where the idea of distance between them is based on the likeness of their meaning or semantic content as opposed to similarity which can be estimated regarding their syntactical representation (e.g. their string format). These are mathematical tools used to estimate the strength of the semantic relationship between units of language, concepts or instances, through a numerical description obtained according to the comparison of information supporting their meaning or describing their nature.

Ontology
An ontology is a formal naming and definition of the types, properties, and interrelationships of the entities that really or fundamentally exist for a domain of discourse. An ontology compartmentalizes the variables needed for some set of computations and establishes the relationships between them. The fields of artificial intelligence, the Semantic Web, systems engineering, software engineering, biomedical informatics, library science, enterprise bookmarking, and information architecture all create ontologies to limit complexity and to organize information. Ontology can then be applied to problem solving.

 

Motivation
Firstly, finding similarity between design decisions paves way to defining the relationship between them. We can say that for two decisions to be related they need to have common characteristics between them. Since the similarity between design decisions focuses on factors that decisions influence and decision’s decomposition into its characteristics, similarity distance between design decisions is extremely useful in specifying the common constraints of design decisions. The constraints identified are then helpful in inferring the complexity of any future design decisions. 

 

Research questions

The 3 main questions that I hope to answer through this work are

  • How to identify similar design decisions?
  • What are the context parameters that needs to be considered?
  • Which similarity measures are most efficient for comparing context parameters?

 

Literature review

Jansen and Bosch (2005) [6] view software architecture as a composition of a set of design decisions. They make the case for decisions to be a first-class architecture design concept. The metamodel is introduced in text and figures, dependencies between different problems or different solutions remain implicit (i.e. decisions depend on each other if they deal with the same or with related design fragments).

The meta model based framework proposed by Bhat et al. [3] for architectural knowledge management uses the conceptual model of architecture description described in the ISO/IEC/IEEE 42010 [2] standard and the architectural decision model proposed by Zimmermann et al. [1] to model design decisions. However, the knowledge of how decisions
are related to each other has not been captured effectively (explicitly) in this model. This thesis will explore the dynamic knowledge model by Bhat et al. [3] and attempt to extend it to include the similarity between design decisions.

Tang et al. [7] classify architectural knowledge into four broad categories, namely context, design, general, and reasoning knowledge. The context knowledge captures the project-specific information such as management information and architectural significant requirements. The design knowledge comprises of the architectural designs of the software systems. Bhat et al. [3]  consider design knowledge to be part of context knowledge and combinedly refer to them as dynamic knowledge. 

The dynamic knowledge model by Bhat et al. [3] forms the basis for our work. The model conforms to ISO/IEC/IEEE42010 [2] standard and extends the model proposed byZimmermann et al [1]. However, as mentioned earlier, the knowledge of how decisions are related to each other has not been captured effectively in this model.

 

Methods

Initial steps 

As first steps, the chair for SEBIS, Informatics, TUM have extracted more than 1500 issues from two popular open-source projects (Apache Spark and Apache Hadoop Common) into SocioCortex(SC), the next generation collaborative information system which was developed at the chair of SEBIS for years. Furthermore, the chair has manually labelled these issues as either reflecting a design decision (784 issues) or not a design decision (790 issues). Each of these datasets are again modelled as table with each column representing a characteristic of an architectural concern. I wiil consider these characteristics as contextual parameters that either influence or are affected by design decisions.

From the dynamic knowledge model by Bhat et al. [3], the following statements can be made.

  • A Decision affects 1or more Architectural Elements.
  • A Decision is justified by 1 or more Architectural Rationale.
  • A Decision is based on 0 or more Design Alternatives
  • A Decision depends on 0 or more other Decisions
  • A Decision pertains to one or more Quality Requirement (henceforth we call this Architectural Concern).

The work here shall use these statements to infer what contextual parameter from the datasets are of utmost importance to arrive at similarity measures and what other parameters to consider for increasing the accuracy of the similarity measures. Furthermore, I will also explore finding similarities between projects as way to determine the possible ways to improve finding similarities between design decision. The different concepts of dynamic knowledge model [3] and the contextual parameters of the SC data sets will help us identify what characteristics of the data sets gathered to be used and prioritize them for deriving similarities.

 

Biblography

[1]. Managing architectural decision models with dependency relations, integrity constraints, and production rules by Olaf Zimmermann, Jana Koehler,Frank Leymann, Ronny Polley and Nelly Schuster, 2008.


[2]. ISO/IEC/IEEE 42010:2011,Systems and software engineering —Architecture description, the latest edition of the original IEEE Std 1471:2000,Recommended Practice for Architectural Description of Software-intensive Systems.


[3]. Meta-model Based Framework for Architectural Knowledge Managementby Manoj Bhat, Klym Shumaiev, Andreas Biesdorf, Uwe Hohenstein, Michael Hassel and Florian Mittruecker.


[4]. Who Should Fix This Bug? By John Anvik, Lyndon Hiewand Gail C. Murphy, 2006.


[5]. Reference architecture, metamodel, and modeling principles for architectural knowledge management in information technology services by Olaf Zimmermann, Christoph Miksovica and Jochen M. Küstera, 2011.


[6]. Jansen, Anton; Bosch, Jan -Software architecture as a set of architectural design decisions, Software Architecture, 2005. WICSA 2005. 5th Working IEEE/IFIP Conference on 109-120, 2005, IEEE.


[7]. A. Tang, P. Avgeriou, A. Jansen, R. Capilla, and M. A. Babar. A comparative study of architecture knowledge manag. tools. J. of Syst. and Soft., pages 352-370, 2010.[8]. Description and Evaluation ofSemantic similarity Measures Approaches, Thabet Slimani, Master Thesis, Taif University & LARODEC Lab.

 

Files and Subpages

Name Type Size Last Modification Last Editor
120218 Prateek Final Presentation.pdf 633 KB 23.02.2018
Identifying Similar ADDS.pptx 1,55 MB 11.08.2017
Identifying_Similar_ADDs_KickOff.pdf 980 KB 12.10.2017 Manoj Mahabaleshwar (account disabled)
MT Final Report Prateek Bagrecha.pdf 1,64 MB 23.02.2018