SlideShare a Scribd company logo
1 of 9
Download to read offline
Formal Specification
through Modeling
Summarized by Mohammed Assiri
Based on: Coloured Petri Nets: Modelling and Validation of Concurrent Systems
Concurrent Systems
• The vast majority of software systems today can be characterized as concurrent systems
• Structured as a collection of concurrently executing software components and applications (parallelism)
• Operation relies on communication, synchronization, and resource sharing
• It is difficult to formally specify them as the execution may proceed in many different ways depending on:
• Whether messages are lost during transmission.
• The scheduling of processes.
• The time at which input is received from the environment.
• Formal specification of concurrent systems have an astronomical number of possible executions.
• It is easy for the designer to miss important interaction patterns.
• This may lead to gaps or malfunctions in the system design.
Summarized by Mohammed Assiri -
https://www.linkedin.com/in/mohammed-assiri/
Concurrent Systems (cont.)
• Formal specification for concurrent systems are often critical.
• For many concurrent systems it is essential that they work correctly from the very
beginning:
• Nuclear power-plants.
• Aircraft control systems.
• Hospital life support equipment.
• Computer networks.
• Bank system.
Summarized by Mohammed Assiri -
https://www.linkedin.com/in/mohammed-assiri/
Complex Behavior
• The formal specification of concurrent systems is challenging due to their complex
behaviors, such as:
• Concurrently executing and independently scheduled components
• Non-deterministic and asynchronous behavior (e.g., timeouts, message loss, external events, …)
• Therefore, it is almost impossible for software developers to have a complete
understanding of the system behavior without formal specification.
• Software testing is not enough alone as it is challenging and reproducing errors is
often difficult.
Summarized by Mohammed Assiri -
https://www.linkedin.com/in/mohammed-assiri/
Formal Specification through Modelling
• One way to approach the challenge of developing concurrent systems is to
formally specify the system through modelling.
• Modelling is a universal technique that can be used across many of the activities
in system development.
• A model is an abstract representation which can be manipulated by a computer
software tool
Summarized by Mohammed Assiri -
https://www.linkedin.com/in/mohammed-assiri/
Why Formal Specification through Modelling?
• Benefits of constructing executable models
• Insight into the design and operation of the system
• Completeness results in a more complete design
• Correctness reveals errors and ambiguities in the design phase
• Abstraction validation using high-level and domain-specific concepts in development.
• Reliability testing and verification prior to implementation and deployment
• It becomes possible to investigate how the system will behave and its existence properties.
• Functional properties (e.g., deadlocks, timing requirements,…)
• Performance properties (e.g., delay, scalability,…)
Summarized by Mohammed Assiri -
https://www.linkedin.com/in/mohammed-assiri/
Gain insight
• Formally specifying a system through modelling and simulation usually leads to
significant new insights into the design and operation of the system.
• Formally specifying a system through modelling results in an elaborate and more
complete understanding of the system compared to reading system documents.
• The new insight can result in the following:
• A simpler and more streamlined design.
• Similarities can be identified, which can be exploited to unify and generalize the design and
make it more logical.
• We may also get ideas to improve the usability of the system.
Summarized by Mohammed Assiri -
https://www.linkedin.com/in/mohammed-assiri/
Completeness
• Formally specifying a system through an executable model usually leads to a more complete
specification of the design.
• Gaps in the specification of the system become explicit:
• They will prohibit the model from being executed because certain parts are missing.
• During simulation the designers and users will discover that certain expected events are impossible in the
current state.
• Formally specifying a system through modelling leads to a more complete identification and
understanding of the requirements to the system.
• Formally specifying a system through modelling can be used to mediate discussions among
designers and users of the system.
Summarized by Mohammed Assiri -
https://www.linkedin.com/in/mohammed-assiri/
Correctness
• Formally specifying a system through modelling often reveals a number of design errors and
flaws.
• It is possible to control the execution of a model (unlike the real system). This means that:
• Problematic scenarios can be reproduced.
• It is possible to check whether a proposed modification of the design works as intended.
• To only simulate a number of different scenarios, without formally specifying the system, such
simulation does not necessarily lead to correct designs:
• There may be too many scenarios to investigate.
• The simulation may fail to identify some important scenarios.
• However, formal specification through modelling often decreases the number of design errors
significantly.
Summarized by Mohammed Assiri -
https://www.linkedin.com/in/mohammed-assiri/

More Related Content

Similar to Formal Specification through Modeling

