SlideShare a Scribd company logo
1 of 21
Download to read offline
Run-time Monitoring-based Evaluation andCommunication Integrity Validation of SoftwareArchitectures 
Ana Dragomir 
02.12.2014 
Motivation 
State of the art vs. state of the practice 
Goals 
Approach 
Evaluation 
Summary and outlook
The ARAMIS ProjectMotivation 
“You don’t need architecture to build a dog kennel, but you’d better have some for a skyscraper” 
Software architecture (SA) description is useful to understand and meaningfully evolve a software system but… 
“Is it just a shared hallucination?” 
…the architecture drifts from its description! 
The description: 
is no longer as useful 
can lead to misunderstandings 
domino effect
Problem Statement 
SHOULD 
IS 
VS.
Stakeholders 
Architects 
Software Landscape Architects 
Are the systems of the landscape interacting as prescribed? 
Which systems are the hubs and sinks? 
Software Architects 
Is the system built according to its description? 
Which architecture units are the hubs and sinks? 
Which architecture units are “too complex”? 
Software Developers 
If I need to change a requirement, how can I quickly find out how it is currently implemented? 
What architecture/software units are interacting & how?
State of the ArtRelated Work
State of the ArtRelated Work
State of the PracticeOur Experience: Company 1 
CMMI Level 3 
More than 1000 IT Employees 
Large, heterogeneous systems (Java EE, Cobol, …) 
System architecture 
Decisions and architecture are documented, though separately 
Code-quality monitors (e.g., Sonarqube) are used 
Enterprise architecture 
Inter-system information flow diagrams 
Manual proces 
No architecture reconstruction tools! 
“Read the documentation, then start making phone calls” 
Reconstruction is cumbersomeand must be supplemented with support for evolution
State of the PracticeOur Experience: Company 2 
Medium Enterprise 
More than 500 IT Employees 
Mainly Java-based systems 
Systemarchitecture 
“The Developer Handbook” 
Low-level descriptions 
Abstract view of the system missing 
Jointattempt with SWC to reconstruct the architecture 
Purchased Sonargraph Architect 
Encountered terminology differences
State of the ArtFlaws 
The reconstruction occurs on very different abstraction levels 
Structural view: layers, modules, subsystems, etc. 
Behavioral view: objects, methods, etc. 
Heterogeneity of terminology is not addressed 
Reconstruction tools have stiff meta-models 
The architects expect results that conform to their terminology 
Heterogeneity of systems is not properly addressed 
The interplay of heterogeneous systems is important 
Reconstruction by itself is not a goal 
Are the units behaving as expected? What are the deviations? 
Evolution support is needed!
Goals 
Improve the traceabilitybetween usage scenarios, implementation and architecture documentation 
Develop/Use a minimally intrusive technical solution for run-time monitoring and real-time visualization 
Provide a means to evaluateif the predetermined architecture rules have been respected 
Easily extendablesolution
Multi-level Behavior Monitoring 
XX 
X 
Y 
MM 
M 
To 
From 
Operation Name 
Parameters 
Monitoring 
Systems To Monitor 
Analysis 
m2 
m3 
m4 
m6 
AA 
A 
B 
m1 
m10 
m7 
m8 
m9 
Interest: communication 
between AA, XX, MM 
AA 
XX 
MM 
m2 
m5 
m6 
m8 
m9 
Interest: communication 
within AA 
A 
B 
m1 
m10 
m7 
Interest: High level 
violations 
AA 
MM 
m8 
m9
Architecture 
ARAMISfor Communication Integrity Checking and Evaluation
Architecture Meta-model
Metrics @ ARAMIS 
Goal: find weak points in the analyzed behavior 
Step 1: Characterize behavior 
Step 2: Compare previous result with the architects’ expectations 
Metrics Categories 
Behavioral coupling and cohesion metrics 
Behavior hotspots 
Violations-based metrics
ARAMISCoupling and Cohesion Metrics 
Behavioral Coupling (BCo) 
Behavioral Cohesion (BCh) 
Scenario-based Unit Behavior Metric (SUB) 
Cohesion vs. Coupling of an Architecture Unit 
SUB = 퐵퐶ℎ 퐵퐶ℎ+퐵퐶표 
SUB Characterization (SUBC) 
High coupling/low cohesion; SUB ∈[0, 0.5) 
Mid coupling/mid cohesion; SUB ∈[0,5, 0.66) 
Low coupling/high cohesion;SUB ∈[0.66, 1]
Evaluation 
Phase 1: validation of communication rules 
The MosAICsoftware system 
Incentive: an initial architecture description was available 
interest in evaluating its conformance 
111753 LOC 
116 classes, 10 packages 
Defined 4 top-level units & 16 inner units 
20 allowed rules 
>100000 monitored calls 
3 distinct architecture violations (frequencies: 1, 2, 22 resp.) 
The result was used to improve the architecture 
Increased confidence in MosAIC’squality
Evaluation 
Phase 2: relevance of the SUB and SUBC metrics 
The JHotDrawframework 
Incentive: presumably, a good designed architecture 
126068 LOC 
529 classes, 38 packages 
Defined 12 top-level units but only 7 were used at run-time 
No rules 
> 150000 monitored calls
Evaluation 
JHotDrawresults
Conclusions 
ARAMIS aims to: 
Support the understanding of software systems 
Validate their communication integrity 
Assess their behavior 
The current results are promising 
Evaluated two projects 
MosAIC 
JHotDraw
Outlook 
Develop relevant multi-level visualizations 
Experiment with monitoring the inter-play of heterogeneous systems 
Model evolution scenarios 
Simulation & Impact analysis 
Explore further relevant metrics to depict the quality of the architecture 
Flexible quality model, tailorableaccording to the specific needs of the architects
Summary 
ARAMIS 
Flexible approach towards 
Monitoring architecture 
Validating its communication integrity according to specified rules 
Assessing its quality 
Supporting a reasonable evolution

