SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Graph-based Pattern Identification
        Welcome
 from Architecture Change Logs
 Presentation Title
  Aakash Ahmad, Pooyan Jamshidi and Claus Pahl

          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
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 and data stores (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 attributes of change in terms of integration, replacement, decomposition etc.




                                                                                                            2
LERO© 2011                                                 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
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]



                                                                                                              3
LERO© 2011                                                   THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Change Patterns to guide Architecture Evolution
Central Hypothesis: A systematic investigation into the history of architectural changes enables discovery
    of recurring operationalisation and patterns that guide architecture change management.

- Change Log: a transparent, centrally manageable repository maintaining traces of evolution over time
- Change Graph: formalising change instances for an automated analysis of operationalisation and dependencies.
                   Pattern-based Evolution                                      Benefits for Pattern-based Reuse




                                                                                                              4
 LERO© 2011                                               THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Related Research - Patterns and Evolution
                       Evolution in SOAs?                                        Patterns in Architectural Abstractions?
                  Evolution 1Patterns                                                  Process Change Patterns
         Repository                         Paths                                          Process-centric Evolution


     Evolution Shelf                  Evolution Styles                       Process Change Patterns    Process Mining and Evolution




                                                         MESOA’07’08’09’10


                                               Maintenance, Evolution, Adaptation
                                                    Reuse of Evolution in SOAs
                                                                                                                               5
LERO© 2011                                                           THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Log-based Analysis of Architecture Change
Architecture Change Logs (ACL) as a knowledge base provide us with a transparent and centrally
manageable repository by maintaining fine-granular instances of sequential change aggregating over time.

- Adequacy of Change Log Data                                ACL =< AC1,AC2, . . . ,ACN >
    Completeness, Granularity of Change, etc.

- Log Data Classification
   Change Data & Auxiliary Data

- Architecture Change Instances
   EBPP and TRS case studies




                                                                                                          6
 LERO© 2010                                              THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Architecture Evolution Case Study
                                   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




                                                                                                 7
LERO© 2011                                      THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Solution Overview

  1. The Pre-processing Approach
        - Capturing Change Instances
        - Log Data Classification
        - Change Instance Formalisation

  2. Log Data Analysis
       - Change Operationalisation
       - Operational Dependencies
       - Pattern Identification




                                                                                           8
LERO© 2010                                THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Graph-based Formalisation of Change Instances
        - Formalise Change Instances from Log as an Attributed Typed Graph
        - Formal analysis and effiecient processing of significantly large data size
        - Graph-mining as a formal approach to discover operationalisation and patterns




                                                                                                       9
LERO© 2010                                            THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
A
                                                XML Schema

                                        B
                                                Graph Metadata
                                        C
                                                Graph Instance


                                        D
                                                Attributed Nodes


                                         E
                                                Attributed Edges


                                                              10
LERO© 2010   THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
The Anatomy of Pattern-based Architecture Evolution
   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
                                                                                                            11
                                                           THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
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 & Inordered
LERO© 2011                                               THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Architecture Change Sequencing




                   Matching Functions
                    - TypeEquv (Sx.77, Sy.313)  return < true >
                    - TypeEquv (Sx, Sy)  return < 1 >
                    - OrdEquv(Sx, Sy)  return < false >




                                                                                                 13
LERO© 2011                                      THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Overview of Pattern Identification Process

Apriori-based approach - Breadth First Search
strategy during each iteration to
    i) Generate pattern candidates (CP)
    ii) Validate pattern candidates from CP’
   iii) Occurance frequency of CP’in GC.



       Graph Objects


   Sequence Length

Sequence Frequencies

                                                                                                 14
LERO© 2011                                      THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Step 1 : Candidate Generation
                 candidateGeneration()
 1.   Input(s)
      - Change Graph GC,
      - Min Length of Candidate minLen(CP),
      - Max Length of Candidate maxLen(CP)

 2. Processing
     s1: start iteration at root ← GC .getRoot()
     s2: while minLen(CP) ≤ CandidateLength ≤ maxLen(CP)
     s3: get candidate list
     buff(CP ) ← < cp1(n1.n2); cp2(n2.n3);…; cp7(n3:n4:n5)>
     s4: allow node matching [TypeEquv(ni, nj)]
                                      𝑚𝑎𝑡𝑐ℎ                    𝑚𝑎𝑡𝑐ℎ
      nodeMatching(ni, nj) : ni.opr           nj.opr ^ ni.ae           nj.ae

 3. Output(s)
    A list of generated candidates List(CP)




                                                                                                                15
LERO© 2011                                                     THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Step 2 : Candidate Validation
                candidateValidation()
