Formal Approaches to Software
Architecture Design
Nacha Chondamrongkul
Supervised by Jing Sun, Ian Warren
The University of Auckland
New Zealand
Doctoral Examination
17 March 2021
● Background
● Research Questions
● Formal Architectural Analysis
○ Structural Analysis
○ Behavioural Analysis
○ Supporting tools
● Utilisation
○ Architecture Smell Detection
○ Security Analysis
○ Architectural Migration
● Conclusion
Formal Approaches
to Software Architecture
Design
Outline
Background
Challenges in Designing Software Architecture
Software
Architecture
● Software architecture of a
program or computing system is
the structure or structures of
the system which comprise
software components, the
externally visible properties of
those components and the
relationships among them.
● Usually represents by the
graphical notation
○ Box and Line
○ Descriptive Text
Inconsistent & Ambiguous
Emerging Technologies
● Technologies have been applied to
software system to enhance
various quality attributes such as
security, scalability and
maintainability.
● Applying these technologies
require well and suitable design to
utilise their benefits.
Research Questions
● How the software architecture design can be formally
defined based on different architectural styles in modern
software systems?
● How different quality attributes can be verified based on
the formal representation of software architecture
design?
● How can the formal representation of software
architecture design support planning the architectural
migration
Formal Architectural
Analysis
Formal Modelling and Analysis of Software Architecture Design
Research Overview
Software Architecture
Design
Behaviour
Structure OWL
ADL
Verification
Ontoloy
Reasoning
Model
Checking
Structural Modelling
● Component &
Connector view +
Deployment View.
● Architecture
patterns defined as
ontology classes.
● Architecture design
defined as ontology
individuals
Structural Analysis
● Pattern Consistency – check
if the design is according to
the architecture patterns,
● View Consistency – check if
the design is consistency in
two views: C&C and
deployment view
Behavioural Modelling
Wright# ADL Parser
CSP
Object
Model
Checker
Verification
Results
Architecture
Pattern
LTL
Assertion
ADL-CSP
Translator
ADL Object
Behavioral Analysis
● Ensure that the functional requirements are met.
● The system under design behaves according to the
architectural patterns that are applied.
“When the emergency is requested, the request is acknowledged, and the wristband's
status is switched to alert mode”
“every event is logged in the event store”
Arch
Modeller
Pattern Diagram
C&C Diagram
Port Diagram
Evaluation
Our approach has been proved effective in
verifying the architecture design according to
the architectural patterns that the design applies.
It is also effective in ensuring that the architecture
design serves the functional requirements.
The number of connectors and roles included in
the model has more impact on the performance
than the number of components.
Utilisation
Formal Modelling and Analysis of Software Architecture Design
Architecture Smells Analysis
We presented seven sample architecture smells to be
detected by our approach.
● Structural Analysis - Unused Interface (UI), Lava Flow
(LF), Extraneous Adjacent Connector (EA)
● Behavioural Analysis - Ambiguous Interface (AI),
Functional Decomposition (FD), Circular Dependency
(CD) Poltergeists (PG).
How to detect the smells
Structural Analysis
The smell can be semantically
defined as ontology class to select
specific design element.
If the smell needs to be selected
through the conditional
relationship between design
elements, the SWRL rule is defined
Behavioural Analysis
We use the model checking
technique to trace through the
state transitions and detect
suspicious interactions caused by
the architecture smells.
We made the modification on
model checking (DFS) algorithm to
detect smells by adding conditions
to check states.
Architecture
Design
Structural
Analysis
Behavioural
Analysis
OWL ADL
Detection
Results
Security Analysis
Security characteristics are selected to be
identified in the design. They are formally
defined in ontology representation.
● Security Metrics: measures how secure
the system is such as Attack Surface,
Defence In Depth, Least Privilege,
Compartmentalization
● Security Scenarios: help tracing how the
system can be attacked, such as Denial
of Service and Man in the Middle.
Design in
OWL
Ontology
Reasoning
Detected
Characteristics
LTL
Properties
Model
Checking
Attack
Scenarios
Formal Definition of Characteristics
● Attack Surface
Defined in OWL Class Definition
● Least Privilege
Defined in SWRL Rule
Attack Scenario Generation
The attack scenarios can be generated and tracked by
executing the model checker on the behavioural model in
ADL asserted with liveness properties in Linear Temporal
Logic (LTL).
The negation of this property can be processed by the model
checker to retrieve a state trace showing how the system
responses to the attack.
Architectural Migration
● Our approach can:
○ Identify entities to refactor and perform refactoring
according to new patterns
○ Ensure the functional requirements are preserved through
verification.
○ Automatically plan the migration steps.
○ Create the evolution path based on the generated
migration plan.
Architecture
Redesigner
Current
Design
Target
Design
Formal
Verification
Automated Migration Planning
Current
Architecture
Design
Target
Architecture
Design
AI Planner
Migration Plan
Interim
Design
Interim
Design
Interim
Design
Interim
Design
Formal Verification
Functionalities
Architectural
Constraints
Feasible
Evolution
Path
Evolution Path
● When both functional and architectural
constraints are proved valid on the
interim model, it can be used as a
milestone in the evolution path towards
the target design.
● These milestones are where the
software system can be safely evolved
into before all changes will be complete
according to the target design.
Current Interim
#7
Interim
#9
Target
Interim
#15
…
Conclusion
● The architecture patterns can be formally defined to
characterize the structural and behavioral aspect of
architecture design
● We apply our approach to detect the architecture smell
based on the structural characteristics and through the
observation of interactive behavior
● Our approach has been extended to support analyzing
security and generate the security scenarios.
● Our approach can be utilized to support the architectural
migration from design refactoring to planning the
migration as an evolution process
Future Work
● Extend to support enhancing other quality attributes
such as availability and scalability.
● Analyse the design of particular architectural styles
for other aspects such as eventual consistency in
microservice architecture design.
● Generate the skeleton of source code based on the
verified architecture design.
● Integrate our tool with the infrastructure to gain the
ground-truth architecture.
1. N. Chondamrongkul, J. Sun, I. Warren,
Ontology-based software architectural
pattern recognition and reasoning, in: 30th
International Conference on Software
Engineering and Knowledge Engineering
(SEKE), pp. 25-34, 2018 . B Rank
2. N. Chondamrongkul, J. Sun, I. Warren, B.
Wei, Parallel verification of software
architecture design, in: IEEE International
Symposium on High Assurance System
Engineering (HASE), 2019, B Rank
3. N. Chondamrongkul, J.Sun, I.Warren, S. Uk-
Jin Lee, PAT Approach to Software
Architecture Design in, in: 31st International
Conference on Software Engineering and
Knowledge Engineering (SEKE), 2019, B Rank
Publications
4. N. Chondamrongkul, J. Sun, I. Warren, Scott, Uk.
Lee, Semantic-based Architecture Smell Analysis, in:
42nd International Conference on Formal Methods in
Software Engineering, pp. 109-118, 2020
5. N. Chondamrongkul, J.Sun, I.Warren, Automated
Security Analysis for Microservice Architecture in:
IEEE International Conference on Software
Architecture-Companion (ICSA), 2020, A/New Rank
6. N. Chondamrongkul, J.Sun, I.Warren, Formal
Security Analysis for Blockchain-based Software
Architecture in: 32nd International Conference on
Software Engineering and Knowledge Engineering
(SEKE), pp. 532-537, 2020, B Rank
7. N. Chondamrongkul, J. Sun, I. Warren, Scott, Uk.
Lee, Integrated Formal Tools for Software
Architecture Smell Detection , Journal of Software
Engineering and Knowledge Engineering (IJSEKE), Vol
30 No. 6, B Rank
Publications (cont.)
8. N. Chondamrongkul, J. Sun, I. Warren,
Formal Software Architectural Migration
Towards Emerging Architectural Styles in:
European Conference on Software
Architecture (ECSA), 2020,pp 21-38 A Rank
(Nominated for Best Paper Award)
9. N. Chondamrongkul, J. Sun, I. Warren,
Automated Planning for Software
Architectural Migration in: International
Conference on Engineering of Complex
Computer Systems (ICECCS), 2020, A Rank
10. N. Chondamrongkul, J. Sun, I. Warren,
Formal Security Analysis for Software
Architecture Design: An Expressive
Framework to Emerging Architectural
Styles, Journal of Science of Computer
Programming, Vol. 206, No. 1, A Rank
11. N. Chondamrongkul, J. Sun, I. Warren,
Software Architectural Migration: An
Automated Planning Approach, ACM
Transactions on Software Engineering and
Methodology, A* Rank (Under Review)
Thank you
Any Questions?

