SlideShare a Scribd company logo
Parallel Verification of
Software Architecture
Design
IEEE International Symposium on High Quality Assurance
Systems Engineering (HASE) 2019
Nacha Chondamrongkul, Jing Sun, Ian Warren, Bingyang Wei
University of Auckland
New Zealand
Software
Architecture
◼ Software architecture shows structures of the
system which comprise software components
and their relationship
◼ Require the verification to prevent design
flaws carried forwards to the implementation
◼ Design flaws can affect system reliability and
maintainability
◼ Model Checking can automate the verification
but the large model but there is two issues:
▪ State space explosion problem.
▪ Complexity in modelling and verification
Objective
● Improve the scalability of the verification in large-scale
software architecture design.
○ The verification aims to detect design flaws, such as dependency
bottleneck and circular dependency, that affect system
maintainability and/or performance.
○ Model is automatically splitted into smaller sub-models, which is
verifiable in parallel with multi-threading support
● Abstract the complexity in model checking technique for
software engineers.
○ The web service is developed to allow other tools to integrate with.
Approach Overview
Behavioural Modelling
Component = [Comp0
, Comp1
, Comp2
,... CompN
]
Port (Comp1)= [P0,1
, P0,2
, … P0,N-2
]
Communicating Sequential Process (CSP) #
As we use PAT as a model checker, CSP# is used to define the model and the processes
that form the execution of system.
● The initial process set the values to two dimensional array that represent the
interaction matrix .
Initial() = initialize {
reqmat[0][0] = 1;reqmat[0][1] = -1;reqmat[0][2] = -1;...
● Two process forms the request and invoke event.
Request(i) = invoke.component[i] -> RequestNext(i);
RequestNext(i) = [] x:{0..(N-1)} @[reqmat[i][x]>=0] request.component[reqmat[i][x]]
-> Request(reqmat[i][x]);
Behavioural Verification
Circular Dependency - a circumstance when a set of
components consume services on one another as a circle.
- Change to one of component causes ripple effect to other
component.
- The execution may leads to deadlock.
Circular Dependency Detection
The detection is based on the liveness property and weak
fairness constraints in the model checking technique.
[]<>request.(Compi
)
The formula helps to probe different scenario that the
components are invoked in the model and the
counterexample is analysed to find loop in the execution path.
Temporal Modalities
[] always
<> eventually
Behavioural Verification
Dependency Bottleneck - when more than one component
rely on a service on a component.
- Change to the component causes consequence changes
to the components that rely on.
- Potentially worsens the system response time due to the
thread contention
Bottleneck Detection
The detection check the execution path when the
invoke.Compi event occurs more.
[] (invoke:Compi -> <> request:Compj)
Implementation
The verification is implemented as
web service to abstract the
complexity in modelling and
verification
● Derive Dependency Structure
Matrix (DSM) from analysis
tools
● Input DSM as JSON
● Return defect type and scenario
that cause it.
Parallel Verification
Multi-Model Verification
Designing the software architecture with monolithic
approach that includes all details of the software system in a
single model is highly complex and vulnerable to the state
space explosion.
We split the model into smaller sub-model either manually or
automatically. Then the sub-models are verified in
asynchronous manner on pools of verification service
Performance Evaluation
Multi-Modular Model vs Single Monolithic Model
Multi-Thread Verification
As the LTL formula to detect design flaws is used to generate
assertions that can be executed independently.
We developed multiple asynchronous threading that allow
number of LTL assertions to be executed simultaneously.
Thread scheduler algorithm is proposed to allocate an
available thread to execute an assertion.
Performance Evaluation
Set #1 - 10 components
Set #2 - 20 components
Set #3 - 30 components
Set #4 - 40 components
Summary
● A scalable approach that models and verifies behaviours in the large
component-based software architecture designs.
● Behavioural problems that are caused by design flaws and affect system
reliability such as circular dependency and bottleneck can be automatically
detected
● Implementation as web service to abstract the complexity in the modelling
and verification process
● Apply parallelism to enhance the performance of verification.
Ad

More Related Content

What's hot (18)

A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...
ijseajournal
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software Engineering
Michelle Azuelo
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
Kuwait10
 
5. ch 4-principles that guide practice
5. ch 4-principles that guide practice5. ch 4-principles that guide practice
5. ch 4-principles that guide practice
Delowar hossain
 
Dataintensive
DataintensiveDataintensive
Dataintensive
sulfath
 
Model-Based Systems Requirements
Model-Based Systems RequirementsModel-Based Systems Requirements
Model-Based Systems Requirements
Jean-Michel Bruel
 
Software Metrics for Identifying Software Size in Software Development Projects
Software Metrics for Identifying Software Size in Software Development ProjectsSoftware Metrics for Identifying Software Size in Software Development Projects
Software Metrics for Identifying Software Size in Software Development Projects
Vishvi Vidanapathirana
 
Software scope
Software scopeSoftware scope
Software scope
Shubham Dubey
 
Ch10
Ch10Ch10
Ch10
Humberto Bruno Pontes Silva
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
stanbridge
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Himanshu
 
Software design metrics
Software design metricsSoftware design metrics
Software design metrics
Prasad Narasimhan
 
Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012
Neelamani Samal
 
Software engg unit 3
Software engg unit 3 Software engg unit 3
Software engg unit 3
Vivek Kumar Sinha
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha Ajith
 
1811 1815
1811 18151811 1815
1811 1815
Editor IJARCET
 
Agile Open 2009 Tdd And Architecture Influences
Agile Open 2009   Tdd And Architecture InfluencesAgile Open 2009   Tdd And Architecture Influences
Agile Open 2009 Tdd And Architecture Influences
Gustavo Andres Brey
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modeling
Abdul Basit
 
A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...
ijseajournal
 
Object Oriented Software Engineering
Object Oriented Software EngineeringObject Oriented Software Engineering
Object Oriented Software Engineering
Michelle Azuelo
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
Kuwait10
 
5. ch 4-principles that guide practice
5. ch 4-principles that guide practice5. ch 4-principles that guide practice
5. ch 4-principles that guide practice
Delowar hossain
 
Dataintensive
DataintensiveDataintensive
Dataintensive
sulfath
 
Model-Based Systems Requirements
Model-Based Systems RequirementsModel-Based Systems Requirements
Model-Based Systems Requirements
Jean-Michel Bruel
 
Software Metrics for Identifying Software Size in Software Development Projects
Software Metrics for Identifying Software Size in Software Development ProjectsSoftware Metrics for Identifying Software Size in Software Development Projects
Software Metrics for Identifying Software Size in Software Development Projects
Vishvi Vidanapathirana
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
stanbridge
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Himanshu
 
Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012
Neelamani Samal
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
Varsha Ajith
 
Agile Open 2009 Tdd And Architecture Influences
Agile Open 2009   Tdd And Architecture InfluencesAgile Open 2009   Tdd And Architecture Influences
Agile Open 2009 Tdd And Architecture Influences
Gustavo Andres Brey
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modeling
Abdul Basit
 

Similar to Parallel verification of software architecture design (20)

PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
cscpconf
 
A03720106
A03720106A03720106
A03720106
inventionjournals
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
ijwscjournal
 
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
IJDKP
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
ijwscjournal
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
ijwscjournal
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
ijwscjournal
 
Asp.net,mvc
Asp.net,mvcAsp.net,mvc
Asp.net,mvc
Prashant Kumar
 
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
MuhammadTalha436
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
RAVALCHIRAG1
 
Cloud data management
Cloud data managementCloud data management
Cloud data management
ambitlick
 
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
KIIT
 
Design Verification
Design VerificationDesign Verification
Design Verification
Ishwaki Thakkar
 
Scale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceScale and Load Testing of Micro-Service
Scale and Load Testing of Micro-Service
IRJET Journal
 
Enhancing Serverless Architecture with Cloud-Native Testing.pdf
Enhancing Serverless Architecture with Cloud-Native Testing.pdfEnhancing Serverless Architecture with Cloud-Native Testing.pdf
Enhancing Serverless Architecture with Cloud-Native Testing.pdf
kalichargn70th171
 
Enhancing Serverless Architecture with Cloud-Native Testing.pdf
Enhancing Serverless Architecture with Cloud-Native Testing.pdfEnhancing Serverless Architecture with Cloud-Native Testing.pdf
Enhancing Serverless Architecture with Cloud-Native Testing.pdf
flufftailshop
 
IC Design Physical Verification
IC Design Physical VerificationIC Design Physical Verification
IC Design Physical Verification
IRJET Journal
 
software architecture and design _Architectural Pattern vs design pattern.docx
software architecture and design _Architectural Pattern vs design pattern.docxsoftware architecture and design _Architectural Pattern vs design pattern.docx
software architecture and design _Architectural Pattern vs design pattern.docx
HanaYaregal
 
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
ijccmsjournal
 
Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...
ijfcstjournal
 
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
cscpconf
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
ijwscjournal
 
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
Referring Expressions with Rational Speech Act Framework: A Probabilistic App...
IJDKP
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
ijwscjournal
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
ijwscjournal
 
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICESEARLY PERFORMANCE PREDICTION OF WEB SERVICES
EARLY PERFORMANCE PREDICTION OF WEB SERVICES
ijwscjournal
 
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
MuhammadTalha436
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
RAVALCHIRAG1
 
Cloud data management
Cloud data managementCloud data management
Cloud data management
ambitlick
 
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
Generation of Testcases from UML Sequence Diagram and Detecting Deadlocks usi...
KIIT
 
Scale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceScale and Load Testing of Micro-Service
Scale and Load Testing of Micro-Service
IRJET Journal
 
Enhancing Serverless Architecture with Cloud-Native Testing.pdf
Enhancing Serverless Architecture with Cloud-Native Testing.pdfEnhancing Serverless Architecture with Cloud-Native Testing.pdf
Enhancing Serverless Architecture with Cloud-Native Testing.pdf
kalichargn70th171
 
Enhancing Serverless Architecture with Cloud-Native Testing.pdf
Enhancing Serverless Architecture with Cloud-Native Testing.pdfEnhancing Serverless Architecture with Cloud-Native Testing.pdf
Enhancing Serverless Architecture with Cloud-Native Testing.pdf
flufftailshop
 
IC Design Physical Verification
IC Design Physical VerificationIC Design Physical Verification
IC Design Physical Verification
IRJET Journal
 
software architecture and design _Architectural Pattern vs design pattern.docx
software architecture and design _Architectural Pattern vs design pattern.docxsoftware architecture and design _Architectural Pattern vs design pattern.docx
software architecture and design _Architectural Pattern vs design pattern.docx
HanaYaregal
 
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
ijccmsjournal
 
Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...
ijfcstjournal
 
Ad

Recently uploaded (20)

Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World ExamplesMastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
jamescantor38
 
Sequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptxSequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptx
aashrithakondapalli8
 
Buy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training techBuy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training tech
Rustici Software
 
What Do Candidates Really Think About AI-Powered Recruitment Tools?
What Do Candidates Really Think About AI-Powered Recruitment Tools?What Do Candidates Really Think About AI-Powered Recruitment Tools?
What Do Candidates Really Think About AI-Powered Recruitment Tools?
HireME
 
How to Install and Activate ListGrabber Plugin
How to Install and Activate ListGrabber PluginHow to Install and Activate ListGrabber Plugin
How to Install and Activate ListGrabber Plugin
eGrabber
 
Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509
Fermin Galan
 
Wilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For WindowsWilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For Windows
Google
 
The Elixir Developer - All Things Open
The Elixir Developer - All Things OpenThe Elixir Developer - All Things Open
The Elixir Developer - All Things Open
Carlo Gilmar Padilla Santana
 
Solar-wind hybrid engery a system sustainable power
Solar-wind  hybrid engery a system sustainable powerSolar-wind  hybrid engery a system sustainable power
Solar-wind hybrid engery a system sustainable power
bhoomigowda12345
 
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
OnePlan Solutions
 
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptxThe-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
james brownuae
 
[gbgcpp] Let's get comfortable with concepts
[gbgcpp] Let's get comfortable with concepts[gbgcpp] Let's get comfortable with concepts
[gbgcpp] Let's get comfortable with concepts
Dimitrios Platis
 
Exchange Migration Tool- Shoviv Software
Exchange Migration Tool- Shoviv SoftwareExchange Migration Tool- Shoviv Software
Exchange Migration Tool- Shoviv Software
Shoviv Software
 
Download MathType Crack Version 2025???
Download MathType Crack  Version 2025???Download MathType Crack  Version 2025???
Download MathType Crack Version 2025???
Google
 
A Comprehensive Guide to CRM Software Benefits for Every Business Stage
A Comprehensive Guide to CRM Software Benefits for Every Business StageA Comprehensive Guide to CRM Software Benefits for Every Business Stage
A Comprehensive Guide to CRM Software Benefits for Every Business Stage
SynapseIndia
 
Unit Two - Java Architecture and OOPS
Unit Two  -   Java Architecture and OOPSUnit Two  -   Java Architecture and OOPS
Unit Two - Java Architecture and OOPS
Nabin Dhakal
 
Autodesk Inventor Crack (2025) Latest
Autodesk Inventor    Crack (2025) LatestAutodesk Inventor    Crack (2025) Latest
Autodesk Inventor Crack (2025) Latest
Google
 
Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??
Web Designer
 
Why Tapitag Ranks Among the Best Digital Business Card Providers
Why Tapitag Ranks Among the Best Digital Business Card ProvidersWhy Tapitag Ranks Among the Best Digital Business Card Providers
Why Tapitag Ranks Among the Best Digital Business Card Providers
Tapitag
 
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studiesTroubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Tier1 app
 
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World ExamplesMastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
Mastering Selenium WebDriver: A Comprehensive Tutorial with Real-World Examples
jamescantor38
 
Sequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptxSequence Diagrams With Pictures (1).pptx
Sequence Diagrams With Pictures (1).pptx
aashrithakondapalli8
 
Buy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training techBuy vs. Build: Unlocking the right path for your training tech
Buy vs. Build: Unlocking the right path for your training tech
Rustici Software
 
What Do Candidates Really Think About AI-Powered Recruitment Tools?
What Do Candidates Really Think About AI-Powered Recruitment Tools?What Do Candidates Really Think About AI-Powered Recruitment Tools?
What Do Candidates Really Think About AI-Powered Recruitment Tools?
HireME
 
How to Install and Activate ListGrabber Plugin
How to Install and Activate ListGrabber PluginHow to Install and Activate ListGrabber Plugin
How to Install and Activate ListGrabber Plugin
eGrabber
 
Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509Orion Context Broker introduction 20250509
Orion Context Broker introduction 20250509
Fermin Galan
 
Wilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For WindowsWilcom Embroidery Studio Crack 2025 For Windows
Wilcom Embroidery Studio Crack 2025 For Windows
Google
 
Solar-wind hybrid engery a system sustainable power
Solar-wind  hybrid engery a system sustainable powerSolar-wind  hybrid engery a system sustainable power
Solar-wind hybrid engery a system sustainable power
bhoomigowda12345
 
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
Surviving a Downturn Making Smarter Portfolio Decisions with OnePlan - Webina...
OnePlan Solutions
 
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptxThe-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
The-Future-is-Hybrid-Exploring-Azure’s-Role-in-Multi-Cloud-Strategies.pptx
james brownuae
 
[gbgcpp] Let's get comfortable with concepts
[gbgcpp] Let's get comfortable with concepts[gbgcpp] Let's get comfortable with concepts
[gbgcpp] Let's get comfortable with concepts
Dimitrios Platis
 
Exchange Migration Tool- Shoviv Software
Exchange Migration Tool- Shoviv SoftwareExchange Migration Tool- Shoviv Software
Exchange Migration Tool- Shoviv Software
Shoviv Software
 
Download MathType Crack Version 2025???
Download MathType Crack  Version 2025???Download MathType Crack  Version 2025???
Download MathType Crack Version 2025???
Google
 
A Comprehensive Guide to CRM Software Benefits for Every Business Stage
A Comprehensive Guide to CRM Software Benefits for Every Business StageA Comprehensive Guide to CRM Software Benefits for Every Business Stage
A Comprehensive Guide to CRM Software Benefits for Every Business Stage
SynapseIndia
 
Unit Two - Java Architecture and OOPS
Unit Two  -   Java Architecture and OOPSUnit Two  -   Java Architecture and OOPS
Unit Two - Java Architecture and OOPS
Nabin Dhakal
 
Autodesk Inventor Crack (2025) Latest
Autodesk Inventor    Crack (2025) LatestAutodesk Inventor    Crack (2025) Latest
Autodesk Inventor Crack (2025) Latest
Google
 
Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??Serato DJ Pro Crack Latest Version 2025??
Serato DJ Pro Crack Latest Version 2025??
Web Designer
 
Why Tapitag Ranks Among the Best Digital Business Card Providers
Why Tapitag Ranks Among the Best Digital Business Card ProvidersWhy Tapitag Ranks Among the Best Digital Business Card Providers
Why Tapitag Ranks Among the Best Digital Business Card Providers
Tapitag
 
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studiesTroubleshooting JVM Outages – 3 Fortune 500 case studies
Troubleshooting JVM Outages – 3 Fortune 500 case studies
Tier1 app
 
Ad

Parallel verification of software architecture design

  • 1. Parallel Verification of Software Architecture Design IEEE International Symposium on High Quality Assurance Systems Engineering (HASE) 2019 Nacha Chondamrongkul, Jing Sun, Ian Warren, Bingyang Wei University of Auckland New Zealand
  • 2. Software Architecture ◼ Software architecture shows structures of the system which comprise software components and their relationship ◼ Require the verification to prevent design flaws carried forwards to the implementation ◼ Design flaws can affect system reliability and maintainability ◼ Model Checking can automate the verification but the large model but there is two issues: ▪ State space explosion problem. ▪ Complexity in modelling and verification
  • 3. Objective ● Improve the scalability of the verification in large-scale software architecture design. ○ The verification aims to detect design flaws, such as dependency bottleneck and circular dependency, that affect system maintainability and/or performance. ○ Model is automatically splitted into smaller sub-models, which is verifiable in parallel with multi-threading support ● Abstract the complexity in model checking technique for software engineers. ○ The web service is developed to allow other tools to integrate with.
  • 5. Behavioural Modelling Component = [Comp0 , Comp1 , Comp2 ,... CompN ] Port (Comp1)= [P0,1 , P0,2 , … P0,N-2 ]
  • 6. Communicating Sequential Process (CSP) # As we use PAT as a model checker, CSP# is used to define the model and the processes that form the execution of system. ● The initial process set the values to two dimensional array that represent the interaction matrix . Initial() = initialize { reqmat[0][0] = 1;reqmat[0][1] = -1;reqmat[0][2] = -1;... ● Two process forms the request and invoke event. Request(i) = invoke.component[i] -> RequestNext(i); RequestNext(i) = [] x:{0..(N-1)} @[reqmat[i][x]>=0] request.component[reqmat[i][x]] -> Request(reqmat[i][x]);
  • 7. Behavioural Verification Circular Dependency - a circumstance when a set of components consume services on one another as a circle. - Change to one of component causes ripple effect to other component. - The execution may leads to deadlock.
  • 8. Circular Dependency Detection The detection is based on the liveness property and weak fairness constraints in the model checking technique. []<>request.(Compi ) The formula helps to probe different scenario that the components are invoked in the model and the counterexample is analysed to find loop in the execution path. Temporal Modalities [] always <> eventually
  • 9. Behavioural Verification Dependency Bottleneck - when more than one component rely on a service on a component. - Change to the component causes consequence changes to the components that rely on. - Potentially worsens the system response time due to the thread contention
  • 10. Bottleneck Detection The detection check the execution path when the invoke.Compi event occurs more. [] (invoke:Compi -> <> request:Compj)
  • 11. Implementation The verification is implemented as web service to abstract the complexity in modelling and verification ● Derive Dependency Structure Matrix (DSM) from analysis tools ● Input DSM as JSON ● Return defect type and scenario that cause it.
  • 13. Multi-Model Verification Designing the software architecture with monolithic approach that includes all details of the software system in a single model is highly complex and vulnerable to the state space explosion. We split the model into smaller sub-model either manually or automatically. Then the sub-models are verified in asynchronous manner on pools of verification service
  • 14. Performance Evaluation Multi-Modular Model vs Single Monolithic Model
  • 15. Multi-Thread Verification As the LTL formula to detect design flaws is used to generate assertions that can be executed independently. We developed multiple asynchronous threading that allow number of LTL assertions to be executed simultaneously. Thread scheduler algorithm is proposed to allocate an available thread to execute an assertion.
  • 16. Performance Evaluation Set #1 - 10 components Set #2 - 20 components Set #3 - 30 components Set #4 - 40 components
  • 17. Summary ● A scalable approach that models and verifies behaviours in the large component-based software architecture designs. ● Behavioural problems that are caused by design flaws and affect system reliability such as circular dependency and bottleneck can be automatically detected ● Implementation as web service to abstract the complexity in the modelling and verification process ● Apply parallelism to enhance the performance of verification.
  翻译: