Towards a framework for architectural design decision support

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

MDI 2010, Oslo, Norway Behavioural Interoperability to Support Model-Driven Systems Integration Alek Radjenovic, Richard Paige The University of York,
16/11/ IRS-II: A Framework and Infrastructure for Semantic Web Services Motta, Domingue, Cabral, Gaspari Presenter: Emilia Cimpian.
Domain Engineering Silvio Romero de Lemos Meira
Architecture Representation
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Unified Modeling Language
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Object-Oriented Analysis and Design
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
12 -1 Lecture 12 User Modeling Topics –Basics –Example User Model –Construction of User Models –Updating of User Models –Applications.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Chapter 10 Architectural Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
MVC pattern and implementation in java
An Introduction to Software Architecture
1 Technologies for (semi-) automatic metadata creation Diana Maynard.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Approaching a Problem Where do we start? How do we proceed?
Chapter 3 DECISION SUPPORT SYSTEMS CONCEPTS, METHODOLOGIES, AND TECHNOLOGIES: AN OVERVIEW Study sub-sections: , 3.12(p )
1 Introduction to Software Engineering Lecture 1.
Illustrations and Answers for TDT4252 exam, June
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Overview of MOT Knowledge representation system : Basic Modeling Editor LexiconGrammarSemantics Pragmatics MOT Editor.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
PICTURE your design. Purpose : Functions & Content Functions the facilities that make the content of the ICT useful for relevant users and other ICT’s.
Task 1.2 Context: definition and specification. Leuven, 14 oktober 2004 Outline Introduction Work method Context definition Context specification  Overview.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Knowledge Modeling and Discovery. About Thetus Thetus develops knowledge modeling and discovery infrastructure software for customers who: Have high-value.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CONNECTING COMPONENT Pertemuan Matakuliah: M Analisis dan Perancangan Sistem Informasi Lanjut Tahun:
Versatile Information Systems, Inc International Semantic Web Conference An Application of Semantic Web Technologies to Situation.
Viewpoint Modeling and Model-Based Media Generation for Systems Engineers Automatic View and Document Generation for Scalable Model- Based Engineering.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Technische Universität München © Prof. Dr. H. Krcmar An Ontology-based Platform to Collaboratively Manage Supply Chains Tobias Engel, Manoj Bhat, Vasudhara.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
CIS 375 Bruce R. Maxim UM-Dearborn
Building Enterprise Applications Using Visual Studio®
Review of last class Software Engineering Modeling Problem Solving
CompSci 280 S Introduction to Software Development
Identifying Similar Design Decisions
Unified Modeling Language
Complexity Time: 2 Hours.
DSS: Decision Support Systems and AI: Artificial Intelligence
Web Ontology Language for Service (OWL-S)
Tool support for architectural decision making in large software-intensive agile projects Manoj Bhat, Klym Shumaiev, Florian Matthes.
Chapter 10: Process Implementation with Executable Models
Object Oriented Analysis and Design
Data Warehouse Overview September 28, 2012 presented by Terry Bilskie
ece 627 intelligent web: ontology and beyond
Metadata Framework as the basis for Metadata-driven Architecture
An Introduction to Software Architecture
, editor October 8, 2011 DRAFT-D
AI Discovery Template IBM Cloud Architecture Center
Presentation transcript:

Towards a framework for architectural design decision support Manoj Mahabaleshwar, Garching, 17.02.2017

Overview A framework for architectural knowledge management (domain models, rule engine, and visualization components) - Automatic annotation of architectural-significant elements - Population & recommendation of architecture alternatives and software solutions to realize architectural design decisions - Extract architectural decisions (focus on technical decisions) from issue management system - Classify them as either structural, behavioral, or banned decisions - Extract – who raised the concern, who took the decision and when was the decision made from the issue management system (what is implicit) - Build user profiles based on the above information Use the AKM model, user model, and a set of simple heuristics to predict the possible architectural decisions that will be taken by an architect 170217 Manoj (© Florian Matthes, 2016)

A framework for architectural knowledge management SyncPipes REST API Access control Rule engine (Reasoning knowledge) Model-based expressions Events & notifications Meta-model Static knowledge model Dynamic knowledge model Static knowledge base Dynamic knowledge base Rules manager Value Added Services IR-application Platform Client Apps Source tools Model designer Non-structural data Bhat, M.; Shumaiev, K.; Biesdorf, A.; Hohenstein, U.; Hassel, M.; Matthes, F.: Meta-model Based Framework for Architectural Knowledge Management, SAGRA workshop at European Conference on Software Architecutre 2016, Nov. 28 - Dec. 02, 2016, Copenhagen, Denmark 170217 Manoj (© Florian Matthes, 2016)

Architecture design decision model 170217 Manoj (© Florian Matthes, 2016)

SyncPipes A platform for implementing reusable adapters Tool A Data model A SC KB SC model SyncPipes Configurator SyncPipes Mapper SyncPipes Execution Input configuration Output configuration Sync configuration SyncPipes Synchronizer establish connection concept mapper attribute mapper Get Types and Properties Get Entities Create Entities Update Entities 1 2 3 4 https://github.com/sebischair/syncpipes-server, https://github.com/sebischair/syncpipes-client 170217 Manoj (© Florian Matthes, 2016)

An ontology-based approach for software architecture recommendations https://github.com/sebischair/akre-server, https://amelietor-9f8c3.firebaseapp.com 170217 Manoj (© Florian Matthes, 2016)

Automatic extraction and classification of design decisions from issue management systems Issues Decision detector Decision Decision classifier Structural decision Decision detection model Decision classification model load uses classify Behavioral decision Ban decision Not a decision https://github.com/sebischair/DocClassification 170217 Manoj (© Florian Matthes, 2016)

Next steps (1) Automatic extraction of relationships between design decisions Focus on extracting relationship between design decisions (influences, refinedBy, decomposesInto, compatibleWith, incompatibleWith) Important for Defining dependencies between ADDs Specifying constraints on ADDs Visual representation of constraint graph model Specify constraints using an expression language Modeling constraints required for predication purposes ADTopic ADIssue ADAlternative ADOutcome influences refinedBy decomposesInto forces compatableWith inCompatableWith triggers contains belongsTo priority status preference risk; cost 170217 Manoj (© Florian Matthes, 2016)

Next steps (2) Who did what and when? Existing work on ADD models do not consider user preferences, project context, and heuristics to support the decision making process AIM Extract who took the decision, how long did it take to implement, complexity of tasks involved based on source code changes Extract a decision makers’ preferences related to technologies and types of issues handled to build user profiles. RESULT Combining user profiles with the ADD model should support the recommendation of Who should be responsible to address a specific concern? What is the cost of addressing a specific concern? ? Use issue management system as the main input source Focus on a specific domain (e.g. analytics domain) and system (e.g. component-based) 170217 Manoj (© Florian Matthes, 2016)

ML model for decision detection and classification Big picture Web-based editor Software architects Software developers current project SyncPipes ADD explorer ADD recommender load project recommend alternative architectural solution relationships between ADDs AMELIE ADDs to address similar concerns users who have addressed similar concerns estimated effort to address similar concerns read architecture description read labeled issues annotate text with meta-information apply ML model for new issues load projects SyncPipes Document Classifier Document Annotator Facilitators Domain experts past projects generate uses ML model for decision detection and classification 170217 Manoj (© Florian Matthes, 2016)

Manoj Mahabaleshwar MSc. Research Assistant 18162 Manoj.Mahabaleshwar@tum.de 170217 Manoj (© Florian Matthes, 2016)