450-2023/01 – Real Time Control Systems (SRvRC)
Gurantor department | Department of Cybernetics and Biomedical Engineering | Credits | 4 |
Subject guarantor | doc. Ing. Jaromír Konečný, Ph.D. | Subject version guarantor | doc. Ing. Jaromír Konečný, Ph.D. |
Study level | undergraduate or graduate | Requirement | Choice-compulsory |
Year | 2 | Semester | summer |
| | Study language | Czech |
Year of introduction | 2010/2011 | Year of cancellation | 2020/2021 |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
The course represents the introduction to the real time systems, namely with respect to the control and information systems development.
Students will be aquainted with rudimental general theoretical principles applicable in design and implementation of control real-time systems and gain practical skill in programming of such applications with help of programming lanquage C#.
Teaching methods
Lectures
Individual consultations
Project work
Summary
The course presents fundamental theoretical concepts and paradigms within the real time computing and control systems implementation fields : concept of real time, concurrency, parallelism, synchronisation and communication of concurrent processes, low-level programming, software safety, system safety, modularization, using of OOP, process management in critical RT systems, software engineering life cycle.
Compulsory literature:
Burns, A.-Wellings, A.: Real-Time Systems and their Programming Lanquages, Adison Wesley, 1994
Recommended literature:
Burns, A.-Wellings, A.: Real-Time Systems and their Programming Lanquages, Adison Wesley, 1994
Way of continuous check of knowledge in the course of semester
Verification of study:
Tutorial - student hands over the protocols vwith stepwise solution of his semestral projects
Conditions for credit:
At least 15 points for two semestral task, maximum 40 points.
E-learning
Other requirements
There are not defined other requirements for student
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Lectures:
Control systems,, Real- time control (RT-systems), classification of RT- systems , Hard and Soft RT systems, embedded systems. Communication with industrial environment, problems of data transfer. Centralized, hierarchical and distributed systems. Concurrent processes and its synchronization. Context, context switching. Processes dependent on time, Bernstein's conditions. Interrupt system and context
Process synchronization. Critical sections, Mutual exclusion problem. Concept of a general synchronization tool. Methods of passive and active waiting and their implementation: interrupt masking, process locking, operation delay.
Semaphores, signals and monitors. Message passing. Process scheduling. Priories, cyclical planning. Typical synchronization tasks. Mutual exclusion problem, producent - consument, readers-writers, rendezvous. Message passing, synchronous vs. asynchronous communication.
The principles of OOP, attributes and methods, interface, encapsul;ation, inheritance, polymorphism.
Visibility of identifiers management, cohesion and coupling, abstract classes, association and aggregation, methods of class implementation, exceptions
Specific methods of objects implementation and communication
Files processing and real-time systems
Safety of control systems. Errors handling. Errors vs. failures. HW and SW failures. Exception handling, Principles of safety and reliability achievement. Principles of backing-up. Majority systems.
Introduction to software engineering/1- Analysis - System life cycle, spiral model, waterfall . Design concepts -concurrent/parallel processing, encapsulation, object concepts, state diagrams. Requirements analysis, requirements definition-system specification
Introduction to software engineering /2 - Design - Design techniques, stepwise refinements methods, data flow structuring, modularization, data and process flow control design, notation, State machine diagram and modeling of control algorithm
Introduction to software engineering /3 - Implementation, testing and maintenance. Testing and installation, testing methods: static, dynamic, black-box and white-box method, testing top/down vs. bottom-up. Test planning: preparation of objects for testing, choice of test data and test conditions, management of testing, errors localization. Procedure as a contract, function ASSERT. Typical errors.
Basic of UML 2.0, Diagrams for behavior modeling: Use case diagrams , Activity diagrams, State machines diagrams, Communication diagrams, Sequential diagrams, Timing diagrams, Overview of interactions diagram
Basic of UML 2.0, Package diagrams, Class diagrams, Object diagrams, Diagrams of complex structures, Component diagrams , Deployment diagrams
Buses, nets, distributed systems. Buses, logical and physical concepts. Synchronous and asynchronous bus. Master-Slave architecture. Bus arbitration. Architecture ISO OSI. Industrial buses.
Laboratories:
Serial port: direct digital inputs, direct digital outputs, simple A/D converters, frequency measurement, serial data transfer
Parallel port: parallel data output , 32-bit port extension, PC-bus
Game port : voltage measurement, checking of limit values switching output, counters
Computer labs:
Introduction to the environment of Microsoft Visual Studio C# development tools, basic components, exceptions
Sophisticated components, using of some components for control systems
Work with graphics, dialogues of Windows environment
Database - MS SQL server - type of DataSet, DataTable, Adapter, clause SQL Connection and SQL Select
Database - MS SQL server - clause SQL Insert and SQL parameter, Delete, Where
Object programming, class, objects, construktor, destructor, more-parameters transfer in interface of methods
Threads in Windows - introduction to the using of threads, starting threads, memory threads, name, Thread.Sleep,
Threads in Windows - priority of threads, state of threads, connection of threads
Threads in Windows - synchronization threads, monitor, Lock
Threads in Windows - implementation of threads to the application, typical cases in supervisory system
DLL libraries in Visual C++ and calling of DLL from C#
Object access of approach at proposal architecture application, flowchart, petri nets, UML 2.0
ML Language- basic diagrams, MS Visio tool and possibilities
UML Language in supervisory system
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction