Lectures:
1. Basic Concepts of Industrial Automation and Computer-Based Control
Hierarchy of enterprise and technological control. Use of computers in measurement, monitoring, and control of technological processes.
2. Basic Tools for Computer-Based Control Systems
Control computers, PLCs, embedded systems, input/output interfaces, operating systems, and programming tools for control applications.
3. Software Engineering in Control Systems
Requirements analysis, system specification, importance of software modelling, software life cycle.
4. Structured Methods of Software Design
Data flow diagrams, entity-relationship diagrams, Yourdon structured analysis, state and transition diagrams, extension of structured methods for real-time systems.
5. Object-Oriented Methods of Software Design
Principles of object-oriented design, classes, objects, encapsulation, inheritance, polymorphism, and their use in the design of software systems.
6. UML and Modelling of Software Structure
Unified Modeling Language. Class diagrams, object diagrams, component diagrams, deployment diagrams, and their use in software architecture design.
7. UML and Modelling of Software Behaviour
Activity diagrams, state machine diagrams, description of states, transitions, events, and conditions. Use of UML for describing the logic of control applications.
8. UML and Modelling of Software Interactions
Sequence diagrams, communication diagrams, use case diagrams, description of interactions between the user, software, and technical system. Extension of object-oriented methods for real-time systems.
9. Software System Architecture and Design Patterns
Architectural styles, layered architecture, component-based systems, design patterns, and their use in control applications.
10. Software Versioning and Configuration Management
Principles of versioning, configuration management, Git, historical context of Concurrent Versions System and Subversion.
11. Software Testing, Tracing, and Debugging
Types of tests, testing standards, bug tracking software, application tracing and debugging, verification of correctness of control software.
12. Concurrent, Parallel, and Distributed Computing in Control Systems
Concurrent processing, parallel computing, distributed systems, remote procedure calls, client/server architecture.
13. Databases, Internet of Things, Cloud, and Industry 4.0
Use of databases for measurement and control in industry. Storage and historization of operational data. Internet of Things, cloud services, edge computing, and their use in industrial control systems.
Semester Project:
The semester project is focused on the analysis and design of software for a specified task in the field of computer-based control systems. The project is carried out in teams and its objective is to prepare a comprehensive software specification covering system requirements, system structure, behaviour, interactions, data relations, and basic implementation principles.
Within the project, students will apply knowledge gained in lectures, particularly in the areas of software engineering, structured and object-oriented design, UML modelling, software system architecture, version control, testing, and the design of applications for measurement, monitoring, and control of technological processes.
Examples of suitable project topics include the design of a smart home system, control of a group of drones, a parking payment machine, a charging infrastructure system supporting electromobility, control of laboratory or industrial equipment, a monitoring system for a technological process, or an application for the collection, processing, and visualization of operational data.
Computer Laboratories / Practical Classes
1. Introduction to Practical Classes and Assignment of the Semester Project
Introduction to the organization of practical classes, requirements for the semester project, tools used, and the method of submitting project outputs.
2. Assignment Analysis and Specification of Requirements for the Control System
Definition of the problem to be solved, identification of system functions, user requirements, technical constraints, and links to the controlled process.
3. Project Analysis Using a Data Flow Diagram
Modelling of data flows between system components, users, technical equipment, and data repositories.
4. Analysis of System Behaviour Using a State Transition Diagram
Description of system states, events, transition conditions, and responses of the control application to changes in inputs.
5. Project Modelling Using UML – Use Case Diagram
Identification of actors, use cases, and basic interactions between the user, software, and technical system.
6. Project Modelling Using UML – Class Diagram
Design of the object structure of the system, including classes, attributes, methods, and relationships between classes.
7. Project Modelling Using UML – Component Diagram
Decomposition of the system into software components, interfaces, relationships between application parts, and links to technical resources.
8. Project Modelling Using UML – State Machine Diagram
Detailed description of the state-based behaviour of selected parts of the control system, including states, events, transitions, and actions.
9. Project Modelling Using UML – Activity Diagram
Description of workflows, control algorithms, decision branches, parallel activities, and the sequence of individual operations.
10. Project Modelling Using UML – Timing Diagram and Interaction Diagrams
Description of timing relationships, event sequences, and interactions between system components, particularly with regard to the behaviour of control applications.
11. Operating Systems and Development Tools for Computer-Based Control Systems
Basic introduction to operating systems, development tools, version control, and tools for the implementation, debugging, and testing of control applications.
12. Processing and Presentation of the Semester Project
Completion of the software specification, verification of model completeness, preparation of project documentation, and presentation of achieved results.
13. Course Credit Assessment
Verification of fulfilment of practical class requirements, submission of the semester project, its defence, and evaluation of the work results.