More Related Content

What's hot

Software architecture
Software architectureSoftware architecture
Software architectureUdayna
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsGatte Ravindranath
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Lecture 17 design concepts (2)
Lecture 17   design concepts (2)Lecture 17   design concepts (2)
Lecture 17 design concepts (2)IIUI
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patternsHimanshu
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysisCAST
 
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...CodeOps Technologies LLP
 
Lecture 18 design concepts (3)
Lecture 18   design concepts (3)Lecture 18   design concepts (3)
Lecture 18 design concepts (3)IIUI
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7mohammad hossein Jalili
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsMuhammadTalha436
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Dhivyaa C.R
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)Arun Shukla
 

What's hot (20)

Software architecture
Software architectureSoftware architecture
Software architecture
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design Patterns
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
03 basic concepts
03 basic concepts03 basic concepts
03 basic concepts
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
 
Lecture 17 design concepts (2)
Lecture 17   design concepts (2)Lecture 17   design concepts (2)
Lecture 17 design concepts (2)
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysis
 
Slides chapter 8
Slides chapter 8Slides chapter 8
Slides chapter 8
 
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Lecture 18 design concepts (3)
Lecture 18   design concepts (3)Lecture 18   design concepts (3)
Lecture 18 design concepts (3)
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
 
Data Designs (Software Engg.)
Data Designs (Software Engg.)Data Designs (Software Engg.)
Data Designs (Software Engg.)
 

Viewers also liked

Community Water Management: Arvari Basin, India
Community Water Management: Arvari Basin, IndiaCommunity Water Management: Arvari Basin, India
Community Water Management: Arvari Basin, IndiaAlison Prior
 
Community based natural resource management
Community based natural resource managementCommunity based natural resource management
Community based natural resource managementIFAD Vietnam
 
#MP2013 Presentation by the Minister of Mines and Steel Development
#MP2013 Presentation by the Minister of Mines and Steel Development#MP2013 Presentation by the Minister of Mines and Steel Development
#MP2013 Presentation by the Minister of Mines and Steel DevelopmentFMINigeria
 
Proposed Nairobi River Waterfalls Conservancy Structure
Proposed Nairobi River Waterfalls Conservancy StructureProposed Nairobi River Waterfalls Conservancy Structure
Proposed Nairobi River Waterfalls Conservancy StructureMILLA MENGA
 
Case study: Community-based natural resource management: Case of Thai ethnic ...
Case study: Community-based natural resource management: Case of Thai ethnic ...Case study: Community-based natural resource management: Case of Thai ethnic ...
Case study: Community-based natural resource management: Case of Thai ethnic ...SPERI
 
