Week4b

Information about Week4b

Published on September 27, 2007

Author: Sevastian

Source: authorstream.com

Content

Software system modeling:  Software system modeling System models – Abstract descriptions of systems whose requirements are being analysed Formal methods – Techniques and notations for the unambiguous specification of software Objectives To explain why the context of a system should be modelled as part of the requirements engineering process To describe behavioural modelling, data modelling and object modelling To introduce some of the notations used in the Unified Modeling Language (UML) To introduce formal methods and formal modeling approaches The Unified Modeling Language:  The Unified Modeling Language Devised by the developers of object-oriented analysis and design methods Has become an effective standard for software modelling Has nine different notations Software modeling and models:  Software modeling and models Software modeling helps the engineer to understand the functionality of the system Models are used for communication among stakeholders Different models present the system from different perspectives External perspective showing the system’s context or environment Process models showing the system development process as well as activities supported by the system Behavioural perspective showing the behaviour of the system Structural perspective showing the system or data architecture Context model:  Context model Process (activity) model:  Process (activity) model Behavioral models – Data Processing:  Behavioral models – Data Processing CASE toolset data flow diagram (DFD) Semantic data (a.k.a. ER) models:  Semantic data (a.k.a. ER) models Data dictionary models:  Data dictionary models Object models:  Object models Object models describe the system in terms of object classes An object class is an abstraction over a set of objects with common attributes and the services (operations) provided by each object Various object models may be produced Inheritance models Aggregation models Interaction models Library class hierarchy:  Library class hierarchy Object aggregation:  Object aggregation Object interaction:  Object interaction Objectives of formal methods:  Objectives of formal methods To be unambiguous, consistent, complete, and provable Requirements specification clarify customer’s requirements reveal ambiguity, inconsistency, incompleteness System/Software design structural specifications of component relations behavioral specification of components demonstrating that next level of abstraction satisfies higher level Verification “are we building the system right?” proving that a realization satisfies its specification Validation “are we building the right system?” testing and debugging Documentation communication among stakeholders Why use formal methods?:  Why use formal methods? Formal methods have the potential to improve both quality and productivity in software development to enhance early error detection to develop safe, reliable, secure software-intensive systems to facilitate verifiability of implementation to enable simulation, animation, proof, execution, transformation Formal methods are on the verge of becoming best practice and/or required practice for developing safety-critical and mission-critical software systems To avoid legal liability repercussions To ensure that systems meet regulations and standards Why not?:  Why not? Emerging technology with unclear payoff Lack of experience and evidence of success Lack of automated support Existing tools are user unfriendly Ignorance of advances High learning curve Perfection and mathematical sophistication required Techniques not widely applicable Techniques not scalable Myths of formal methods:  Myths of formal methods Formal methods can guarantee that software is perfect how do you make sure the spec you build is perfect? Formal methods are all about program proving they are about modeling, communicating, demonstrating Formal methods are only useful for safety-critical systems may be useful in any system (e.g., highly reusable modules) Formal methods require highly trained mathematicians many methods involve no more than set theory and logic Formal methods increase the cost of development the opposite is often the case Formal methods are unacceptable to users users will find them very helpful if properly presented Formal methods are not used on real, large-scale software they are used daily in many branches of industry Formal specification language types:  Formal specification language types Axiomatic specifications defines operations by logical assertions State transition specifications defines operations in terms of states and transitions Abstract model specifications defines operations in terms of a well-defined math model Algebraic specifications defines operations by collections of equivalence relations Temporal logic specifications defines operations in terms of order of execution and timing Concurrent specifications defines operations in terms of simultaneously occuring events Example problem – Clock:  Example problem – Clock Initially, the time is midnight, the bell is off, and the alarm is disabled Whenever the current time is the same as the alarm time and the alarm is enabled, the bell starts ringing this is the only condition under which the bell begins to ring The alarm time can be set at any time Only when the alarm is enabled can it be disabled If the alarm is disabled while the bell is ringing, the bell stops ringing Resetting the clock and enabling or disabling the alarm are considered to be done instantaneously Axiomatic specification – VDM:  Axiomatic specification – VDM INIT() ext wr time:N, bell:{quiet, ringing}, alarm:{disabled, enabled} pre true post (time’ = midnight) /\ (bell’ = quiet) /\ (alarm’ = disabled) TICK() ext wr time:N, bell:{quiet, ringing} rd alarm_time:N, alarm:{disabled, enabled} pre true post (time’ = succ(time)) /\ (if (alarm_time’ = time’) /\ (alarm’ = enabled) then (bell’ = ringing) else (bell’ = bell)) Abstract model specifications – Z:  Abstract model specifications – Z Algebraic specifications – Obj:  Algebraic specifications – Obj Functionality init:  CLOCK tick, enable, disable: CLOCK  CLOCK setalarm: CLOCK x TIME  CLOCK time, alarm_time: CLOCK  TIME bell: CLOCK  {ringing, quiet} alarm: CLOCK  {on, off} Relations time(init)  midnight time(tick(C))  time(C) + 1 time(setalarm(C,T))  time(C) alarm_time(init)  midnight alarm_time(tick(C))  alarm_time(C) alarm_time(setalarm(C,T))  T State Machine specifications:  State Machine specifications In-class exercise…