1. Input(s)
     - Pattern Candidate cp ⊆ GC,
     - Min Length of Candidate minLen(CP),
     - Max Length of Candidate maxLen(CP)

2. Processing
    s1: set isValid ← false
    s2: iterate while node ← 0 to node ≤ cp.length()
    s3: validate if lookUp(cp.node.AE) == true return <true>
    s4: otherwise return <false>

3. Output(s)
    - A boolean <true/false> value indicating a valid/invalid
candidate




                                                                                                          16
 LERO© 2011                                              THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Step 3 : Pattern Matching
                        patternMatch()
1. Input(s)
     - Change Graph GC,
     - Min Length of Candidate minLen(CP),
     - Max Length of Candidate maxLen(CP)

2. Processing
    s1: start iteration at root ← GC .getRoot()
    s2: while minLen(CP) ≤ CandidateLength ≤ maxLen(CP)
    s3: get candidate list
    buff(CP ) ← < cp1(n1.n2); cp2(n2.n3);…; cp7(n3:n4:n5)>
    s4: allow node matching [TypeEquv(ni, nj)]
                                    𝑚𝑎𝑡𝑐ℎ                    𝑚𝑎𝑡𝑐ℎ
    nodeMatching(ni, nj) : ni.opr           nj.opr ^ ni.ae           nj.ae

3. Output(s)
   A list of generated candidates List(CP)




                                                                                                               17
LERO© 2011                                                    THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Identified Pattern Types
 A pre-defined Pattern Classification types CLS =< Inclusion, Exclusion, Replacement >




                                                                                                     18
LERO© 2011                                          THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
An Identified Pattern Instance : Co-related Inclusion




                                                                                Name, Intent, Context

Operationalisation
                                                                                Architecture Elements


                                                                                                 19
   LERO© 2010                                   THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Algorithmic Analysis




   - Linear Growth, Pattern Instances ∝ 1/Frequency
   - Parameterisations Vital for Frequency Threshold, Graph Size, Minimum and Maximum Pattern Lengths.




                                                                                                             20
LERO© 2011                                                  THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Tool Support
                  G-Pride                           Pat-Lib




 Possible Limitations
 - Architecture Type: beyond a pre-defined architecture model is not evaluated yet.

 - Change Anti-patterns: resulting from counter-productive pattern-based evolution.
                                                                                                       21
LERO© 2011                                            THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Future Work
The notion of a change pattern language
 - Semantic relationships among patterns that exist in the catalogue
- Exploiting pattern-level vocabulary to address common evolution tasks.


Architectural transformation by means of instantiating change patterns.
- Allow architects to model and execute generic and potentially reusable solution to recurring architecture
   evolution problems.
- A graph-transformation system to support architecture evolution guided by change patterns.
- A prototype (Pat-Evol) shall allow a experimental data to evaluate the adequacy and applicability of the
   proposed solution in a practical context.



                                                                                                              22
 LERO© 2011                                                  THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
Thank you for your attention.




                                                                                 23
LERO© 2011                      THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE

Mais conteúdo relacionado

Semelhante a Graph Pattern Identification

Defining and Evaluating the Usability of CMS - Saurabh Kudesia
 Defining and Evaluating the Usability of CMS - Saurabh Kudesia   Defining and Evaluating the Usability of CMS - Saurabh Kudesia
Defining and Evaluating the Usability of CMS - Saurabh Kudesia STC India UX SIG
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]Ivano Malavolta
 
EasySOA: A New Approach to SOA
EasySOA: A New Approach to SOAEasySOA: A New Approach to SOA
EasySOA: A New Approach to SOANuxeo
 
Innovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Innovative Marriage of Security and Performance in SOA Based Dynamic EnterprisesInnovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Innovative Marriage of Security and Performance in SOA Based Dynamic EnterprisesDr. Mehmet Yildiz
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)David Rosenblum
 
20120716 L2 Soa For Enterprise Og Wsh Conf
20120716 L2 Soa For Enterprise Og Wsh Conf20120716 L2 Soa For Enterprise Og Wsh Conf
20120716 L2 Soa For Enterprise Og Wsh ConfSUNDAR RAMANATHAN
 
20120716 l2 soa for enterprise-og-wsh-conf
20120716 l2 soa for enterprise-og-wsh-conf20120716 l2 soa for enterprise-og-wsh-conf
20120716 l2 soa for enterprise-og-wsh-confSUNDAR RAMANATHAN
 
