Architecture Knowledge

333 views

Published on

Graph-based Architecture Knowledge Discovery

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
333
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Architecture Knowledge

  1. 1. Graph-based Implicit Knowledge Discovery Welcome from Architecture Change Logs Aakash Ahmad, Pooyan Jamshidi, Muteer Arshad and Claus Pahl Presentation Title ahmad.aakash@computing.dcu.ie Software and System Engineering group http://www.computing.dcu.ie/~cpahl/sse-group.htm School of Computing, Dublin City University, Ireland THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  2. 2. Agenda - Architecture Change Mining and Change Execution - Log-based Analysis of Architecture Change Instances - Change Instance Formalisation - Discovering Operationalisation, Dependencies and Patterns - Change Pattern Graph - Conclusions & Outlook 2LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  3. 3. Architecture Change Mining & Change ExecutionHow to exploit the architecture evolution history that allows us to foster potentiallyreusable operationalisation and patterns to guide architecture evolution? 3LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  4. 4. Log-based Analysis of Architecture ChangeArchitecture Change Logs (ACL) as a knowledge base provide us with a transparentand centrally manageable repository by maintaining fine-granular instances of sequentialchange aggregating over time.- Adequacy of Change Log Data Completeness, Granularity of Change, etc.- Log Data Classification Change Data & Auxiliary Data- Empirical Analysis of Change Instances EBPP and TRS case studies 4 LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  5. 5. Graph-based Formalisation of Change Instances - Formal analysis and effiecient processing of significantly large data size - Graph-mining as a formal approach to discover operationalisation and patterns 5LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  6. 6. Operationalisation and Dependencies in Change Logs An effective and potentially reusable solution to recurring architecture evolution problems is a consequence of empirical discovery and not a mere invention. A pattern can be i) identified as recurrent, ii) specified once and iii) instantiated multiple times to support potential reuse in architecture evolution 1. Operationalisation - Atomic - Composite - Sequential 2. Dependencies - Hierarchical - Sequential - Order & InorderedLERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  7. 7. Towards a System-of-Evolution-Patterns? Change pattern provides a generic, first class abstraction (that can be operationalised and parameterised) to support potential reuse in architectural change execution. 𝐼𝑁𝑉(𝑂𝑃𝑅𝑛(𝑎𝑒𝑚∈𝐴𝐸)) PAT<name, intent>: PRE(aem ∈ AE) POST(ae′m ∈ AE).LERO© 2011 7 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  8. 8. Pattern-based Architecture Evolution Step 1: Architecture Change Specification. Step 2: Change Pattern Retrieval Step 3: Change Pattern Instantiation 8LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  9. 9. Thank you for your attention. 9LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  10. 10. Backup 10LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  11. 11. Graph-based Change Pattern Notation Pattern Specification – as an attributed typed Graph (.GML) notation. Pattern Storage – Graph databse using Neo4j graph tuples.LERO© 2011 11 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  12. 12. Step 2: Change Pattern Retrieval (Root) <relatesTo> [Nodes] :(ChangePattern) <isComposedOf, ConstrainedBy, Evolves> [Operators | Constraints | ArchitectureModel] Query - Which change pattern(s) allow integration of a mediator component among two directly connected components? 01: START pattern = node(ChangePattern) 02: MATCH (pattern) – [:ConstrainedBy] - > (Constraints) 03: – [:Composedof] - > (Operators) 04: WHERE Operators IS NOT Null 05: RETURN ChangPattern.name, ChangePattern.intent, Operators.operatorType Listing: Cypher Query to Retrieve Pattern Name, Intent and Operationalisation START - command to set the primary node(s), MATCH - based on user-specified change constraints respectively. WHERE - allows for additional conditional checking, while RETURN - provides the gathered results. 12LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  13. 13. Experimental Analysis & Evaluation 1 Scenario-based Evaluation - EBPP & TRS Evolution Cases - Pattern Types & Adequacy 2 Prototype-based Validation - Automated Pattern-based Evolution - Survey & Usability Analysis 13LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE

×