Related presentations


Other presentations created by Sevastian

ISPS
05. 11. 2007
0 views

ISPS

Love and Friendship
24. 12. 2007
0 views

Love and Friendship

The Meiji Restoration
27. 03. 2008
0 views

The Meiji Restoration

Passover Communion 2007
05. 03. 2008
0 views

Passover Communion 2007

frbr2
27. 02. 2008
0 views

frbr2

BB 3 06 presGC
07. 01. 2008
0 views

BB 3 06 presGC

Cambodia
07. 01. 2008
0 views

Cambodia

L14
05. 01. 2008
0 views

L14

GEGPresentation
04. 01. 2008
0 views

GEGPresentation

The Persian Wars
07. 12. 2007
0 views

The Persian Wars

4TTExcav2
10. 12. 2007
0 views

4TTExcav2

Hooters ppt Recovered
12. 12. 2007
0 views

Hooters ppt Recovered

anzio
30. 10. 2007
0 views

anzio

Wright ppt
31. 10. 2007
0 views

Wright ppt

new sol vocab review mouse
01. 11. 2007
0 views

new sol vocab review mouse

aspects culturel sdela France
02. 11. 2007
0 views

aspects culturel sdela France

Proctor BAT Brief
05. 11. 2007
0 views

Proctor BAT Brief

Area Communication Systems
06. 11. 2007
0 views

Area Communication Systems

Chapter4
07. 11. 2007
0 views

Chapter4

laburinary 03
13. 11. 2007
0 views

laburinary 03

Volkswagen Aids Care Program
16. 11. 2007
0 views

Volkswagen Aids Care Program

eurotb slides balkans
21. 11. 2007
0 views

eurotb slides balkans

Baseline project Summer 2007
04. 12. 2007
0 views

Baseline project Summer 2007

PressPack
23. 11. 2007
0 views

PressPack

Kids Help Phone Presentation
23. 12. 2007
0 views

Kids Help Phone Presentation

drawinglessons
02. 01. 2008
0 views

drawinglessons

1 OpenPresentation
28. 09. 2007
0 views

1 OpenPresentation

Vasa
07. 11. 2007
0 views

Vasa

11 tg
04. 01. 2008
0 views

11 tg

paper8
26. 11. 2007
0 views

paper8

Transits of Venus Pictures Only
26. 10. 2007
0 views

Transits of Venus Pictures Only

3 ModelagemEstatistica
28. 12. 2007
0 views

3 ModelagemEstatistica

Conway 2
24. 10. 2007
0 views

Conway 2

mln
18. 12. 2007
0 views

mln

JangWoo Son
09. 10. 2007
0 views

JangWoo Son

001
31. 10. 2007
0 views

001

sunum tasarim
14. 11. 2007
0 views

sunum tasarim

Spinoffs
25. 10. 2007
0 views

Spinoffs

Joao Castro
28. 11. 2007
0 views

Joao Castro

TS107 WEEK4 2 TRANSPORT
12. 11. 2007
0 views

TS107 WEEK4 2 TRANSPORT

7 Dividing Fractions
28. 12. 2007
0 views

7 Dividing Fractions

Module 2 VOCs
08. 11. 2007
0 views

Module 2 VOCs

Internet Detective LILAC2006
13. 12. 2007
0 views

Internet Detective LILAC2006

smn presentation
06. 11. 2007
0 views

smn presentation

ULSDDowngrading
06. 11. 2007
0 views

ULSDDowngrading

maslennikov2
01. 11. 2007
0 views

maslennikov2

mobicom1
31. 10. 2007
0 views

mobicom1

SACS WorkshopJuly2007
22. 11. 2007
0 views

SACS WorkshopJuly2007