Your SlideShare is downloading. ×
Architecture Knowledge
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Architecture Knowledge

142

Published on

Graph-based Architecture Knowledge Discovery

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
142
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. Thank you for your attention. 9LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 10. Backup 10LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 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. 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. 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

×