National mineral development corporation
National mineral development corporationNational mineral development corporation
National mineral development corporationPranjal Sao
 

Viewers also liked (6)

Community Water Management: Arvari Basin, India
Community Water Management: Arvari Basin, IndiaCommunity Water Management: Arvari Basin, India
Community Water Management: Arvari Basin, India
 
Community based natural resource management
Community based natural resource managementCommunity based natural resource management
Community based natural resource management
 
#MP2013 Presentation by the Minister of Mines and Steel Development
#MP2013 Presentation by the Minister of Mines and Steel Development#MP2013 Presentation by the Minister of Mines and Steel Development
#MP2013 Presentation by the Minister of Mines and Steel Development
 
Proposed Nairobi River Waterfalls Conservancy Structure
Proposed Nairobi River Waterfalls Conservancy StructureProposed Nairobi River Waterfalls Conservancy Structure
Proposed Nairobi River Waterfalls Conservancy Structure
 
Case study: Community-based natural resource management: Case of Thai ethnic ...
Case study: Community-based natural resource management: Case of Thai ethnic ...Case study: Community-based natural resource management: Case of Thai ethnic ...
Case study: Community-based natural resource management: Case of Thai ethnic ...
 
National mineral development corporation
National mineral development corporationNational mineral development corporation
National mineral development corporation
 

Similar to Run-time Monitoring-based Evaluation and Communication Integrity Validation of Software Architectures

Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureObeo
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architectureIvano Malavolta
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using addJavid iqbal hashmi
 
Software Architecture
Software Architecture Software Architecture
Software Architecture ssuser9d62d6
 
Lecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.docLecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.docesrabilgic2
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1stanbridge
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1stanbridge
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfAkilaGamage2
 
Software Architecture Standard IEEE 1471
Software Architecture Standard IEEE 1471Software Architecture Standard IEEE 1471
Software Architecture Standard IEEE 1471vconovalov
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIvano Malavolta
 
Software_Archi-1.ppt
Software_Archi-1.pptSoftware_Archi-1.ppt
Software_Archi-1.pptFaizaZulkifal
 

Similar to Run-time Monitoring-based Evaluation and Communication Integrity Validation of Software Architectures (20)

Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
 
