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 are 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 Design Requiremnts Machine Domain What your Machine has to do The result of your creative act Existing It is not your responsibility Discovered interacting with the client
Transformation frame Domain Requirements Design
Transformation frame: GREP Input Output IO relation Machine Text File Regular Expression ……... ……... Occurrence list
Transformation frame: Specification DATA STRUCTURE SPECIFICATION Requirements Design Domain
Domain Specification Data Structure Specification Data Structure Input Output IO relation Machine Data Structure Specification Data Structure Specification
Requirements Specification Specification of a data structure having Input and Output as parts, and a predicate IO: input X output Input Machine IO relation Output
Design Specification Specification of a data structure having Input and Output as parts, and a partial operation Tran: input -> output Input IO relation Machine Output
Control System Frame Domain Design Requirements
Control System Frame: Lift Controlled Domain Controller Main Part Desired Behaviour Domain Reports User Orders User Sensors Orders requests Reports Cabin position Motor status Door status Lift Plant Open/close door Move up/down/stop If a person asks to go to floor f, then eventually the cabin will be at floor f with the door open. …………. Enter/leaving Go to floor f Lift controller Persons to be transported
Control System Frame: Specification STRUCTURED SYSTEM SPECIFICATION Domain Design Main Part Sensors Controller Orders Requirements Domain Reports User Orders Controller Desired Behaviour User Requests User Controller Reports Controlled Domain ADDITIONAL PROPERTIES on
Domain Specification Dynamic System Specifications Elementary Sensors Dynamic System Specifications Main Part Controller Orders Elementary Interactions Domain Reports User Orders Special form of their properties User Requests User Controller Reports
Requirement: Specification Controlled Domain Controller Main Part Domain Reports User Orders User Sensors Orders Requests Reports PROPERTIES on of a special form Post-conditions for User Requests Pre-conditions and vitality for Controller Reports Properties on State Observers of Main Part
The End