More Related Content

PPTX
Unit iii-Architecture in the lifecycle
PPTX
Unit iv -Documenting and Implementation of Software Architecture
PPTX
unit 5 Architectural design
PPTX
Unit v -Construction and Evaluation
PPT
Software Architecture
PDF
Software Engineering Important Short Question for Exams
PPTX
EC8791 Requirement-Specifications-Quality assurance techniques
PPTX
Design concepts
Unit iii-Architecture in the lifecycle
Unit iv -Documenting and Implementation of Software Architecture
unit 5 Architectural design
Unit v -Construction and Evaluation
Software Architecture
Software Engineering Important Short Question for Exams
EC8791 Requirement-Specifications-Quality assurance techniques
Design concepts

What's hot (20)

PDF
Selenium - A Trending Automation Testing Tool
PPTX
Soa 1 7.ppsx
PDF
Bank managment system
PPTX
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
PPT
Software architecture design ppt
PPT
Software design, software engineering
PDF
Software Architecture and Design Introduction
PDF
Orkhan Gasimov "High Performance System Design"
PPTX
PPT
Software design
PPT
Unit 3 3 architectural design
PPTX
Software Engineering
PDF
Design patterns
PPTX
Agile architecture
DOCX
Unit i software design principles 9
PDF
Software Architecture Recovery: The 5 Questions You Always Asked Yourself Abo...
PPTX
Architecture vs Design
PPTX
Software Design Concepts
PDF
Domain specific Software Architecture
PPTX
Software Architecture Design for Begginers
Selenium - A Trending Automation Testing Tool
Soa 1 7.ppsx
Bank managment system
Quality attributes in software architecture by Dr.C.R.Dhivyaa, Assistant prof...
Software architecture design ppt
Software design, software engineering
Software Architecture and Design Introduction
Orkhan Gasimov "High Performance System Design"
Software design
Unit 3 3 architectural design
Software Engineering
Design patterns
Agile architecture
Unit i software design principles 9
Software Architecture Recovery: The 5 Questions You Always Asked Yourself Abo...
Architecture vs Design
Software Design Concepts
Domain specific Software Architecture
Software Architecture Design for Begginers
Ad

