course aims in Estonian
Tutvustada ohutuskriitliste süsteemi arendamise eripärasid ja nõudeid arendusprotsessile. Anda ülevaade valdkonna standarditest ja nende rakendamisest lennunduse, kosmosetööstuse ja autotööstuse näidetel. Demonstreerida mudelite kasutamist arendusprotsessis, võimalusi tarkvara verifitseerimiseks arenduse erinevates etappides ning rutiinse käsitsitöö automatiseerimist vastavate tarkvaraarendusvahendite abil.
course aims in English
The course gives an introduction to the specifics and requirements on the development process of safety critical systems. Provides an overview of the relevant standards and practices based on examples from avionic, space and automotive domains. Demonstrates a model based development process, means for software verification in the different phases of development and automation of routine manual tasks.
learning outcomes in the course in Est.
Kursuse eduka läbimise järel üliõpilane:
* omab ülevaadet nõuetest tarkvaraarenduse protsessidele ohutuskriitiliste süsteemide arenduseks
* tunneb lennunduse (DO-178C), kosmosetööstuse (ECSS-E-40, ECSS-Q-80) ja autotööstuse (ISO 26262) tarkvara ohutusstandardite peamisi põhimõtteid
* teab mudelipõhise tarkvaraareduse eeliseid ja piiranguid
* oskab kirjutada nõudeid ja teste vastavalt DO-178C piirangutele, teostada nõuete, tarkvarakoodi ning testide kaetusanalüüsi
* on teinud praktilise töö, mis koosneb nõuete kirjutamisest, nõuetele vastavate mudelite koostamisest, mudelite verifitseerimisest ja koodi genereerimisest, nõuete ja koodi verifitseerimisest
learning outcomes in the course in Eng.
After the successful completion of the course the student:
* has an overview of the requirements on the development of safety critical software
* knows the main principles of the avionic (DO-178C), space (ECSS-E-40, ECSS-Q-80) and automotive (ISO 26262) software development standards
* knows the advantages and limitations of model based development
* can write requirements and tests conforming to the DO-178C guidelines, perform coverage analysis of requirements, code and tests
* has performed a coursework involving writing requirements for a real-time system, creating the software design as a model, automatic code generation from the models, verification of the requirements and the implementation of the system
brief description of the course in Estonian
Kursus keskendub ohutuskriitliste süsteemide arendusprotsessidele rõhuga mudelite kasutamisel ja verifitseerimisel. Läbitakse järgnevad teemad:
* Reaalajasüsteemide ja reaalaja tarkvaratehnika eripärad
* Ülevaade elutsüklimudelitest ja nende seos reaalajasüsteemide arendusega
* Mudelipõhise tarkvaraarenduse tööprotsess MDA (Model Driven Architecture) näitel
* UML reaalaja laiendused, MARTE profiil
* Koodi korrektsuse tagamine Ada ja C näitel
* Ülevaade DO-178C standardist, jälgitavus
* Kõrg- ja madaltaseme nõuded, arhitektuuri nõuded, omavaheline viitamine
* Nõuete ja disaini esitamine mudelitena (UML, Simulink, AADL, MARTE)
* Programmikoodi ja nõuete sidumine, formaalsed lepingud (SPARK)
* Testimine, testide kaetuse mõõtmine
Kursuse käigus koostavad tudengid valitud reaalajasüsteemi nõuded, nõuetele vastavad mudelid, genereerivad töötava programmikoodi ning testivad valmis süsteemi Raspberry-Pi platvormil.
brief description of the course in English
The course focuses on the development of safety critical systems with an emphasis on using models and verification. The following topics will be covered:
* Specifics of real-time systems and software engineering for real-time systems
* An overview of system development life cycle models and their applicability in development of real-time systems
* Model-based software development process based on the MDA (Model Driven Architecture) approach
* Real-time extensions of UML and the MARTE profile
* Means for preventing coding errors with examples from Ada and C programming languages
* An overview of the DO-178C guideline, traceability
* High and low-level requirements, architectural requirements, cross-referencing
* Expressing requirements and design as models (UML, Simulink, AADL, MARTE)
* Relating requirements and program code, formal contracts (SPARK)
* Testing, measuring test coverage
During the course the students will specify requirements of a real-time system, design models conforming to these requirements, generate software code from the models, deploy and test the system on the Raspberry-Pi platform.
type of assessment in Estonian
Kursuse hinne moodustub semestri keskel toimuva vahearvestuse ja kursuse lõpus tehtava kirjaliku eksami keskmise hindena. Praktilise töö läbimine on eksamile pääsu eelduseks ja võib hea soorituse korral anda lisapunkte.
type of assessment in English
The final grade of the course is the calculated average of the final exam and a written test performed in the middle of the semster. Completion of the practical coursework is a prerequisite for the final exam. A good coursework can give bonus points.
independent study in Estonian
Praktikumiülesannete iseseisev lahendamine ja vormistamine
independent study in English
Individual work with lab assignments and their documentation
study literature
Course web page
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):