Anúncio
Anúncio

Use of mathematical models for specification and validation in formal methods

1. FM USE OF MATHEMATICAL MODELS FOR SPECIFICATION AND VALIDATION SEMESTER PROJECT
2. FR TABLE OF CONTENTS Introduction to mathematical models Uses of mathematical models Introduction to specification Validation in software engineering Examples of mathematical models used for specification and validation Z specification Z specification for library management system Petri nets Petri nets real-life examples Sets Uses of sets Examples of uses of sets in validation and specification Conclusions References Add a footer
3. FR INTRODUCTION TO MATHEMATICAL MODELS  A mathematical model is a representation of a system or process using mathematical concepts and equations Its purpose is to capture the essential features of a system in a simplified form Mathematical models can take many forms, ranging from simple equations to complex systems of equations and computer simulations
4. USES OF MATHEMATICAL MODELS Predictive modeling System optimization Risk analysis Quality assurance
5. FR In software engineering, specifications refer to the detailed requirements and design of a software system. They describe what the system should do, how it should behave, and what it should look like. Specifications are used to guide the development of a software system and are typically created at the beginning of the software development process. They serve as a reference for the developers and help to ensure that the system is developed according to the desired requirements and specifications. INTRODUCTION TO SPECIFICATION
6. FR VALIDATION IN SOFTWARE ENGINEERING In software engineering, validation refers to the process of evaluating a software system or component during or at the end of the development process to determine whether it satisfies the specified requirements. Validation is typically carried out through testing, which involves executing the system and comparing its actual behavior to the expected behavior specified in the requirements.
7. FR Finite state machines: Petri nets Process algebras: Model checking. Stochastic models Queueing models Differential equation models EXAMPLES OF MATHEMATICAL MODELS USED FOR SPECIFICATION AND VALIDATION
8. FR Z specification is a formal specification language that is used to specify the behavior of software systems and other systems that can be described using mathematical concepts. It is based on set theory and predicate logic and allows the specification of systems in a precise, formal manner. Z SPECIFICATION
9. FR Z SPECIFICATION FOR INVENTORY SYSTEM Here is an example of an inventory system. A developer wants to monitor his business of stock, if the stock is available, deliver the goods to the customer and bill the invoice. The system will perform the following tasks: Read files from the database.  Login. If login success, the following activities can be done:  Monitor Stock  Update Stock  Get Order  Generate Invoice  View Order
10. FR Petri nets are a type of mathematical model used to represent the behavior of systems that involve concurrency and communication.  They are named after the mathematician Carl Adam Petri, who developed the model in the 1960s. Petri nets consist of two types of elements: places and transitions. Places represent locations where tokens (representing events or tasks) can be stored, and transitions represent actions or processes that consume and produce tokens. Petri nets are typically represented visually as a directed graph, with places represented as circles and transitions represented as rectangles. PETRI NETS
11. FR Manufacturing systems Computer networks Biological systems Transportation systems PETRI NETS REAL LIFE EXAMPLES
12. FR PETRI NETS REAL LIFE EXAMPLES OF VIDEO GAME INDUSTRY
13. FR PETRI NETS REAL LIFE EXAMPLES OF ORDER PROCESS
14. FR SETS In software engineering, sets are collections of objects that are grouped together based on some common characteristic. Sets are a fundamental concept in mathematics and are often used in software engineering to represent and analyze collections of data.
15. FR Representing collections of data. Defining relationships between data. Specifying constraints and requirements. Defining the set of all possible input values for a system. Specifying the set of all valid responses from a system. Defining the set of all possible states that a system can be in. USES Add a footer
16. FR EXAMPLE 1: . If we are developing a software system for an online shopping website. The system needs to be able to handle a wide range of product categories, such as electronics, clothing, and home goods. One way to represent the different product categories in the system is to use a set. The set could be defined as follows: Product Category = {electronics, clothing, home goods}. The set could be used in the specification and validation of the system in several ways. EXAMPLES OF USES OF SETS IN VALIDATION AND SPECIFICATION Add a footer
17. FR EXAMPLE 2:  For Specification: Sets can be used for the specification by defining a set of possible states that a system can be in. For example, a traffic light system might have a set of states that includes "red“, "yellow," and "green." This set of states can be used to specify the behavior of the traffic light system. Sets can also be used to define the allowed inputs and outputs for a system. For example, a vending machine might have a set of allowable input coins and a set of allowable output products. This can be used to specify the behavior of the vending machine and ensure that it only accepts valid input and provides valid output.  For Validation: In validation, sets can be used to check that the system is behaving correctly. For example, if the traffic light system is in the "red" state, it should not allow any vehicles to pass through the intersection. If the vending machine is accepting input coins, it should only accept coins that are in the set of allowable input coins. If the system is not behaving as specified, it can be considered invalid. EXAMPLES OF USES OF SETS IN VALIDATION AND SPECIFICATION Add a footer
18. FR In proposed document, we have explained mathematical models used in formal methods for validation and specification. The mathematical models explained are Z-schemas, Petri-nets, and sets. CONCLUSIONS
19. FR Zhang, W., Mohamed, A.R. and Ong, W.J., 2020. Z‐Schema‐Photokatalysesysteme für die Kohlendioxidreduktion: Wo stehen wir heute?. Angewandte Chemie, 132(51), pp.23092-23115. Groves L. Refinement and the Z schema calculus. Electronic Notes in Theoretical Computer Science. 2002 Nov 1;70(3):70-93. https://slideplayer.com/slide/2301995/ Peterson, James L. "Petri nets." ACM Computing Surveys (CSUR) 9, no. 3 (1977): 223-252. Murata, T., 1989. Petri nets: Properties, analysis, and applications. Proceedings of the IEEE, 77(4), pp.541-580. REFRENCES
20. THANK YOU!

