génie logiciel pour la conception d'un système d...
TRANSCRIPT
![Page 1: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/1.jpg)
Génie logiciel pour la conception d'un Système d'Information
CSC4521 Voie d'Approfondissement
Intégration et Déploiement de Systèmes d’Information ( VAP DSI )
Modelling - Models, Languages and Methods
[email protected] http://www-public.imtbs-tsp.eu/~gibson/Teaching/CSC4521
![Page 2: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/2.jpg)
Engineers SOLVE PROBLEMS
and CHECK (proposed) SOLUTIONS
![Page 3: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/3.jpg)
Engineers work with models (of problems and solutions)
Engineering is based on science – scientists (try to) build models of things in the real world, engineers (try to) build things in the real world from models
Architects build models of problems and solutions – they are engineers and scientists
![Page 4: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/4.jpg)
Build a Requirements Model
Build a Design Model
Build an Implementation Model
Build Test Model
![Page 5: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/5.jpg)
What is a good model ?
What is a good modelling language ?
What is a good modelling method ?
![Page 6: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/6.jpg)
Natural Language
UML
Java
Java Byte Code
Machine Code
An on-line voting system
public class Poll { ...}
110000010100011101000110
![Page 7: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/7.jpg)
Building Requirements Models
![Page 8: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/8.jpg)
Building Requirements Models
The world of software engineering cannot always agree on requirements modelling: •formal or informal •operational or logical •textual or graphic •client-led or analyst-led
![Page 9: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/9.jpg)
Building Requirements Models
The model: •acts as a contract between client and analyst •improves communication by attacking risks --- •client misunderstands •client informs/communicates •analyst misunderstands •analyst misleads •will act as contract with designers
![Page 10: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/10.jpg)
Building Requirements Models
![Page 11: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/11.jpg)
Building Requirements Models
![Page 12: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/12.jpg)
Building a Model
Modelling Method - any technique concerned with the construction and/or analysis of mathematical models which aid the development of computer/information systems
Some toy modelling languages will help us explore the fundamental concepts
We will not be using UML/Java but the lessons are the same !!
![Page 13: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/13.jpg)
Typographical Re-write Systems (TRS)
A TRS is a formal system based on the ability to generate a set of strings following a simple set of syntactic rules.
Each rule is calculable --- the generation of a new string from an old string by application of a rule always terminates
A TRS may produce an infinite number of strings
TRSs can be as powerful as any computing machine
TRSs are simple to implement (simulate)
![Page 14: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/14.jpg)
Case Study 1 --- The MUI TRS Thanks to Hofstadter - https://en.wikipedia.org/wiki/Gödel,_Escher,_Bach
Modelling Language
Models
![Page 15: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/15.jpg)
Case Study 1 --- The MUI TRS
![Page 16: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/16.jpg)
Case Study 1 --- The MUI TRS
Question: before we move on ... is MU a theorem of MUI ?
![Page 17: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/17.jpg)
![Page 18: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/18.jpg)
Alphabet = {p,q,-}
Axiom: for any such x such that x is a possibly empty sequence of ‘-’s, xp-qx- is an axiom
Generation Rules: for any x,y,z which are possibly empty sequences of ‘-’s, if xpyqz is a theorem then xpy-qz- is a theorem
Modellers strive for consistency and completeness
![Page 19: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/19.jpg)
![Page 20: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/20.jpg)
Question : Impact on Requirements Modelling ?
![Page 21: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/21.jpg)
![Page 22: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/22.jpg)
Problem 1 -
Define a TRS that can decide if a natural number is composite
Define a TRS that can decide if a natural number is prime
![Page 23: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/23.jpg)
Often used to model requirements
![Page 24: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/24.jpg)
Question:
Extend the model to include multiplication
![Page 25: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/25.jpg)
Redundancy
Termination
Confluence
x eq y = y eq x
x eq x = false
x eq x = true
Important properties
![Page 26: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/26.jpg)
Question:
Why do you think that ADTs are often used to specify OO models?
![Page 27: Génie logiciel pour la conception d'un Système d ...gibson/Teaching/CSC4521/CSC4521-Mod… · Génie logiciel pour la conception d'un Système d'Information CSC4521 Voie d'Approfondissement](https://reader033.vdocument.in/reader033/viewer/2022060300/5f0824777e708231d4208c8e/html5/thumbnails/27.jpg)
Problem 2 -
Write an ADT specification for a stack of integers
Write an ADT specification for a queue of integers
Compare and contrast the 2 models