Similar to Formal approaches to software architecture design thesis presentation (20)

PPTX
Unit 3- Software Design.pptx
PPTX
Software Architecture
PDF
A metric based approach for measuring the conceptual integrity of software ar...
PDF
H1803044651
PDF
Architectural Styles And The Design Of Network-Based Software Architectures
PDF
V5 i3201613
PPT
02 architectures in_context
PPTX
SDA 01.pptx
PPTX
Introduction to Software architecture and design.pptx
PPT
Cs 1023 lec 3 architecture (week 1)
PPT
Cs 1023 lec 3 architecture (week 1)
PPTX
Software engineering
PDF
The critical need for software architecture practices in software development...
PPT
13 analysis of_software_architectures
PDF
Lq3620002008
PPT
Slides chapter 15
PPTX
SA_UNIT_1.pptx
PPTX
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
PDF
CodeMR - Software Quality
PDF
Mapping and visualization of source code a survey
Unit 3- Software Design.pptx
Software Architecture
A metric based approach for measuring the conceptual integrity of software ar...
H1803044651
Architectural Styles And The Design Of Network-Based Software Architectures
V5 i3201613
02 architectures in_context
SDA 01.pptx
Introduction to Software architecture and design.pptx
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
Software engineering
The critical need for software architecture practices in software development...
13 analysis of_software_architectures
Lq3620002008
Slides chapter 15
SA_UNIT_1.pptx
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
CodeMR - Software Quality
Mapping and visualization of source code a survey
Ad

Recently uploaded (20)

PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
Modernising the Digital Integration Hub
PPTX
Internet of Everything -Basic concepts details
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
Architecture types and enterprise applications.pdf
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
Configure Apache Mutual Authentication
PDF
Comparative analysis of machine learning models for fake news detection in so...
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
CloudStack 4.21: First Look Webinar slides
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PPTX
Module 1 Introduction to Web Programming .pptx
A contest of sentiment analysis: k-nearest neighbor versus neural network
Modernising the Digital Integration Hub
Internet of Everything -Basic concepts details
sbt 2.0: go big (Scala Days 2025 edition)
Build Your First AI Agent with UiPath.pptx
Architecture types and enterprise applications.pdf
Consumable AI The What, Why & How for Small Teams.pdf
OpenACC and Open Hackathons Monthly Highlights July 2025
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Configure Apache Mutual Authentication
Comparative analysis of machine learning models for fake news detection in so...
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
CloudStack 4.21: First Look Webinar slides
A proposed approach for plagiarism detection in Myanmar Unicode text
Credit Without Borders: AI and Financial Inclusion in Bangladesh
sustainability-14-14877-v2.pddhzftheheeeee
Module 1 Introduction to Web Programming .pptx

Formal approaches to software architecture design thesis presentation

  • 1. Formal Approaches to Software Architecture Design Nacha Chondamrongkul Supervised by Jing Sun, Ian Warren The University of Auckland New Zealand Doctoral Examination 17 March 2021
  • 2. ● Background ● Research Questions ● Formal Architectural Analysis ○ Structural Analysis ○ Behavioural Analysis ○ Supporting tools ● Utilisation ○ Architecture Smell Detection ○ Security Analysis ○ Architectural Migration ● Conclusion Formal Approaches to Software Architecture Design Outline
  • 3. Background Challenges in Designing Software Architecture
  • 4. Software Architecture ● Software architecture of a program or computing system is the structure or structures of the system which comprise software components, the externally visible properties of those components and the relationships among them. ● Usually represents by the graphical notation ○ Box and Line ○ Descriptive Text Inconsistent & Ambiguous
  • 5. Emerging Technologies ● Technologies have been applied to software system to enhance various quality attributes such as security, scalability and maintainability. ● Applying these technologies require well and suitable design to utilise their benefits.
  • 6. Research Questions ● How the software architecture design can be formally defined based on different architectural styles in modern software systems? ● How different quality attributes can be verified based on the formal representation of software architecture design? ● How can the formal representation of software architecture design support planning the architectural migration
  • 7. Formal Architectural Analysis Formal Modelling and Analysis of Software Architecture Design
  • 8. Research Overview Software Architecture Design Behaviour Structure OWL ADL Verification Ontoloy Reasoning Model Checking
  • 9. Structural Modelling ● Component & Connector view + Deployment View. ● Architecture patterns defined as ontology classes. ● Architecture design defined as ontology individuals
  • 10. Structural Analysis ● Pattern Consistency – check if the design is according to the architecture patterns, ● View Consistency – check if the design is consistency in two views: C&C and deployment view
  • 11. Behavioural Modelling Wright# ADL Parser CSP Object Model Checker Verification Results Architecture Pattern LTL Assertion ADL-CSP Translator ADL Object
  • 12. Behavioral Analysis ● Ensure that the functional requirements are met. ● The system under design behaves according to the architectural patterns that are applied. “When the emergency is requested, the request is acknowledged, and the wristband's status is switched to alert mode” “every event is logged in the event store”
  • 14. Evaluation Our approach has been proved effective in verifying the architecture design according to the architectural patterns that the design applies. It is also effective in ensuring that the architecture design serves the functional requirements. The number of connectors and roles included in the model has more impact on the performance than the number of components.
  • 15. Utilisation Formal Modelling and Analysis of Software Architecture Design
  • 16. Architecture Smells Analysis We presented seven sample architecture smells to be detected by our approach. ● Structural Analysis - Unused Interface (UI), Lava Flow (LF), Extraneous Adjacent Connector (EA) ● Behavioural Analysis - Ambiguous Interface (AI), Functional Decomposition (FD), Circular Dependency (CD) Poltergeists (PG).
  • 17. How to detect the smells Structural Analysis The smell can be semantically defined as ontology class to select specific design element. If the smell needs to be selected through the conditional relationship between design elements, the SWRL rule is defined Behavioural Analysis We use the model checking technique to trace through the state transitions and detect suspicious interactions caused by the architecture smells. We made the modification on model checking (DFS) algorithm to detect smells by adding conditions to check states. Architecture Design Structural Analysis Behavioural Analysis OWL ADL Detection Results
  • 18. Security Analysis Security characteristics are selected to be identified in the design. They are formally defined in ontology representation. ● Security Metrics: measures how secure the system is such as Attack Surface, Defence In Depth, Least Privilege, Compartmentalization ● Security Scenarios: help tracing how the system can be attacked, such as Denial of Service and Man in the Middle. Design in OWL Ontology Reasoning Detected Characteristics LTL Properties Model Checking Attack Scenarios
  • 19. Formal Definition of Characteristics ● Attack Surface Defined in OWL Class Definition ● Least Privilege Defined in SWRL Rule
  • 20. Attack Scenario Generation The attack scenarios can be generated and tracked by executing the model checker on the behavioural model in ADL asserted with liveness properties in Linear Temporal Logic (LTL). The negation of this property can be processed by the model checker to retrieve a state trace showing how the system responses to the attack.
  • 21. Architectural Migration ● Our approach can: ○ Identify entities to refactor and perform refactoring according to new patterns ○ Ensure the functional requirements are preserved through verification. ○ Automatically plan the migration steps. ○ Create the evolution path based on the generated migration plan. Architecture Redesigner Current Design Target Design Formal Verification
  • 22. Automated Migration Planning Current Architecture Design Target Architecture Design AI Planner Migration Plan Interim Design Interim Design Interim Design Interim Design Formal Verification Functionalities Architectural Constraints Feasible Evolution Path
  • 23. Evolution Path ● When both functional and architectural constraints are proved valid on the interim model, it can be used as a milestone in the evolution path towards the target design. ● These milestones are where the software system can be safely evolved into before all changes will be complete according to the target design. Current Interim #7 Interim #9 Target Interim #15 …
  • 24. Conclusion ● The architecture patterns can be formally defined to characterize the structural and behavioral aspect of architecture design ● We apply our approach to detect the architecture smell based on the structural characteristics and through the observation of interactive behavior ● Our approach has been extended to support analyzing security and generate the security scenarios. ● Our approach can be utilized to support the architectural migration from design refactoring to planning the migration as an evolution process
  • 25. Future Work ● Extend to support enhancing other quality attributes such as availability and scalability. ● Analyse the design of particular architectural styles for other aspects such as eventual consistency in microservice architecture design. ● Generate the skeleton of source code based on the verified architecture design. ● Integrate our tool with the infrastructure to gain the ground-truth architecture.
  • 26. 1. N. Chondamrongkul, J. Sun, I. Warren, Ontology-based software architectural pattern recognition and reasoning, in: 30th International Conference on Software Engineering and Knowledge Engineering (SEKE), pp. 25-34, 2018 . B Rank 2. N. Chondamrongkul, J. Sun, I. Warren, B. Wei, Parallel verification of software architecture design, in: IEEE International Symposium on High Assurance System Engineering (HASE), 2019, B Rank 3. N. Chondamrongkul, J.Sun, I.Warren, S. Uk- Jin Lee, PAT Approach to Software Architecture Design in, in: 31st International Conference on Software Engineering and Knowledge Engineering (SEKE), 2019, B Rank Publications 4. N. Chondamrongkul, J. Sun, I. Warren, Scott, Uk. Lee, Semantic-based Architecture Smell Analysis, in: 42nd International Conference on Formal Methods in Software Engineering, pp. 109-118, 2020 5. N. Chondamrongkul, J.Sun, I.Warren, Automated Security Analysis for Microservice Architecture in: IEEE International Conference on Software Architecture-Companion (ICSA), 2020, A/New Rank 6. N. Chondamrongkul, J.Sun, I.Warren, Formal Security Analysis for Blockchain-based Software Architecture in: 32nd International Conference on Software Engineering and Knowledge Engineering (SEKE), pp. 532-537, 2020, B Rank 7. N. Chondamrongkul, J. Sun, I. Warren, Scott, Uk. Lee, Integrated Formal Tools for Software Architecture Smell Detection , Journal of Software Engineering and Knowledge Engineering (IJSEKE), Vol 30 No. 6, B Rank
  • 27. Publications (cont.) 8. N. Chondamrongkul, J. Sun, I. Warren, Formal Software Architectural Migration Towards Emerging Architectural Styles in: European Conference on Software Architecture (ECSA), 2020,pp 21-38 A Rank (Nominated for Best Paper Award) 9. N. Chondamrongkul, J. Sun, I. Warren, Automated Planning for Software Architectural Migration in: International Conference on Engineering of Complex Computer Systems (ICECCS), 2020, A Rank 10. N. Chondamrongkul, J. Sun, I. Warren, Formal Security Analysis for Software Architecture Design: An Expressive Framework to Emerging Architectural Styles, Journal of Science of Computer Programming, Vol. 206, No. 1, A Rank 11. N. Chondamrongkul, J. Sun, I. Warren, Software Architectural Migration: An Automated Planning Approach, ACM Transactions on Software Engineering and Methodology, A* Rank (Under Review)

