Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Chapter 10 Formal Specification Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.

Similar presentations


Presentation on theme: "Software Engineering Chapter 10 Formal Specification Ku-Yaw Chang Assistant Professor Department of Computer Science and Information."— Presentation transcript:

1 Software Engineering Chapter 10 Formal Specification Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor Department of Computer Science and Information Engineering Da-Yeh University

2 2Ku-Yaw ChangFormal Sepcification Objectives Understand why formal specification techniques help discover problems in system requirements; Understand the use of algebraic techniques of formal specification to define interface specifications; Understand how formal, model-based formal techniques are used for behavioral specfication.

3 3Ku-Yaw ChangFormal Sepcification Preamble Traditional engineering disciplines Mathematical analysis Mathematical analysis A routine part of the process of developing and validating a product design Software engineering has not followed the same path Formal methods are not widely used Formal methods are not widely used

4 4Ku-Yaw ChangFormal Sepcification Preamble Formal methods Mathematical representation of software Mathematical representation of software Expressed in a language whose vocabulary, syntax and semantics are formally defined Expressed in a language whose vocabulary, syntax and semantics are formally defined Most software developments do not use formal methods Successful software engineering Successful software engineering Market changes Market changes Quality vs. time to market Limited scope of formal methods Limited scope of formal methods Limited scalability of formal methods Limited scalability of formal methods

5 5Ku-Yaw ChangFormal Sepcification Contents 10.1 Formal specification in the software process 10.2 Sub-system interface specification 10.3 Behavioral specification

6 6Ku-Yaw ChangFormal Sepcification Formal Specification Formal specification After system requirements After system requirements Before detailed system design Before detailed system design A tight feedback loop between A tight feedback loop between the detailed requirements specification the formal specification One of the main benefits Ability to uncover problems and ambiguities in the system requirements Ability to uncover problems and ambiguities in the system requirements

7 7Ku-Yaw ChangFormal Sepcification Specification and Design

8 8Ku-Yaw ChangFormal Sepcification Formal Specification in the Software Process

9 9Ku-Yaw ChangFormal Sepcification Software Development Costs with Formal Specification

10 10Ku-Yaw ChangFormal Sepcification Formal Specification Two fundamental approaches An algebraic approach An algebraic approach In terms of operations and their relationships A model-based approach A model-based approach A model is built using mathematical constructs

11 11Ku-Yaw ChangFormal Sepcification Formal Specification Different languages

12 12Ku-Yaw ChangFormal Sepcification Contents 10.1 Formal specification in the software process 10.2 Sub-system interface specification 10.3 Behavioral specification

13 13Ku-Yaw ChangFormal Sepcification Sub-system Interface Specification A large system Be decomposed into sub-systems Be decomposed into sub-systems Sub-systems make use of other sub-systems Define sub-system interfaces An essential part of the specification process An essential part of the specification process Sub-systems can be designed and implemented independently Sub-systems can be designed and implemented independently Clear and unambiguous sub-system interface specifications Clear and unambiguous sub-system interface specifications

14 14Ku-Yaw ChangFormal Sepcification Sub-system Interface Objects

15 15Ku-Yaw ChangFormal Sepcification Structure of an Object Specification Introduction Defines the sort (the type name) and declares other specifications that are used. Defines the sort (the type name) and declares other specifications that are used.Description Informally describes the operations on the type. Informally describes the operations on the type.Signature Defines the syntax of the operations in the interface and their parameters. Defines the syntax of the operations in the interface and their parameters.Axioms Defines the operation semantics by defining axioms which characterize behavior. Defines the operation semantics by defining axioms which characterize behavior.

16 16Ku-Yaw ChangFormal Sepcification The Structure of an Algebraic Specification

17 17Ku-Yaw ChangFormal Sepcification A Simple List Specification

18 18Ku-Yaw ChangFormal Sepcification Contents 10.1 Formal specification in the software process 10.2 Sub-system interface specification 10.3 Behavioral specification

19 The End


Download ppt "Software Engineering Chapter 10 Formal Specification Ku-Yaw Chang Assistant Professor Department of Computer Science and Information."

Similar presentations


Ads by Google