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

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Recently uploaded (20)

Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
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 🔝✔️✔️
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%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
 
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 🔝✔️✔️
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

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/