| Course Unit Code | 450-4003/05 | 
|---|
| Number of ECTS Credits Allocated | 5 ECTS credits | 
|---|
| Type of Course Unit * | Optional | 
|---|
| Level of Course Unit * | Second Cycle | 
|---|
| Year of Study * |  | 
|---|
| Semester when the Course Unit is delivered | Winter Semester | 
|---|
| Mode of Delivery | Face-to-face | 
|---|
| Language of Instruction | English | 
|---|
| Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester | 
|---|
| Name of Lecturer(s) | Personal ID | Name | 
|---|
|  | SLA77 | doc. Ing. Zdeněk Slanina, Ph.D. | 
| Summary | 
|---|
| Basic charakteristics of critical RT-systems. Analysis and design of software for control and information systems. The structured design techniques: DFD, Ward Mellor , Mascot,  DARTS. Object oriented approaches. design patterns. The COM technology. Distributed systems and DCE. | 
| Learning Outcomes of the Course Unit | 
|---|
| Upon subject completion the student knows the basic characteristics of RT critical systems. he is familiarized with fundamentals structured approach s to the analysis and design of RT systems. He has basic knowledge about modern trends in the field of design and implementation such as object approaches, design patterns, component technologies and a tools for development of distributed applications and problems connected with their implementation. | 
| Course Contents | 
|---|
| Lectures: • Basic concepts of industrial automation. Business hierarchy. Using computers for control.
 • Software engineering. Software analysis. Systém specification. Software modeling importance. Software life cycle.
 • Structured software design methods. Data Flow Diagram. Entity-relationship model. Yourdon structured method. State Transition Diagram. Real-time systems extension of structured design.
 • Object oriented design methods. Unified Modeling Language. UML and description of the software structure.
 • UML and software behavior description. UML and description of software interaction description. Real-time systems extension of object oriented design.
 • Software versioning. Concurrent Version System. Subversion. Git.
 • Design Patterns. Architecture of software systems.
 • Software testing. Testing models. Standards for testing. Software for error management. Application for tracing and debugging.
 • The importance of communication buses and networks for the use of computer control systems.
 • Real-time systems. Safety and security issues of the software.
 • Parallel and distributed processing. Remote Procedure Calls. Client/Server architecture.
 • Use of databases for industrial measurement and control.
 • Internet of things. Use of cloud in control systems. Industry 4.0.
 • Essential resources for computer control systems. Operating systems. Programming languages. Physical model and software implementation in a case study.
 
 Projects:
 • Project 1 - Analysis and design of software for the given issue. The project is solved in teams and includes all topics from the lectures in order to create a software specification. Examples include a smart house, drones management, a parking house, an electric cars charging infrastructure support, and so on.
 • Project 2 - Analysis and design of software for Raspberry Pi platform (or minicomputers with real-time operating system). The project is solved in teams too and topic is a small functional part of a larger technological unit that is dedicated to the field of the internet of things or as part of a client/server architecture for real tasks or processes measuring or control.
 
 Computer labs:
 • Project analysis using a data flow diagram.
 • Behavior analysis using the state transition diagram.
 • Project analysis using UML - use case diagram.
 • Project analysis using UML - class diagram.
 • Project analysis using UML - component diagram.
 • Project analysis using UML - state diagram.
 • Project analysis using UML - activity diagram.
 • Project analysis using UML - timing diagram.
 • Project analysis using UML - other diagrams.
 • Processing of projects.
 • Presentation of project No. 1.
 • Introduction to operating systems for computer control systems.
 • Credit.
 | 
| Recommended or Required Reading | 
|---|
| Required Reading: | 
|---|
| Shalloway A., Trott J.R. Design Patterns Explained – A new perspective on Object Oriented Design. 357 p. Addison-Wesley Professional 2004. ISBN 978-0321247148. Booch G., Rumbaugh J., Jacobson I. The Unified Modeling Language User Guide. 496 p. Addison-Wesley Professional 2005. ISBN 978-0321267979.
 King K.N. C Programming: A Modern Approach. 832 p. W. W. Norton & Company 2008. ISBN 978-0393979503.
 Albahari J., Albahari B. C# 5.0 in a Nutshell: The Definitive Reference. 1064 p. O'Reilly Media 2012. ISBN 978-1449320102.
 
 | 
| Černohorský J. Řídicí systémy s počítači – učební text a návody do cvičení. VŠB-TU Ostrava 2013. Vondrák I. Metody specifikace softwarových systémů pro kombinované a distanční studium. VŠB-TU Ostrava 2005.
 Erl T. SOA Servisně orientovaná architektura – Kompletní průvodce. 672 s. ComputerPress 2009. ISBN 9788025118863.
 Kernigham B.W., Rotchie D.M. Programovací jazyk C. 288 s. ComputerPress 2006. ISBN 9788025108970.
 Mareš A. 1001 tipů a triků pro C# 2010. 416 s. ComputerPress 2011. ISBN 9788025132500.
 UML. Dostupné online na www.uml.org.
 RASPBERRY PI. Dostupné online na www.raspberrypi.org.
 Řídicí systémy s počítači. Stránky předmětu dostupné online v rámci univerzity na http://rc111.vsb.cz/rssp.
 
 | 
| Recommended Reading: | 
|---|
| Ardence RTX for Windows. Homepage at http://www.ardence.com 
 RTAI - the RealTime Application Interface for Linux from DIAPM. Homepage at https://www.rtai.org
 
 RTLinuxFree. Homepage at http://www.rtlinuxfree.com
 
 
 | 
| Černohorský,J.: Sylaby k předmětu Řídicí systémy s počítači II. Sylaby na WWW stránkách katedry,2002 Ardence RTX for Windows. Homepage at http://www.ardence.com
 
 RTAI - the RealTime Application Interface for Linux from DIAPM. Homepage at https://www.rtai.org
 
 RTLinuxFree. Homepage at http://www.rtlinuxfree.com
 
 | 
| Planned learning activities and teaching methods | 
|---|
| Lectures, Individual consultations, Tutorials, Project work | 
| Assesment methods and criteria | 
|---|
| Tasks are not Defined |