Abstraction and Modelling
Transcript of Abstraction and Modelling
![Page 1: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/1.jpg)
© Kramer TFM 09 1
Jeff Kramer
Imperial CollegeLondon
Abstraction and Modellinga complementary partnership
“Is Abstraction the key toComputing?” CACM April 2007
![Page 2: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/2.jpg)
© Kramer TFM 09 2
Chapter 1. My teaching experience
1. Teaching experience2. What is Abstraction?3. Teaching Abstraction4. Modelling & Analysis5. Conclusion
![Page 3: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/3.jpg)
© Kramer TFM 09 3
Teaching experience
Courses:software engineering,distributed systems,distributed algorithms,programming,concurrency,……
Skills:problem solving,conceptualization,modelling,analysis,……
![Page 4: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/4.jpg)
© Kramer TFM 09 4
Experience: the better ones….
Some students are able to produceelegant designs and solutions.
Generally the same students are alsoable to comprehend the complexities ofdistributed algorithms, the applicabilityof the various modelling notations, andso on.
![Page 5: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/5.jpg)
© Kramer TFM 09 5
Experience: the others ….
Why ?
A number of others are not so able.
They tend to find distributed algorithmsvery difficult, do not appreciate theutility of modelling, find it difficult toknow what is important in a problem,produce convoluted solutions whichreplicate the problem complexities, ……
![Page 6: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/6.jpg)
© Kramer TFM 09 6
I believe …..
… that the heart of theproblem lies in a difficulty indealing with
![Page 7: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/7.jpg)
© Kramer TFM 09 7
Chapter 2. What is it? Why is it so important?
Abstraction1. Teaching experience2. What is Abstraction?3. Teaching Abstraction4. Modelling & Analysis5. Conclusion
![Page 8: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/8.jpg)
© Kramer TFM 09 8
Definitions
the act of withdrawing or removing something
the act or process of leaving out of consideration oneor more properties of a complex object so as to attendto others
a general concept formed by extracting commonfeatures from specific examples
the process of formulating general concepts byabstracting common properties of instances
=> generalisation (core or essence)
=> Remove detail (simplify) and focus (selection)
![Page 9: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/9.jpg)
© Kramer TFM 09 9
Abstraction in other disciplines
Art
Music
Maps
![Page 10: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/10.jpg)
© Kramer TFM 09 10
Matisse – guess what ….
representationof the essenceof the subject
&removal ofdetail
![Page 11: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/11.jpg)
© Kramer TFM 09 11
Katsushika Hokusai – guess what ….
South Wind,Clear Skies(Red Fuji)
…” balance of colour and composition rendering anabstract form of the mountain to capture itsessence“ – art commentator
![Page 12: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/12.jpg)
© Kramer TFM 09 12
Jazz
“It is easy to make something simple soundcomplex, however its more difficult tomake something complex sound simple”.
jazz musicianon theprocess ofabstraction –
![Page 13: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/13.jpg)
© Kramer TFM 09 13
1930 – London Underground map
Relationshipbetweenstations andinterchanges,not actualdistances
“Fit forpurpose?”
![Page 14: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/14.jpg)
© Kramer TFM 09 14
1932 – Harry Beck (1st schematic image map)
![Page 15: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/15.jpg)
© Kramer TFM 09 15
2001 – Fit for purpose (“mind the gap…”)
![Page 16: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/16.jpg)
© Kramer TFM 09 16
Fit for purpose ?!
![Page 17: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/17.jpg)
© Kramer TFM 09 17
Fit for purpose – internationally!
![Page 18: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/18.jpg)
© Kramer TFM 09 18
Why is abstraction important in Software Engineering?
“Once you realize that computing is all aboutconstructing, manipulating, and reasoning aboutabstractions, it becomes clear that animportant prerequisite for writing (good)computer programs is the ability to handleabstractions in a precise manner.”
Keith Devlin CACM Sept.2003
Software is abstract!
![Page 19: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/19.jpg)
© Kramer TFM 09 19
Why is abstraction important in Software Engineering?
Requirements
Design
Programming
Software is abstract!
![Page 20: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/20.jpg)
© Kramer TFM 09 20
Why is it important? requirements engineering
“The act/process of leaving out of consideration one or moreproperties of a complex object so as to attend to others”
Requirements - elicit the critical aspects of theenvironment and required system while neglectingthe irrelevant.
requirements
goalsscenariosassumptionsconstraintsproperties
![Page 21: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/21.jpg)
© Kramer TFM 09 21
Why is it important? design
Design - articulate the software architecture andcomponent functionalities which satisfy functionaland non-functional requirements while avoidingunnecessary implementation constraints.
eg. Compiler design (Ghezzi):
• abstract syntax to focus on essentialfeatures of language constructs;
• design to generate intermediate code foran abstract machine
“The act/process of leaving out of consideration one or moreproperties of a complex object so as to attend to others”
![Page 22: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/22.jpg)
© Kramer TFM 09 22
Why is it important? programming
Programming - usedata abstractionand classes so asto generalizesolutions.
“the process of formulating general concepts byabstracting common properties of instances ”
Selectable
guard()
listSelect
add()
choose()
Channel
send()
receive()
Port
send()
receive()
Entry
call()
accept()reply()
clientChan
Message passing
![Page 23: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/23.jpg)
© Kramer TFM 09 23
Why is it important? advanced topics
Abstract interpretation for program analysis -map concrete domain to an abstract domainwhich captures the semantics for the purpose athand.
eg. Rule of signs for multiplication *
0*+ = 0*- = +*0 = -*0 = 0
+*+ = -*- = +
+*- = -*+ = -
“the process of formulating general concepts byabstracting common properties of instances ”
Hankin
![Page 24: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/24.jpg)
© Kramer TFM 09 24
Abstraction
Abstraction is fundamental to Engineeringin general, and to Software Engineering inparticular !
Do our powers of abstraction depend on our genes ?
Can we improve our abilities ? …and if so, how ?
Is it possible to teach abstraction ?
![Page 25: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/25.jpg)
© Kramer TFM 09 25
Chapter 3. Teaching abstraction?
1. Teaching experience2. What is Abstraction?3. Teaching Abstraction4. Modelling & Analysis5. Conclusion
![Page 26: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/26.jpg)
Cognitive Development
Jean Piaget’s fours stages of cognitive development:
1st & 2nd: sensorimotor and preoperational (0-7yrs)
3rd stage: concrete operational thought (7-12yrs)no abstract thought
4th stage: formal operational period (12–adult)think abstractly (logical use of symbols
related to abstract concepts),systematically and hypothetically
Changes in thinking by which mental processesbecome more complex and sophisticated.
Huitt &Hummel
![Page 27: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/27.jpg)
© Kramer TFM 09 27
Cognitive Development – formal operational thought
4
3
3
Kuhn et al
Formal (onset)
![Page 28: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/28.jpg)
Cognitive Development
Jean Piaget’s fours stages of cognitive development:
1st & 2nd: sensorimotor and preoperational (0-7yrs)
3rd stage: concrete operational thought (7-12yrs)no abstract thought
4th stage: formal operational period (12–adult)think abstractly (logical use of symbols
related to abstract concepts),systematically and hypothetically
Changes in thinking by which mental processesbecome more complex and sophisticated.
Not reached by all individuals. Only 30%to 35% of adolescents exhibit ability forabstact thought, some adults never do!bad news
Some ability for abstraction with training
good news
![Page 29: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/29.jpg)
© Kramer TFM 09 29
Courses on Abstraction?
Imperial College MEng inSoftware Engineering
1st Year (all required):Declarative Programming I
Databases 1
Declarative Programming II
Discrete Mathematics 1
Discrete Mathematics 2
Hardware
Programming I
Logic
Reasoning about Programs
Programming II
Computer Systems
Mathematical Methods and Graphics
2nd Year (most required):Algorithms, Complexity and Computability
Architecture II
Compilers
Artificial Intelligence I (optional)
Operating Systems II
Computational Techniques (optional)
Software Engineering - Design I
Concurrent Programming (optional)
Statistics
Networks and Communications
Software Engineering - Design II
![Page 30: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/30.jpg)
© Kramer TFM 09 30
Courses on Abstraction?
3rd Year (most optional):Advanced Databases
Advanced Computer Architecture
Advances in Artificial Intelligence
Computational Finance
Computational Logic
Custom Computing
Distributed Systems
Introduction to Bioinformatics
Knowledge Management Techniques
Decision Analysis
Operations Research
Graphics
Quantum Computing
Management - Organisation and Finance (required)
Simulation and Modelling
Multimedia Systems
Software Engineering - Methods (required)
Performance Analysis
The Practice of Logic Programming
Robotics
Type Systems for Programming Languages
4th Year (most optional):Advances in Artificial Intelligence
Advanced Graphics and Visualization
Advanced Issues in Object Oriented
Programming Automated Reasoning
Advanced Operations Research
Complexity
Computer Vision
Computing for Optimal Decisions
Intelligent Data and Probabilistic Inference
Domain Theory and Exact Computation
Modal and Temporal Logic
Grid Computing
Models of Concurrent Computation
Knowledge Representation
Natural Language Processing
Management - Economics and Law
Network Security
Multi-agent Systems
Program Analysis
Parallel Algorithms
Software Engineering - Environments
![Page 31: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/31.jpg)
© Kramer TFM 09 31
Courses on Abstraction?
Which courses rely on or utilise the powers ofabstraction to
• explain
• model
• specify
• reason
• solve …. ?
![Page 32: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/32.jpg)
© Kramer TFM 09 32
List of courses which do NOT make use of Abstraction?
![Page 33: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/33.jpg)
© Kramer TFM 09 33
So ….?
Abstraction is essential but is taughtindirectly.
![Page 34: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/34.jpg)
© Kramer TFM 09 34
So ….?
How should we ensure that studentscan understand and make use ofabstraction ?
1. Teach enough Mathematics
2. Teach (formal) modelling and analysisCaveat: Must be tool supported
Must feel the benefit
![Page 35: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/35.jpg)
© Kramer TFM 09 35
Chapter 4. Modelling and analysis
1. Teaching experience2. What is Abstraction?3. Teaching Abstraction4. Modelling & Analysis5. Conclusion
![Page 36: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/36.jpg)
© Kramer TFM 09 36
Models and Modelling?
A model is a description from which detailhas been removed in a systematic mannerand for a particular purpose.
A simplification of reality intended topromote understanding, reasoning andanalysis.
Models are the most important engineeringtool; they allow us to understand andanalyse large and complex problems.
![Page 37: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/37.jpg)
© Kramer TFM 09 37
Ockam’s Razor
William of Ockam (1285) formulated thefamous “Rule of the Razor”:
Entia non sunt multiplicanda sinenecessitate.
Entities should not be multiplied withoutnecessity.
In other words a model should be as simple aspossible, but no simpler - it should discardelements of no interest.
“Fit for purpose”.
![Page 38: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/38.jpg)
© Kramer TFM 09 38
software engineers
The challenge is to makemodelling and analysisaccessible and useful tosoftware engineers.
![Page 39: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/39.jpg)
© Kramer TFM 09 39
I teach Concurrency – models and programs
Model-based approach Models
finite state models(FSP and LTS),
model checking foranalysis (LTSA).
PracticeMap into Java for
concurrent programs.
![Page 40: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/40.jpg)
© Kramer TFM 09 40
component VOTER - behaviour
Component:
Process specification in FSP:
VOTER enterexit
VOTER = (enter -> vote -> exit -> VOTER ) @{enter,exit}.
Actions {enter,exit} areexposed, vote is hidden.
![Page 41: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/41.jpg)
© Kramer TFM 09 41
component USER - behaviour
Labelled transition system LTS:LTS Animationcan be used tostep through theactions to testspecificscenarios.
VOTER can be minimised withrespect to Milner’sobservational equivalence.
![Page 42: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/42.jpg)
© Kramer TFM 09 42
component BOOTH - behaviour
Component:
Process specification in FSP:
BOOTHenter exit
const Max = 3range Int = 0..Max
BOOTH(N=Max) = BOOTH[N],BOOTH[v:Int] =(when(v>0) enter -> BOOTH[v-1] |when(v<N) exit -> BOOTH[v+1] ).
Voting booths used inParis 2007 election.
![Page 43: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/43.jpg)
© Kramer TFM 09 43
Modelling concurrent systems
Compositecomponents
Primitivecomponents
![Page 44: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/44.jpg)
© Kramer TFM 09 44
Composite component behaviour
Three voters p[1..3] use a shared booth to registertheir vote. To ensure mutual exclusion ……
… thenumber of
spacesavailable inthe boothmust be 1.
p[1] : VOTER
eindhoven : BOOTH(1)
p[2] : VOTER p[3] : VOTER
VOTESDEMO
![Page 45: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/45.jpg)
© Kramer TFM 09 45
Composite component behaviour
||VOTESDEMO = ( p[1..Max]:VOTER || eindhoven :BOOTH(1)
)/{p[1..Max].enter/ eindhoven.enter, p[1..Max].exit/ eindhoven.exit}.
p[1]
eindhoven
p[2] p[3]VOTESDEMO
![Page 46: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/46.jpg)
© Kramer TFM 09 46
Benefit - behaviour analysis
![Page 47: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/47.jpg)
© Kramer TFM 09 47
Model checking
Safety properties are checked by searching thesystem state space for deadlock and ERROR states.
Deadlock is a state with no outgoing transitions.ERROR (π) is a trap state for property violations.
30 1 2-1ERRORstate
deadlockstate
![Page 48: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/48.jpg)
© Kramer 48
Property specification
Defined in terms of sets of actions:
Time
fluent VOTING[i:1..Max] = < p[i].enter , p[i].exit >
initially False
enter exit
TRUE FALSEFALSE
[Magee & Giannakopoulou]
Fluents: abstract predicates or states oversequences of events (from the Event Calculus).
![Page 49: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/49.jpg)
© Kramer TFM 09 49
Safety Properties
Behaviour violations transition to the ERROR state.Safety properties are violated if the ERROR isreachable.
What if the initial value of the booth is 2 ? …or 0?
assertEXCLUSION = []!(exists[i:1..Max-1]
(VOTING[i] && VOTING[i+1..Max]))
![Page 50: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/50.jpg)
© Kramer TFM 09 50
Liveness Properties
What if we give priority to one of the voters?
// action label denotes a fluent which is true when// the action occurs and false immediately the next action occurs
assertOKtoVOTE = forall[i:1..Max] []<>p[i].enter
Use of Linear Temporal Logic LTL for livenessresults in the use of Buchi Automata.
![Page 51: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/51.jpg)
© Kramer TFM 09 51
Deadlock – analysis Vs intuition
Dining Philosophers
![Page 52: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/52.jpg)
© Kramer TFM 09 52
abstract models concrete animations
CHAN
in
in
out
fail
0 1 2
CHAN = (in -> out -> CHAN |in -> fail -> CHAN ).
![Page 53: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/53.jpg)
© Kramer TFM 09 53
Model interpretation animations
LTSmodel
LTS Model checkingsafety propertiesprogress propertiescompositional reachabilityabstraction & minimisation
Animation
Separate graphicanimation model whichpreserves the behaviourof the model and hassound semantics basedon Timed Automata.
mapping
![Page 54: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/54.jpg)
© Kramer TFM 09 54
Puzzle
The animated model canbe used to helpunderstand the meaningof counterexamples.
![Page 55: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/55.jpg)
© Kramer TFM 09 55
NATS – short term conflict alert (STCA)
For each pair ofaircraft determinepotential conflict.
We can constructhybrid models thatcombine thediscrete behaviouralmodel with a realvalued data stream.
![Page 56: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/56.jpg)
© Kramer TFM 09 56
Model based design of concurrent programs
http://www-dse.doc.ic.ac.uk/concurrency/
![Page 57: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/57.jpg)
© Kramer TFM 09 57
My teaching experience …..
Generally very good - the students find theformal models relatively intuitive and helpfulin clarifying the problem.
Comprehension is facilitated by modelanimation, model checking and simulation.
However – some still seem to findconstructing models themselves, ab initio, to bevery difficult!
![Page 58: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/58.jpg)
© Kramer TFM 09 58
Modelling
It is not enough to think about whatthey want to model, they need tothink about how they are going to usethat model.
… fit for purpose (Occam’s Razor)
![Page 59: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/59.jpg)
© Kramer
Jean-Raymond Abrial (IEEE Computer Sept 2009**)
TFM 09 59
Focus on modelling the problem:”we have no choice but to perform a complete modeling of
our future system, including the software that willeventually be constructed and its environment”
Use mathematical models:- discrete transition systems and proofs
Animation complements modelling:- “directly animating the model”
Education ?- discipline of software engineers is (discrete)
mathematics and advocates teaching requirementsengineering and construction of mathematical models.
** “Faultless Systems: Yes We Can”
![Page 60: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/60.jpg)
© Kramer TFM 09 60
Chapter 5. Conclusion ...
1. Teaching experience2. What is Abstraction?3. Teaching Abstraction4. Modelling & Analysis5. Conclusion
![Page 61: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/61.jpg)
ACM/IEEE Computing Curricula:Software Engineering
Abstraction:- Generalization- Levels of abstraction and viewpoints- Data types, class abstractions, generics/templates- CompositionModeling:- Principles of modeling- Pre and post conditions, invariants- Math models and specification languages- Model development tools and model checking/validation- Modeling/design languages (eg UML, OOD and functional)- …
![Page 62: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/62.jpg)
© Kramer TFM 09 62
I believe that …
Abstraction is rarely discusseddirectly, but is the key to modellingin Software Engineering.
Students who can understand,appreciate and utilise abstractionproduce the most elegant modelsand software.
![Page 63: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/63.jpg)
© Kramer TFM 09 63
Abstraction – the key to Computing?
teach them abstraction skillsconsider selecting students for Computing based
not only on their school grades, but also on theirabstraction abilities?
Construct tests to assess formal operationalthinking and abstraction
(working with Orit Hazzan, Technion)
If we want the best Software Engineers,we need to …
![Page 64: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/64.jpg)
© Kramer TFM 09 64
I believe that …
Formal modelling is an excellenttechnique for teaching, practising andimproving abstraction skills forSoftware Engineers.
Abstraction and modelling arecomplementary.
![Page 65: Abstraction and Modelling](https://reader030.fdocuments.us/reader030/viewer/2022012716/61ae36f2b869ee66ee5ba638/html5/thumbnails/65.jpg)
© Kramer TFM 09 65
Abstraction and Modellinga complementary partnership **
Thank you.
** See “Is Abstraction the key toComputing?” CACM April 2007