230 likes | 319 Views
Application of Formal Methods (System development viewpoint). Prof . András Pataricza Prof . Tamás Bartha. Challenge : complex IT appl. . User specification : U nambiguity Understandability Completeness , no contradiction DEPENDABILITY Implementation : QUALITY - COST - TIME
E N D
Application of Formal Methods (System development viewpoint) Prof. András Pataricza Prof. Tamás Bartha
Challenge: complex IT appl. • User specification: • Unambiguity • Understandability • Completeness, no contradiction • DEPENDABILITY • Implementation: • QUALITY-COST-TIME • automation/componentintegration
Solution buzzwords • Quality of service in IT systems • ISO 9000, etc. (various standards) are not sufficient • Quality of products • Need of clean specification • Closed spec. • No contradiction • etc.
Methods • Issues: • Sound specification: soundness is provable • Specification tools • Component integration, timing • Problems: • “Sound” modeling: model of the “real” system • Time handling • Modeling the environment • Lot of maths
Formal methods (FM) • Formal syntax + semantic • Formal spec. language • Mathematical framework, mathematical preciseness • Formal syntax: structural properties • Formal semantic: interpretation of syntax • Description tool • Method • Reasoning about the formal model • Tool support • Language interpreter, SW impl. too
State-of-the-art: Formal Methods academic poppycock? • Hard mathematical formulations • Only for small systems • Need of special knowledge from the user
Formal specification • Mathematical description • Services of the target systems • Timeliness, performance • Internal structure • Environment • Validation and Verification (even here) • Consistency, absence of contradiction • Completeness • Runnable specification (?)
Tools (formal languages) • Z, VDM • sets • relations • functions • CSP, statecharts • Sequences, trees • Event queues
Applications • Examples • CICS: IBM Customer Information Control System (Z) • London: air traffic control (VDM) • USA air crash avoidance (statecharts) • Further areas • databases, HW design, micro-electronics, surgical instruments, nuclear equipments
SW Engineering (SE): Life cycle models • Why do we need this? • Handling complexity • Handling of changes (requirements, new solutions) kezelése • Well-defined development phases • Milestones • Verifiability • Designability (money, time) • Ability of stepping back • Distributed development, integration Life cycle models = methodology for SE DO NOT IMPLIES FM
Development tasks (SE) Req. analysis What is the problem to solve? Problem What are the available solution methods/tools? Approaches How to solve the problem? Implementation System design How to implement the problem? Implementation Are we ready? Testing Is the user satisfied? Installation Operation, maintenance Need of re-development?
Waterfall model: SE methodology Concept exploration System allocation Req. analysis System design Implementation Verification & Validation Installation Operation & Support
Preliminary: V&V definitions • Verification • Checking the single dev. phases against their specification • “Am I constructing the system properly?” • Validation • Checking the overall system against the user’s expectations (!= specification)
V model: SE methodology #2 Validation Validation Ver. Ver. Ver. Ver. decomposition composition Ver.
V model – another look Is validated/verified by
V&V in the V model – yet another look Problems with the V model: Developers perception = User perception Granularity Req. specification Low Acceptance Testing validates precedes System spec. Design test verifies precedes Architecture design Integration test verifies User Designer Model design Modul test High Time
Verification (and validation) approaches #1 • Model checking (restrictions) • Temporal logic • Automata • Examples: • IEEE Futurebus • AT&T ISDN/ISUP • Fujitsu HDCL controllers AUTOMATED
Verification (and validation) approaches #2 • Theorem proving(no restriction) • Mathematical logics • Axioms, deductions • Proofs (with user guidance) • Examples • IBM PowerPC, S390 • Motorola 68020, Intel Pentium BY HAND (PARTLY AUTOMATED)
Development of safety critical systems IEC 61580standards
Iteration • Waterfall and V model provides “one-version” development • System engineeringis iterative:prototype exposed bugs new prototype • Spiral model
Spiral model: SE methodology #3 RISK ANALYSIS ANALYSIS DESIGN & IMPL. EVALUATION
Tasks in the spiral model Task P1 Task P2
Summary • Maths, algorithms • Time might be also modeled • Model creation • Modelling languages with rich syntax (VHDL) • Unclear specifications (UML) • Next: Petri nets