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

process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
Arun Nair
 
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
Sudarshan Dhondaley
 

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

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

Recently uploaded (20)

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
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
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 

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/