[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology
[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology
[WSO2Con USA 2018] Deep-dive into Agile Architecture and MethodologyWSO2
 
Malone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementationMalone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementationThanapan Ittisakulchai
 
Axel uhl sap@md-day2011
Axel uhl sap@md-day2011Axel uhl sap@md-day2011
Axel uhl sap@md-day2011MDDAY11
 
Jeff.robinson
Jeff.robinsonJeff.robinson
Jeff.robinsonNASAPMC
 
Jeff.robinson
Jeff.robinsonJeff.robinson
Jeff.robinsonNASAPMC
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architectureTot Bob
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David AmellerDavid Ameller
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureBob Rhubart
 
RESTful SOA and the Spring Framework (EMCWorld 2011)
RESTful SOA and the Spring Framework (EMCWorld 2011)RESTful SOA and the Spring Framework (EMCWorld 2011)
RESTful SOA and the Spring Framework (EMCWorld 2011)EMC
 
Workflow bis17
Workflow bis17Workflow bis17
Workflow bis17sakpob
 

Semelhante a Graph Pattern Identification (20)

Framework
FrameworkFramework
Framework
 
Defining and Evaluating the Usability of CMS - Saurabh Kudesia
 Defining and Evaluating the Usability of CMS - Saurabh Kudesia   Defining and Evaluating the Usability of CMS - Saurabh Kudesia
Defining and Evaluating the Usability of CMS - Saurabh Kudesia
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]
 
EasySOA: A New Approach to SOA
EasySOA: A New Approach to SOAEasySOA: A New Approach to SOA
EasySOA: A New Approach to SOA
 
Innovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Innovative Marriage of Security and Performance in SOA Based Dynamic EnterprisesInnovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Innovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 
20120716 L2 Soa For Enterprise Og Wsh Conf
20120716 L2 Soa For Enterprise Og Wsh Conf20120716 L2 Soa For Enterprise Og Wsh Conf
20120716 L2 Soa For Enterprise Og Wsh Conf
 
20120716 l2 soa for enterprise-og-wsh-conf
20120716 l2 soa for enterprise-og-wsh-conf20120716 l2 soa for enterprise-og-wsh-conf
20120716 l2 soa for enterprise-og-wsh-conf
 
[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology
[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology
[WSO2Con USA 2018] Deep-dive into Agile Architecture and Methodology
 
Malone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementationMalone r12 upgrade-versus-reimplementation
Malone r12 upgrade-versus-reimplementation
 
Axel uhl sap@md-day2011
Axel uhl sap@md-day2011Axel uhl sap@md-day2011
Axel uhl sap@md-day2011
 
Jeff.robinson
Jeff.robinsonJeff.robinson
Jeff.robinson
 
Jeff.robinson
Jeff.robinsonJeff.robinson
Jeff.robinson
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
 
RESTful SOA and the Spring Framework (EMCWorld 2011)
RESTful SOA and the Spring Framework (EMCWorld 2011)RESTful SOA and the Spring Framework (EMCWorld 2011)
RESTful SOA and the Spring Framework (EMCWorld 2011)
 
Workflow bis17
Workflow bis17Workflow bis17
Workflow bis17
 
java
javajava
java
 
Services oriented architecture
Services oriented architectureServices oriented architecture
Services oriented architecture
 

Último

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 

Último (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Graph Pattern Identification

  • 1. Graph-based Pattern Identification Welcome from Architecture Change Logs Presentation Title Aakash Ahmad, Pooyan Jamshidi and Claus Pahl 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. 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 and data stores (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 attributes of change in terms of integration, replacement, decomposition etc. 2 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 3. 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] 3 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 4. Change Patterns to guide Architecture Evolution Central Hypothesis: A systematic investigation into the history of architectural changes enables discovery of recurring operationalisation and patterns that guide architecture change management. - Change Log: a transparent, centrally manageable repository maintaining traces of evolution over time - Change Graph: formalising change instances for an automated analysis of operationalisation and dependencies. Pattern-based Evolution Benefits for Pattern-based Reuse 4 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 5. Related Research - Patterns and Evolution Evolution in SOAs? Patterns in Architectural Abstractions? Evolution 1Patterns Process Change Patterns Repository Paths Process-centric Evolution Evolution Shelf Evolution Styles Process Change Patterns Process Mining and Evolution MESOA’07’08’09’10 Maintenance, Evolution, Adaptation Reuse of Evolution in SOAs 5 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 6. Log-based Analysis of Architecture Change Architecture Change Logs (ACL) as a knowledge base provide us with a transparent and centrally manageable repository by maintaining fine-granular instances of sequential change aggregating over time. - Adequacy of Change Log Data ACL =< AC1,AC2, . . . ,ACN > Completeness, Granularity of Change, etc. - Log Data Classification Change Data & Auxiliary Data - Architecture Change Instances EBPP and TRS case studies 6 LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 7. Architecture Evolution Case Study 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 7 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 8. Solution Overview 1. The Pre-processing Approach - Capturing Change Instances - Log Data Classification - Change Instance Formalisation 2. Log Data Analysis - Change Operationalisation - Operational Dependencies - Pattern Identification 8 LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 9. Graph-based Formalisation of Change Instances - Formalise Change Instances from Log as an Attributed Typed Graph - Formal analysis and effiecient processing of significantly large data size - Graph-mining as a formal approach to discover operationalisation and patterns 9 LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 10. A XML Schema B Graph Metadata C Graph Instance D Attributed Nodes E Attributed Edges 10 LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 11. The Anatomy of Pattern-based Architecture Evolution 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 11 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 12. 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 & Inordered LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 13. Architecture Change Sequencing Matching Functions - TypeEquv (Sx.77, Sy.313)  return < true > - TypeEquv (Sx, Sy)  return < 1 > - OrdEquv(Sx, Sy)  return < false > 13 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 14. Overview of Pattern Identification Process Apriori-based approach - Breadth First Search strategy during each iteration to i) Generate pattern candidates (CP) ii) Validate pattern candidates from CP’ iii) Occurance frequency of CP’in GC. Graph Objects Sequence Length Sequence Frequencies 14 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 15. Step 1 : Candidate Generation candidateGeneration() 1. Input(s) - Change Graph GC, - Min Length of Candidate minLen(CP), - Max Length of Candidate maxLen(CP) 2. Processing s1: start iteration at root ← GC .getRoot() s2: while minLen(CP) ≤ CandidateLength ≤ maxLen(CP) s3: get candidate list buff(CP ) ← < cp1(n1.n2); cp2(n2.n3);…; cp7(n3:n4:n5)> s4: allow node matching [TypeEquv(ni, nj)] 𝑚𝑎𝑡𝑐ℎ 𝑚𝑎𝑡𝑐ℎ nodeMatching(ni, nj) : ni.opr nj.opr ^ ni.ae nj.ae 3. Output(s) A list of generated candidates List(CP) 15 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 16. Step 2 : Candidate Validation candidateValidation() 1. Input(s) - Pattern Candidate cp ⊆ GC, - Min Length of Candidate minLen(CP), - Max Length of Candidate maxLen(CP) 2. Processing s1: set isValid ← false s2: iterate while node ← 0 to node ≤ cp.length() s3: validate if lookUp(cp.node.AE) == true return <true> s4: otherwise return <false> 3. Output(s) - A boolean <true/false> value indicating a valid/invalid candidate 16 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 17. Step 3 : Pattern Matching patternMatch() 1. Input(s) - Change Graph GC, - Min Length of Candidate minLen(CP), - Max Length of Candidate maxLen(CP) 2. Processing s1: start iteration at root ← GC .getRoot() s2: while minLen(CP) ≤ CandidateLength ≤ maxLen(CP) s3: get candidate list buff(CP ) ← < cp1(n1.n2); cp2(n2.n3);…; cp7(n3:n4:n5)> s4: allow node matching [TypeEquv(ni, nj)] 𝑚𝑎𝑡𝑐ℎ 𝑚𝑎𝑡𝑐ℎ nodeMatching(ni, nj) : ni.opr nj.opr ^ ni.ae nj.ae 3. Output(s) A list of generated candidates List(CP) 17 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 18. Identified Pattern Types A pre-defined Pattern Classification types CLS =< Inclusion, Exclusion, Replacement > 18 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 19. An Identified Pattern Instance : Co-related Inclusion Name, Intent, Context Operationalisation Architecture Elements 19 LERO© 2010 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 20. Algorithmic Analysis - Linear Growth, Pattern Instances ∝ 1/Frequency - Parameterisations Vital for Frequency Threshold, Graph Size, Minimum and Maximum Pattern Lengths. 20 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 21. Tool Support G-Pride Pat-Lib Possible Limitations - Architecture Type: beyond a pre-defined architecture model is not evaluated yet. - Change Anti-patterns: resulting from counter-productive pattern-based evolution. 21 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 22. Future Work The notion of a change pattern language - Semantic relationships among patterns that exist in the catalogue - Exploiting pattern-level vocabulary to address common evolution tasks. Architectural transformation by means of instantiating change patterns. - Allow architects to model and execute generic and potentially reusable solution to recurring architecture evolution problems. - A graph-transformation system to support architecture evolution guided by change patterns. - A prototype (Pat-Evol) shall allow a experimental data to evaluate the adequacy and applicability of the proposed solution in a practical context. 22 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE
  • 23. Thank you for your attention. 23 LERO© 2011 THE IRISH SOFTWARE ENGINEERING RESEARCH CENTRE