88155 - Industrial Informatics P

Academic Year 2023/2024

  • Moduli: Riccardo Venanzi (Modulo 1) Matteo Sartini (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Mechatronics (cod. 5818)

    Also valid for First cycle degree programme (L) in Mechatronics (cod. 6009)

Learning outcomes

At the end of the module, the student is familiar with the design criteria for automation software geared toward facilitating its portability in differentiated execution environments. In particular, the student is able to apply, with reference to relatively simple systems, the "divide and conquer" design approach, proceeding to define the role of the individual constituent entities and identifying suitable models for the formal description of their behavior.

Course contents

The course is divided into two parts. In the first part, the student is introduced to topics in the context of modern operating systems; their evolution, process concept, memory management, and input/output systems. In the second part of the course, the student learns about and uses design patterns of general applicability in the context of automation software design.

 

Part #1: Introduction to Modern Operating Systems (30 hrs.)

  • Historical view of the Operating System and major sub-systems.
  • Management of Processes: definition, structures, concurrency, synchronization, sorting (intro. to real-time sorting), stall problem.
  • Memory Management: hierarchies, relocation, structures, virtual memory, paging.
  • Operating System Patterns and Architectures: discussion of design choices of UNIX/Linux systems and Windows systems.

Part #2: Design patterns in the context of automation software (30 hrs.)

  • Characteristics of real-time multitasking applications. Time parameters and reference models for different types of real-time tasks.
  • Main strategies for scheduling applications comprising a multiplicity of periodic tasks: "Rate Monotonic Priority Ordering" and "Earliest Deadline First". The fundamental requirement of performance predictability: methods for a priori verification of an application's schedulability.
  • Design criteria for automation software geared to promote its portability in differentiated execution environments.The "divide and conquer" design approach. The fundamental principle of the distinction of the three aspects "what to do," "when to do," and "how to do."

    o Functional decomposition of a complex system in terms of a hierarchy of entities, abstract or concrete, appropriately cooperating.
    o Definition of the role and functionality of each entity ("what to do"), as well as the related interfaces and protocols provided for interaction with other entities operating in the same or adjacent levels of the hierarchy.
    o Reference models for the formal definition of the behavior of individual entities ("how to do").
    o Reference models for defining how individual entities perform their tasks ("when to do").

 

  • Exemplification of theoretical and methodological aspects with reference to application cases of considerable interest in the field of automatic packaging machines.

Readings/Bibliography

  • A. S. Tanenbaum, Modern Operating Systems - 4th Edition, Prentice Hall, 2014.
  • Slides and bibliography references discussed and provided during the lecture series

Teaching methods

The course will be complemented by a set of practical laboratory exercises, in which students will be stimulated to perform guided activities in the form of personal and independent work. These activities will be necessary for the completion of preparation and achievement of the desired skills; texts and solutions of the exercises will be made available on the course Web site.

Assessment methods

The course includes a written test assessing the level of learning achieved on the topic of operating systems: main issues and design choices. In addition, a project delivery is scheduled with subsequent oral discussion lasting about 30-45 minutes. The project test is on the topic of designing an application module in the context of automation.

Teaching tools

The material shown in class (slides, solved exercises, suggested exercises, examples and project proposals) will be made available in full on the course Web site.
This material should be considered the main study material for exam preparation; the suggested bibliography is listed as optional support and supplement.

Office hours

See the website of Riccardo Venanzi

See the website of Matteo Sartini

SDGs

Quality education

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.