Notas do Editor

1. It is used to represent mathematical model that would be in any form ,rangng from simple system to complex one,fields….,they basically used to capture the essential featureof a system..by using mathematical model we can predict behavior of system, many types of model including linear non linear which model to be used depend on system.
2. Used to make prediction,to make and explain system, used in design nd analysis of complex system like transportation system, communication system,,, Used too make prediction about behavior of system in order to improve its performance. In order to improve a sydtem ,model can be used to dentify optimal configuration of a system Analyze the risk factor associated with system,nd to identify measures to handle them. They ensure that s system should meet some quality requirements such as performance,relaiabiltiy or security.
3. They tell what system should do, how it should behave, and what it should look like. They are guides made at begining of a system, they help developer to know tha they are desiging system in a way that customers req are fulfilled. Functional specifucaton and non function specification. Can be wriiten in flowchats,uml
4. System that we built for any purpose is actually fulfilling that purpose. Validation type ,functional validation nd non validation, Validation is typically carried out through testing, which involves executing the system and comparing its actual behavior to the expected behavior specified in the requirements. If the system behaves as expected, it is considered to be valid. If there are discrepancies between the actual and expected behavior, the system is considered to be invalid and may need to be modified or re-designed
5. Finite state machines These models represent systems as a series of states and transitions between states. They are used to specify the behavior of systems that can be in a finite number of states. Petri nets They are used to specify the behavior of concurrent systems. Process algebras They are used to specify the behavior of concurrent and distributed systems. Model checking: This is a formal verification technique,It is used to ensure that a system behaves as intended. SOME MORE MODELS Stochastic models These models represent systems that involve randomness or uncertainty. Examples include Markov chains and random walks. Queueing models These models represent systems that involve the processing of requests or tasks, such as servers or networks. Differential equation models: These models represent systems using equations that describe how quantities change over time. They are used to model continuous systems, such as physical systems or biological systems.
6. Mathematical data types (e.g. sets, functions), subject to mathematical laws • Predicate logic for reasoning • Schemas: • Describe both static and dynamic aspects of the system ● It cannot be executed, interpreted or compiled into a running program. ● It allows specification to be decomposed into small pieces called schemas. ● The schema is the main feature that distinguishes Z from other formal notations. ● In Z, both static and dynamic aspects of a system can be described using schemas. ● The Z specification describes the data model, system state and operations of the system. ● Z does not require a high level of mathematics rather it requires knowledge of basic set theory and first order logic for the analysis of a complete system.
7. Petrinets is a collection of arcs that are connecting places and transitions. Where places are the locations and transitions are processes or actions. While tokens are events and tasks. The tokens are produced in the next place when a transition takes place.This model was developed in late 1960s. To make it easier to understand petrinets working and concept. We have represented them visually by using circles to represent Places and rectangles to represent transitions. And connecting them with arrows.
8. Now let's see the real life examples where petrinets concept can be applied: Manufacturing Processes Computer Networks Biological Systems Transportation Systems And other distributed Systems
9. We can define a set by comprehension, that is, by. describing a property that its elements must share
10. The set could be used to specify that the system should only accept input values that correspond to valid product categories. This could help to ensure that the system behaves correctly when processing requests for different product categories. The set could be used to specify that each product in the system must belong to a single product category. Overall, this example illustrates how sets can be used in software engineering to represent and analyze collections of data, and to specify and validate the behavior of a software system.
Anúncio