[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
 
SA_UNIT_1.pptx
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptx
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using add
 
Software Architecture
Software Architecture Software Architecture
Software Architecture
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
 
Chapter1
Chapter1Chapter1
Chapter1
 
Unit 2
Unit 2Unit 2
Unit 2
 
Lecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.docLecture-_-5-_SDA_software design and architecture.doc
Lecture-_-5-_SDA_software design and architecture.doc
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Unit2 2
Unit2 2Unit2 2
Unit2 2
 
Lecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdfLecture-2-Architectural_Concepts.pdf
Lecture-2-Architectural_Concepts.pdf
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
Software Architecture Standard IEEE 1471
Software Architecture Standard IEEE 1471Software Architecture Standard IEEE 1471
Software Architecture Standard IEEE 1471
 
3 analysis and design overview
3 analysis and design overview3 analysis and design overview
3 analysis and design overview
 
Ooad
OoadOoad
Ooad
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
Software_Archi-1.ppt
Software_Archi-1.pptSoftware_Archi-1.ppt
Software_Archi-1.ppt
 

Recently uploaded

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 

Recently uploaded (20)

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 

Run-time Monitoring-based Evaluation and Communication Integrity Validation of Software Architectures

  • 1. Run-time Monitoring-based Evaluation andCommunication Integrity Validation of SoftwareArchitectures Ana Dragomir 02.12.2014 Motivation State of the art vs. state of the practice Goals Approach Evaluation Summary and outlook
  • 2. The ARAMIS ProjectMotivation “You don’t need architecture to build a dog kennel, but you’d better have some for a skyscraper” Software architecture (SA) description is useful to understand and meaningfully evolve a software system but… “Is it just a shared hallucination?” …the architecture drifts from its description! The description: is no longer as useful can lead to misunderstandings domino effect
  • 4. Stakeholders Architects Software Landscape Architects Are the systems of the landscape interacting as prescribed? Which systems are the hubs and sinks? Software Architects Is the system built according to its description? Which architecture units are the hubs and sinks? Which architecture units are “too complex”? Software Developers If I need to change a requirement, how can I quickly find out how it is currently implemented? What architecture/software units are interacting & how?
  • 5. State of the ArtRelated Work
  • 6. State of the ArtRelated Work
  • 7. State of the PracticeOur Experience: Company 1 CMMI Level 3 More than 1000 IT Employees Large, heterogeneous systems (Java EE, Cobol, …) System architecture Decisions and architecture are documented, though separately Code-quality monitors (e.g., Sonarqube) are used Enterprise architecture Inter-system information flow diagrams Manual proces No architecture reconstruction tools! “Read the documentation, then start making phone calls” Reconstruction is cumbersomeand must be supplemented with support for evolution
  • 8. State of the PracticeOur Experience: Company 2 Medium Enterprise More than 500 IT Employees Mainly Java-based systems Systemarchitecture “The Developer Handbook” Low-level descriptions Abstract view of the system missing Jointattempt with SWC to reconstruct the architecture Purchased Sonargraph Architect Encountered terminology differences
  • 9. State of the ArtFlaws The reconstruction occurs on very different abstraction levels Structural view: layers, modules, subsystems, etc. Behavioral view: objects, methods, etc. Heterogeneity of terminology is not addressed Reconstruction tools have stiff meta-models The architects expect results that conform to their terminology Heterogeneity of systems is not properly addressed The interplay of heterogeneous systems is important Reconstruction by itself is not a goal Are the units behaving as expected? What are the deviations? Evolution support is needed!
  • 10. Goals Improve the traceabilitybetween usage scenarios, implementation and architecture documentation Develop/Use a minimally intrusive technical solution for run-time monitoring and real-time visualization Provide a means to evaluateif the predetermined architecture rules have been respected Easily extendablesolution
  • 11. Multi-level Behavior Monitoring XX X Y MM M To From Operation Name Parameters Monitoring Systems To Monitor Analysis m2 m3 m4 m6 AA A B m1 m10 m7 m8 m9 Interest: communication between AA, XX, MM AA XX MM m2 m5 m6 m8 m9 Interest: communication within AA A B m1 m10 m7 Interest: High level violations AA MM m8 m9
  • 12. Architecture ARAMISfor Communication Integrity Checking and Evaluation
  • 14. Metrics @ ARAMIS Goal: find weak points in the analyzed behavior Step 1: Characterize behavior Step 2: Compare previous result with the architects’ expectations Metrics Categories Behavioral coupling and cohesion metrics Behavior hotspots Violations-based metrics
  • 15. ARAMISCoupling and Cohesion Metrics Behavioral Coupling (BCo) Behavioral Cohesion (BCh) Scenario-based Unit Behavior Metric (SUB) Cohesion vs. Coupling of an Architecture Unit SUB = 퐵퐶ℎ 퐵퐶ℎ+퐵퐶표 SUB Characterization (SUBC) High coupling/low cohesion; SUB ∈[0, 0.5) Mid coupling/mid cohesion; SUB ∈[0,5, 0.66) Low coupling/high cohesion;SUB ∈[0.66, 1]
  • 16. Evaluation Phase 1: validation of communication rules The MosAICsoftware system Incentive: an initial architecture description was available interest in evaluating its conformance 111753 LOC 116 classes, 10 packages Defined 4 top-level units & 16 inner units 20 allowed rules >100000 monitored calls 3 distinct architecture violations (frequencies: 1, 2, 22 resp.) The result was used to improve the architecture Increased confidence in MosAIC’squality
  • 17. Evaluation Phase 2: relevance of the SUB and SUBC metrics The JHotDrawframework Incentive: presumably, a good designed architecture 126068 LOC 529 classes, 38 packages Defined 12 top-level units but only 7 were used at run-time No rules > 150000 monitored calls
  • 19. Conclusions ARAMIS aims to: Support the understanding of software systems Validate their communication integrity Assess their behavior The current results are promising Evaluated two projects MosAIC JHotDraw
  • 20. Outlook Develop relevant multi-level visualizations Experiment with monitoring the inter-play of heterogeneous systems Model evolution scenarios Simulation & Impact analysis Explore further relevant metrics to depict the quality of the architecture Flexible quality model, tailorableaccording to the specific needs of the architects
  • 21. Summary ARAMIS Flexible approach towards Monitoring architecture Validating its communication integrity according to specified rules Assessing its quality Supporting a reasonable evolution