Editor's Notes

  • #2: Good evening and good morning. It is good to be here today presenting my thesis Formal Approaches to Software Architecture design. This research focuses at designing software architecture using combination of formal techniques. Let’s get started.
  • #3: Today, I am going to start by discussing the background of software architecture design, some of the challenges in design software architecture, then I will present the the research questions that this study aims to answer. After that, we will look at how we can formally model and analyse the architecture design in different aspects and tools that we develop to support the analysis. Then, I will present the second part of this research which focus on utilising the formal analysis of software architecture design in other area such as design smell detection, security analysis and architecture migration. Last,  I will conclude the presentation with the list of contributions and discuss some of the future research directions.
  • #4: First of all, let me discuss some of challenges in designing software architecture.
  • #5: Software architecture plays an important role in software development as it serves as a starting point when you design a software system. Software architecture is a design but not all design is software architecture. It give a layout of how software system will be contructed such as what component there are, how they are linked and how they are interact to each other. They are usually represented as graphical notation with box and line connecting to each other. They are usually inconsistent and ambiguous Also, It is important to verify the design before they are carried on to the next phase such as making detailed design and implementation. As the mistake or failure in architecture design could cause lots of time and effort to fix. 
  • #6: Another challenge is that, As a software architect, when we first design the software system we look into new technology such as cloud and microservice to enhance maintainability and flexibility in development and deployment or we look into enhancing security by adopting blockchain technology. To utilise the benefit of thse new technologies, architect need to apply proper architecture pattern/styles to support them.
  • #7: So this research aims to answer the following questions: First, Due to emerging technologies that have been applied to software system, new architecture styles have been invented to incorporate these technologies.  So  in this research we explore how we can formally model software architecture design based on architectural styles applied in modern software systems, as well as how  to extend our approach to support other styles in the future. Second, verifying architecture design usually involve determining the quality attributes. As the verification of attributes such as security and maintainability usually require custom algorithms or metrics specific to the attributes. These custom algorithms are usually hard-coded in the analysis tools that are hard to extend. So we have looked at how formal technique can standardize the verification of these attributes using the formal representation of software architecture design. Third, throughout the software cycle, software need to changed over time. To modernise the software system, the architecture design is usually be changed to apply new architectural styles. Migrating legacy system at the architecture level radically impact the software system, planning is hence a challenging task. So we look at how our approach can support this migration.
  • #8: Let’s take a look how our formal analysis of software architecture design looks like.
  • #9: This is an overview of our approach, Our approach aims at formalizing the structural and behavioural details of architecture design, in the way that we can use formal methods to process it. In this picture, we formalise the structure to OWL, while the behaviour is formalise to ADL. Then, to verify the design, we use ontology reasoning to process OWL and model checking to process ADL.  This is an overall approach that we appiled to support different tasks in designing software architecture that I will talk about later in this presentation.
  • #10: As I previously mention that we have two types of analysis. The first one is structural analysis that is supported by this modelling. We applied OWL to define the modelling. As Designing software architecture can be done in different views. We focus on two views namely C&C and deployment view that architect usually use them to reason the design. In this meta-model, the C&C view has …. and deploy has .. We define these elements as ontology class, as well as the architecture pattern that extend this model to characterise the structural design according ot the pattern With this meta model, we can create the design for specific system by creating ontology individuals based on these classes
  • #11: With the ontology representation of architecture design, we can perform checking such as  pattern consistency that checks how design is layouted according to the patterns. Or view consistency to check if the design elements in C&C view and deployment view are consistent. These two checking save much time for architect from manual checking, minimize the human-error.
  • #12: Another type of analysis we have is behavioural analysis which is support by this behavioural modelling, we use wright# as an ADL architecture description language toe define the behaviour of architecture elements. Wright# contains similar architecture element to structural modelling such as component, connector, port and role but we focus on defining how these elements interacts to each other. We have development a new module in PAT model checker to support wright# called PAT ADL.  This module has ADL parser which parses the code in Wright# syntax and convert them into objects and later translated to CSP, which PAT model checker can process.
  • #13: We perform the behavioural anlaysis by defining the verification properties in Linear Temporal logic. For this analysis we can perform two things. One is functional requirement such as the first sample LTL. It means to check if the system can serve the functional requirement, The second is architecture pattern constainst, to check if the design behave according to the pattern that we apply to the design.
  • #14: As many software engineers do not have knowledge of how to use formal methods such as ontology reasoning and model checking that we use. We have developed a graphical user interface tools called Arch Modeller. This tool allow user to draw the diagrams representing the model of architecture design and seamlessly verify it.
  • #15: In this research, we mainly evaluate our approach through empirical studies using the design model derived from real-world software systems and open-source projects.  Based on the resuls, We have found that our approach is effective in … In term of performance, we have found that some partterns takes more time that another as they inlcud more roles that have more interaction to other components.
  • #16: Utilisation, This part of my thesis focusing on apply the formal analysis that I just presented to different area, starting with the design smell analysis
  • #17: Architecture smells are bad practice applied to the architecture design. They does not cause error in the system but cause add difficulty in maintaining or changing the software system In thesis, we presented sample architecture smells to be detected by our approach. Some can be structurally detected, and some can be behaviourally detected. THere are 3 smells that we perform Structural Analysis - Unused Interface (UI), Lava Flow (LF), Extraneous Adjacent Connector (EA) THere are 4 smells that we perform Behavioural Analysis - Ambiguous Interface (AI), Functional Decomposition (FD), Circular Dependency (CD) Poltergeists (PG).
  • #18: This is how we apply formal analysis to detect the design smell. For some smell that can be detected structurally, we define them as onotlogy class with condition to select affected elements according their relationship to other design elements,  some smells that require more complicated relationship, we define it as SWRL rule. For the smell to be detected behaviourally, we enhance the model checking algorithm to add condition that detect supicious interaction caused by the smells. In our work, we implement that in Depth first search of PAT model checker.
  • #19: The second work that we utilise our approach is for security anlaysis in the system that applies emerging technologies such as event-based microservice and blockchain.  This is an overall approach, we firstly define the security characteristics as OWL class. The characteristics can be the some security specific chracteristics that architect use them to reason security such as attack sruface, lease priviledge or some vulnerability specifc attack such as DOS and data tampering We then use ontology reasoning to detect those characteristics in thee design.  Then, we use the behavioural analysis to trace how the system can be attacked. 
  • #21: WIth the detected vulnerabliitieis, we added the attacker component and generate LTL based on this formula to generate the system trace that show how the system behave when it is attacked.
  • #22: The last work we have conducted is applying our approach to support the architectural migration. THe architecture migration happen when you want to modernise the legacy system to support the new technologies. So new pattern need to applied into the design to support such technologies With our approach, it can... Last the evolution path can be generated based on the migration plan
  • #23: Once have that the existing (current) architecture and the target architecture that allows new principles and technologies to be utilised. Our approach can then generate the migration plan from the current architecture to the target one.  the models of interim design are created according to the migration process. An interim model represents the architecture design that is partly changed after some migration steps have been performed. the interim models are verified against the functional and architectural constraints to determine whether the interim designs can meet the requirements when some parts of the design are changed. After the models of interim design have been verified, we can derive the evolution path that consists of architectural designs that the system can be safely and incrementally evolved towards the target design.
  • #24: When both functional and architectural constraints are proved valid on the interim model, it can be used as a milestone in the evolution path towards the target design. These milestones are where the software system can be safely evolved into before all changes will be complete according to the target design. In our example the interim 7, 9, 15 are proved valid for both functional and architectural constraints so they can be used as stepping stones before the system is completely changed according to the target design.
  • #27: There are 11 papers in total including 8 conference proceedings and 3 journals. Most of them are B and A rank venue according to CORE database
  • #28: 10 of them have been published and there are 1 paper is under review. There is 1 paper we have nominated for best paper award at ECSA, an A ranked conference in software architecture. This paper is about design refactoring for architecture migration.