Software process Models
Software process ModelsSoftware process Models
Software process ModelsSADEED AMEEN
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projectsDaniel Ionita
 
Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development Sunderland City Council
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Education Front
 
Railway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringRailway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringLalit Pal
 
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxWINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxVivekananda Gn
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdfkrishnaraj714229
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)Simran Kaur
 
Unit 7 verification & validation
Unit 7 verification & validationUnit 7 verification & validation
Unit 7 verification & validationraksharao
 
Traditional Process Models
Traditional Process ModelsTraditional Process Models
Traditional Process ModelsAhsan Rahim
 
Architectural Design & Patterns
Architectural Design&PatternsArchitectural Design&Patterns
Architectural Design & PatternsInocentshuja Ahmad
 

Similar to Formal Specification through Modeling (20)

Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
 
Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development Alternative Methodologies for Systems Development
Alternative Methodologies for Systems Development
 
Ch01
Ch01Ch01
Ch01
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
Patterns
PatternsPatterns
Patterns
 
Railway Reservation System - Software Engineering
Railway Reservation System - Software EngineeringRailway Reservation System - Software Engineering
Railway Reservation System - Software Engineering
 
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptxWINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
WINSEM2022-23_SWE2004_ETH_VL2022230501954_2023-02-01_Reference-Material-I.pptx
 
22-REQUIREMENT.ppt
22-REQUIREMENT.ppt22-REQUIREMENT.ppt
22-REQUIREMENT.ppt
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Module 3.1.pptx
Module 3.1.pptxModule 3.1.pptx
Module 3.1.pptx
 
Unit 7 verification & validation
Unit 7 verification & validationUnit 7 verification & validation
Unit 7 verification & validation
 
Traditional Process Models
Traditional Process ModelsTraditional Process Models
Traditional Process Models
 
WaterFall Model.ppt
WaterFall Model.pptWaterFall Model.ppt
WaterFall Model.ppt
 
Architectural Design & Patterns
Architectural Design&PatternsArchitectural Design&Patterns
Architectural Design & Patterns
 
UNIT4.ppt
UNIT4.pptUNIT4.ppt
UNIT4.ppt
 

More from Mohammed Assiri

Modeling Cardiac Pacemakers With Timed Coloured Petri Nets And Related Tools
Modeling Cardiac Pacemakers With Timed Coloured Petri Nets And Related ToolsModeling Cardiac Pacemakers With Timed Coloured Petri Nets And Related Tools
Modeling Cardiac Pacemakers With Timed Coloured Petri Nets And Related ToolsMohammed Assiri
 
Modeling Elevator System With Coloured Petri Nets
Modeling Elevator System With Coloured Petri NetsModeling Elevator System With Coloured Petri Nets
Modeling Elevator System With Coloured Petri NetsMohammed Assiri
 
Elevator system. a case study of coloured petri nets
Elevator system. a case study of coloured petri netsElevator system. a case study of coloured petri nets
Elevator system. a case study of coloured petri netsMohammed Assiri
 
Modeling Elevator System With Coloured Petri Nets
Modeling Elevator System With Coloured Petri NetsModeling Elevator System With Coloured Petri Nets
Modeling Elevator System With Coloured Petri NetsMohammed Assiri
 
Modeling with petri nets
Modeling with petri netsModeling with petri nets
Modeling with petri netsMohammed Assiri
 
Integration of sequential scenarios
Integration of sequential scenariosIntegration of sequential scenarios
Integration of sequential scenariosMohammed Assiri
 

More from Mohammed Assiri (6)

Modeling Cardiac Pacemakers With Timed Coloured Petri Nets And Related Tools
Modeling Cardiac Pacemakers With Timed Coloured Petri Nets And Related ToolsModeling Cardiac Pacemakers With Timed Coloured Petri Nets And Related Tools
Modeling Cardiac Pacemakers With Timed Coloured Petri Nets And Related Tools
 
Modeling Elevator System With Coloured Petri Nets
Modeling Elevator System With Coloured Petri NetsModeling Elevator System With Coloured Petri Nets
Modeling Elevator System With Coloured Petri Nets
 
Elevator system. a case study of coloured petri nets
Elevator system. a case study of coloured petri netsElevator system. a case study of coloured petri nets
Elevator system. a case study of coloured petri nets
 
Modeling Elevator System With Coloured Petri Nets
Modeling Elevator System With Coloured Petri NetsModeling Elevator System With Coloured Petri Nets
Modeling Elevator System With Coloured Petri Nets
 
