THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Welcome Presentation Title
Pattern-driven Reuse in Architecture-centric Evolution for Service Software
Aakash Ahmad, Pooyan Jamshidi and Claus Pahl
[ahmad.aakash|pooyan.jamshidi|claus.pahl]@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
Agenda
- Evolution in Service-driven Architectures
- Related Research - Patterns and Evolution
- Change Pattern to guide Architecture Evolution
- Architecture Evolution-case for EBPP
- Pattern-based Architecture Evolution
- Experimental Analysis & Evaluation
- Conclusions & Outlook
LERO© 2010 2
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE LERO© 2011 3
Evolution in Service-driven Architectures
Service-Oriented Architecture (SOA) is a business-centric, architectural approach to model
business processes as technical software services to develop enterprise software.
- Service components as the core computational entities (atomic or composite)
- Connectors to establish service-level interconnections (association, composition etc.)
- Configurations to allow topological configuration of components and connectors
Evolution in an SOA goes beyond a more conventional addition or removal of individual
components and connectors.
- Process-centric change in terms of integration, replacement, decomposition etc.
- Process aspects of change management requires an explicit specification of source
and evolved architecture model with appropriate steps to complete the transition.
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE LERO© 2011 4
The needs for Reuse in Service Architecture Evolution
A continuous change in business and technical requirements lead towards frequent
maintenance and evolution cycles in service software.
…community wide efforts are required to develop processes, framework and
patterns etc., to enable systematic maintenance an explicit evolution for SOAs …
[MESOA 07, 08, 09, 10]
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Related Research - Patterns and Evolution
LERO© 2011 5
Evolution Patterns Process Change Patterns
Evolution Shelf
Repository Paths
1
Evolution in SOAs? Patterns in Architectural Abstractions?
Reuse of Evolution in SOAs
Evolution Styles Process Mining Process Change
Process-centric Evolution
MESOA’07’08’09’10
Maintenance, Evolution, Adaptation
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Change Patterns to guide Architecture Evolution
Central Hypothesis: The application of change patterns to architectural transformation supports potential
reuse in architecture-centric software evolution.
Pattern Identification – recurring sequences from Architecture Change Logs [IWSSA’12]
Pattern Specification – once-off formal specification in Pattern Catalogue [SHARK’12]
Pattern Instantiation – multiple instantiations to support pattern-based reuse in evolution.
LERO© 2011 6
Pattern-based Evolution Benefits for Pattern-based Reuse
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
The Anatomy of Pattern-based Architecture Evolution
LERO© 2011 7
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).
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Graph-based Change Pattern Notation
LERO© 2011 8
Pattern Specification – as an attributed typed Graph (.GML) notation.
Pattern Storage – Graph databse using Neo4j graph tuples.
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE LERO© 2011 9
Architecture Evolution Case for EBPP
Evolution Use-case – Component Integration
Inclusion of Customer debt management in existing architecture
- Pre-conditions: architectural context before evolution
- Operationsliastion : individual change instances
- Postconditions : architectural context after evolution
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Pattern-based Architecture Evolution
LERO© 2010 10
Step 1: Architecture Change Specification.
Step 2: Change Pattern Retrieval
Step 3: Change Pattern Instantiation
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Step 1: Change Specification
LERO© 2010 11
A declarative specification allows syntactical context of architectural change:
i) Source Architecture Model (GS)
ii) Architectural Constraints as pre- and post-conditions (PRE, POST ∈ [CNS])
iii) Architecture Elements (AE) that need to evolved such that AE ∈ GS.
Context Constraints: Gs inv, pre, post -- Constraints specification on architecture model
-- Invarinats for structural integrity of component and connector
inv: Constraints.INV -> forAll(Component.hasPORT >= 1)
-- Preconditions to specify existence of architecture elements before evolution
pre: Constraints.PRE -> exists(Component = ‘BillerApp’)
pre: Constraints.PRE -> exists(Connector(BillerApp, custBill) | Connector = ‘billingData’)
-- Post to specify existence of architecture elements after evolution
post: Constraints.POST-> exists(Component = ‘BillerApp’)
post: Constraints.POST -> exists(Component = ‘custBill’)
post: Constraints.POST -> exists(Connector(billType, custBill) | Connector = ‘getType’)
OCL-based Constraints Specification on Architecture Models
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Step 2: Change Pattern Retrieval
LERO© 2010 12
(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.
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Step 3: Change Pattern Instantiation
LERO© 2010 13
TT
IS
S GGG
Ss GSm : Tt GTm :
II GIm :
- Pattern Instantiation
- Addition Add<billType • ∈ CMP>;
Add<billingType ∈ CON>;
Add<getType ∈ CON>
- Removal Rem<billingData ∈ CON>.
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Experimental Analysis & Evaluation
LERO© 2010 14
1 Scenario-based Evaluation - EBPP & TRS Evolution Cases
- Pattern Types & Adequacy
2 Prototype-based Validation - Automated Pattern-based Evolution
- Survey & Usability Analysis
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Discover Evolution Pattern - prototype: G-Pride Maintain Pattern Library - prototype: Pat-Lib Reuse Change Execution - prototype: Pat-Evol
Pa
t-Ev
ol P
roje
ct
Recap
THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE LERO© 2011 16
Thank you for your attention.
Top Related