Lecturer(s)
|
|
Course content
|
1. Introduction. Purpose of modelling and performance and reliability testing, basic terms (mistake, error, failure, availability, performance, safety, security, reliability). 2. Systems modelling. Queuing networks, Markov chain, temporal logic. 3. Basic reliability models (redundant systems). Random number generators. 4. Basics of software simulations. Basic techniques, calendar, discrete event simulation, time and events in the simulation, design and parameterization of the simulation model. 5. Using of simulation for modelling queuing networks and other systems, simulation of the multithreading applications, system environment simulation. 6. Fundaments of the performance measuring, for use in both simulation and real system. Kinds and examples of metrics. Ensuring of test repeatability. 7. Best practices for creating of reliable software ? availability levels, basic methods for ensuring reliability, runtime error processing, using of reliability modelling. Standards and architectures for reliable software systems (AUTOSAR, MARTE, ISO 50128 and similar). 8. Benchmarking, performance testing of real HW and SW, preparation of workload, workload clustering. 9. Debugging. Using of debugger and profiler for error detection, error isolation, supervising of application run. Using of the record of application execution for simulation models. 10. Result analysis and presentation. Statistics, result visualization, risks for result interpretation. 11. Static SW analysis ? existing tools and methods (Spin model checker, Java PathFinder and similar), their suitability, using and limitations in specific situations. 12. Dynamic SW analysis ? existing tools and methods (Gcov, Glassbox, Cobertura and similar), their suitability, using and limitations in specific situations.
|
Learning activities and teaching methods
|
Lecture supplemented with a discussion, Students' portfolio, Skills demonstration, Task-based study method, Individual study, Self-study of literature, Lecture, Lecture with visual aids, Practicum
- Presentation preparation (report) (1-10)
- 10 hours per semester
- Preparation for laboratory testing; outcome analysis (1-8)
- 20 hours per semester
- Contact hours
- 65 hours per semester
- Preparation for an examination (30-60)
- 20 hours per semester
- Graduate study programme term essay (40-50)
- 40 hours per semester
|
prerequisite |
---|
Knowledge |
---|
Understand the basic problems of the network communication and remote request handling |
Understand basic concepts of the mathematical analysis |
Understand the descriptions and models of the software systems |
Understand the basic challenges of the parallel programming and their solutions |
Understand the basic principle of the computer system architectures |
Skills |
---|
independently search for information in the academic and professional resources |
create object design and decompose the problem correctly |
use object programming and suitable development tools |
Work with basic probability and statistics methods, including usage of the appropriate tools for the calculations |
Competences |
---|
N/A |
learning outcomes |
---|
Knowledge |
---|
Understand how analytical and simulational models of the Markov systems works |
Understand and interpret results of the benchmarking experiments |
understand the methods of the model design of the queuing systems |
Understand the basic methods of the statical and dynamical analysis of the software reliability |
Understand the methods of design of reliable systems and their evaluation |
understand the properties and limits of the simulations and analytical models |
Understand the properties and limits of the true random and pseudorandom number generators |
Understand and describe means of analysis, design and creation of reliable software systems working with large data, integrated from multiple interacting components. |
Skills |
---|
Design a prepare a benchmarking experiment, measure characteristics of the system under test |
Evaluate the reliability and performance characteristics of the tested software, based on the static analysis and dynamic testing |
suitable present the results of the measurements from the simulation or real systems |
Implement some types of the simulation models (discrete event simulation, simulation with the firm time step, cellular automatons) and analyze the obtained results |
Design and prepare an analytical model of the system under test, interpret the calculated characteristics |
Design and prepare an experiment to measure the behaviour of the system under load |
Competences |
---|
N/A |
N/A |
teaching methods |
---|
Knowledge |
---|
Lecture |
Practicum |
Lecture with visual aids |
Lecture supplemented with a discussion |
Self-study of literature |
Skills demonstration |
Seminar classes |
Students' portfolio |
Skills |
---|
Individual study |
Self-study of literature |
Skills demonstration |
Task-based study method |
Competences |
---|
Lecture with visual aids |
assessment methods |
---|
Knowledge |
---|
Combined exam |
Seminar work |
Individual presentation at a seminar |
Peer evaluation of students |
Formative evaluation |
Skills |
---|
Skills demonstration during practicum |
Competences |
---|
Combined exam |
Recommended literature
|
-
Bernardi, Simona; Merseguer, José; Petriu, Dorina C. Model-driven dependability assessment of software systems. Heidelberg : Springer, 2013. ISBN 978-3-642-39511-6.
-
Hamlet, Dick. Composing Software Components: A Software-testing Perspective. Springer, 2010. ISBN 978-1441971470.
-
Hlavička, Jan. Architektura počítačů. Praha : ČVUT, 1994.
-
Hlavička, Jan. Číslicové systémy odolné proti poruchám. Vyd. 1. Praha : ČVUT, 1992. ISBN 80-01-00852-5.
-
Jim Kukunas. Power and Performance: Software Analysis and Optimization. 2015. ISBN 0128007265.
-
Lyu, Michael R. Handbook of Software Reliability Engineering. Mcgraw-Hill, 1996. ISBN 978-0070394001.
-
Mor Harchol-Balter. Performance Modeling and Design of Computer Systems: Queueing Theory in Action. 2013. ISBN 1107027500.
-
Racek, Stanislav; Roubín, Miroslav. Pravděpodobnostní modely počítačů. 1. vyd. Plzeň : ZČU, 1996. ISBN 80-7082-300-3.
|