Modeling with petri nets
Modeling with petri netsModeling with petri nets
Modeling with petri nets
 
Integration of sequential scenarios
Integration of sequential scenariosIntegration of sequential scenarios
Integration of sequential scenarios
 

Recently uploaded

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 

Recently uploaded (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 

Formal Specification through Modeling

  • 1. Formal Specification through Modeling Summarized by Mohammed Assiri Based on: Coloured Petri Nets: Modelling and Validation of Concurrent Systems
  • 2. Concurrent Systems • The vast majority of software systems today can be characterized as concurrent systems • Structured as a collection of concurrently executing software components and applications (parallelism) • Operation relies on communication, synchronization, and resource sharing • It is difficult to formally specify them as the execution may proceed in many different ways depending on: • Whether messages are lost during transmission. • The scheduling of processes. • The time at which input is received from the environment. • Formal specification of concurrent systems have an astronomical number of possible executions. • It is easy for the designer to miss important interaction patterns. • This may lead to gaps or malfunctions in the system design. Summarized by Mohammed Assiri - https://www.linkedin.com/in/mohammed-assiri/
  • 3. Concurrent Systems (cont.) • Formal specification for concurrent systems are often critical. • For many concurrent systems it is essential that they work correctly from the very beginning: • Nuclear power-plants. • Aircraft control systems. • Hospital life support equipment. • Computer networks. • Bank system. Summarized by Mohammed Assiri - https://www.linkedin.com/in/mohammed-assiri/
  • 4. Complex Behavior • The formal specification of concurrent systems is challenging due to their complex behaviors, such as: • Concurrently executing and independently scheduled components • Non-deterministic and asynchronous behavior (e.g., timeouts, message loss, external events, …) • Therefore, it is almost impossible for software developers to have a complete understanding of the system behavior without formal specification. • Software testing is not enough alone as it is challenging and reproducing errors is often difficult. Summarized by Mohammed Assiri - https://www.linkedin.com/in/mohammed-assiri/
  • 5. Formal Specification through Modelling • One way to approach the challenge of developing concurrent systems is to formally specify the system through modelling. • Modelling is a universal technique that can be used across many of the activities in system development. • A model is an abstract representation which can be manipulated by a computer software tool Summarized by Mohammed Assiri - https://www.linkedin.com/in/mohammed-assiri/
  • 6. Why Formal Specification through Modelling? • Benefits of constructing executable models • Insight into the design and operation of the system • Completeness results in a more complete design • Correctness reveals errors and ambiguities in the design phase • Abstraction validation using high-level and domain-specific concepts in development. • Reliability testing and verification prior to implementation and deployment • It becomes possible to investigate how the system will behave and its existence properties. • Functional properties (e.g., deadlocks, timing requirements,…) • Performance properties (e.g., delay, scalability,…) Summarized by Mohammed Assiri - https://www.linkedin.com/in/mohammed-assiri/
  • 7. Gain insight • Formally specifying a system through modelling and simulation usually leads to significant new insights into the design and operation of the system. • Formally specifying a system through modelling results in an elaborate and more complete understanding of the system compared to reading system documents. • The new insight can result in the following: • A simpler and more streamlined design. • Similarities can be identified, which can be exploited to unify and generalize the design and make it more logical. • We may also get ideas to improve the usability of the system. Summarized by Mohammed Assiri - https://www.linkedin.com/in/mohammed-assiri/
  • 8. Completeness • Formally specifying a system through an executable model usually leads to a more complete specification of the design. • Gaps in the specification of the system become explicit: • They will prohibit the model from being executed because certain parts are missing. • During simulation the designers and users will discover that certain expected events are impossible in the current state. • Formally specifying a system through modelling leads to a more complete identification and understanding of the requirements to the system. • Formally specifying a system through modelling can be used to mediate discussions among designers and users of the system. Summarized by Mohammed Assiri - https://www.linkedin.com/in/mohammed-assiri/
  • 9. Correctness • Formally specifying a system through modelling often reveals a number of design errors and flaws. • It is possible to control the execution of a model (unlike the real system). This means that: • Problematic scenarios can be reproduced. • It is possible to check whether a proposed modification of the design works as intended. • To only simulate a number of different scenarios, without formally specifying the system, such simulation does not necessarily lead to correct designs: • There may be too many scenarios to investigate. • The simulation may fail to identify some important scenarios. • However, formal specification through modelling often decreases the number of design errors significantly. Summarized by Mohammed Assiri - https://www.linkedin.com/in/mohammed-assiri/