Plan of the talk Basic Specification blocks Specification
Plan of the talk • Basic Specification blocks – Specification of Data Structures – Specification of Simple Systems – Specification of Structured Systems • Development methods for main “Problem Frames” using
Problem Frames (M. Jackson, Addison-Wesley 2001) “It is important to focus directly on a problem, not just going straight to the design of a solution. The computer and its software the solution; the problem is in the world outside the computer. ” “A problem frame defines the shape of a problem by capturing the characteristics and interconnections of the parts of the world it is concerned with, and the concerns and difficulties that are likely to arise. ” “But most realistic problems are too big and complex to handle in two levels like this. Another level is needed: structuring the problem as a collection of interacting subproblems. ”
• Solving Problem Frames with our Formally-Grounded Specifications – Basic problem frames * * Transformation Frame Control System Frame Information System Frame (see paper) Work-pieces (still to be done) – Structured problems (still to be done) • To – show that we can tackle real problems – derive specialized methods to handle more effectively the various problems • Future – New/modern problem frames (e. g. , web applications, business support) as basic or structured problems
Schema of a problem frame Machine Domain Requiremnts Design The result of your creative act Existing It is not your responsibility What your Machine has to do Discovered interacting with the client
Transformation frame Design Domain Requirements
Transformation frame: GREP Text File Regular Expression ……. . . Machine Input Occurrence list Output ……. . . IO relation
Transformation frame: Specification Design Domain Requirements DATA STRUCTURE SPECIFICATION
Domain Specification Data Structure Specification Input Machine Data Structure Specification Output IO relation
Requirements Specification Input Machine Output Specification of a data structure having Input and Output as parts, and a predicate IO: input X output IO relation
Design Specification of a data structure having Input and Output as parts, and a partial operation Tran: input -> output Machine Input IO relation Output
Control System Frame Requirements Domain Design
Control System Frame: Lift Sensors Cabin position Motor status Door status Desired Behaviour Enter/leaving User Orders If a person asks to go to floor f, then eventually the cabin will be at floor f with the door open. …………. Domain Reports Lift Plant Persons to be transported User Controlled Domain Open/close door Move up/down/stop Controller Orders User requests Go to floor f Controller Reports Controller Lift controller Main Part
Control System Frame: Specification Sensors User Orders Desired Behaviour Domain Reports Main Part Controller Orders Controller User Requests User Controlled Domain Requirements ADDITIONAL PROPERTIES on Domain Controller Reports Design STRUCTURED SYSTEM SPECIFICATION
Domain Specification User Orders Special form of their properties Domain Reports Dynamic System Specifications Main Part Sensors Controller Orders Elementary Interactions User Requests User Controller Reports
Requirement: Specification • Post-conditions for User Requests • Pre-conditions and vitality for Controller Reports • Properties on State Observers of Main Part User Orders of a special form Sensors Domain Reports PROPERTIES on Controller Orders Controller User Requests User Controlled Domain Controller Reports
- Slides: 16