Scheda programma d'esame
INDUSTRIAL APPLICATIONS
PIERFRANCESCO FOGLIA
Academic year2022/23
CourseCOMPUTER ENGINEERING
Code910II
Credits9
PeriodSemester 1
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
INDUSTRIAL APPLICATIONSING-INF/05LEZIONI90
PIERFRANCESCO FOGLIA unimap
COSIMO ANTONIO PRETE unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

 

 

Knowledge

The student will have the ability to realize applications in the embedded and industrial domains, with constraints on resources and execution time, by considering hardware infrastructure, programming interfaces and RTOSs; he/she will be able to demonstrate a knowledge of the architecture of embedded/industrial applications and of the techniques utilized to achieve predictability, of the hw and sw components utilized in such domain; he will be aware of issues related to cost, power consumption and standards.

By means of experimental activities, students will acquire skills in product and service innovation in the industrial/embedded field, going as far as the implementation of demonstrator prototypes.

Assessment criteria of knowledge

- The student will be assessed on his/her demonstrated ability to discuss the main course contents using the appropriate terminology. - The student must demonstrate the ability to put into practice and to execute, with critical awareness, the activities illustrated or carried out under the guidance of the teacher during the course.

Methods:

  • Final oral exam
  • Final laboratory practical demonstration
Skills

The student will be able to utilize state of the art microcontrollers, also with the support of RTOS, and realize applications which satisfy timining and other constraints.    

By means of experimental activities, students will also acquire skills in product and service innovation in the industrial/embedded field, going as far as the implementation of demonstrator prototypes.

Assessment criteria of skills

Skills will be tested through LAB sections, and in the implementation of demonstrator prototypes.

Behaviors

The student will develop awareness towards the importance of non-functional requirements of industrial and embedded application, and will possess a set of methodologies and best practice to satisfy such requirements.

Assessment criteria of behaviors

Behaviours will be tested through  the final oral exam and the final laboratory practical demonstration  

Prerequisites

Knowledge of programming languages, general purpose operating system concept, computer architecture.

Teaching methods

Delivery: face to face

Attendance: Advised

Teaching methods:

  • Lectures
  • Lab activities
  • Task-based learning/problem-based learning/inquiry-based learning
  • project work

Learning activities:

  • attending lectures
  • preparation of oral/written report
  • Lab activities
  • participation in discussions
  • group work
Syllabus

The course aims to explain the technologies and the methodologies that characterize embedded and industrial applications with constraints on resources and execution time. Students will be able to design and realize applications, by considering techniques and methodologies to achieve predictability, hw infrastructures, use of RTOSs, use of hardware abstraction sw libraries.

In a significant part of the course, by means of experimental activities, students will acquire skills in product and service innovation in the industrial/embedded field, going as far as the implementation of demonstrator prototypes.

The implementation of prototypes will be the subject of the final assessment.

Syllabus:

  • main requirements of embedded/industrial applications. Timing requirements, factors limiting predictability of a system
  • basic concepts: tasks, basic architecture of an industrial application, timing constraints, WCET, static and dynamic techniques for WCET, examples of evaluation of timing constraints for an industrial application, precedence and resource constraints. Timing anomalies. 
  • Methodologies to achieve predictability:
    • aperiodic tasks: algorithms, optimality, admittance tests, resource constraints
    • periodic task: algorithms, optimality, sufficient conditions, necessary and sufficient conditions, response time analysis, processor demand.
    • resource constraints: the priority inversion phenomenon. Algorithms for avoiding priority inversion. Computation of blocking time. Stack sharing.
  • Hw infrastructures and programming interfaces:
    • CPUs for industrial applications. Exemplification with the ARM Cortex family. Microcontrollers
    • Microcontrollers: development environments, programming, debugging tools and emulators. Development boards. Low level and hardware abstraction layer libraries.
    • Microcontrollers: Management of I/O pins: polling and interrupts. Serial communications and virtual com port. Blocking and non-blocking mode. LCD and touchscreen APIs. Implementation of finite state machines. Programming of other controller devices.
  • Sw architecture and RTOS:
    • Advantage of using RTOSs in industrial applications and sw architectures. Exemplification with the FreeRTOS OS. Task states, scheduling algorithms. API for tasks management. Configuration file. Timers and signals. Implementations of periodic tasks, Rate Monotonic assignment of priorities, checks for deadline misses and management of systick overflow. Use of signals and OSdelay. Mutexes and counting semaphores. Examples of application of the priority inheritance protocol. Architecture of an  application based on periodic and aperiodic task.  
  • Example of standards in the industrial environment.
  • LABS on product and service innovation in the industrial/embedded field 
Bibliography

material provided by the teacher

G. Buttazzo: Hard Real-Time Computing Systems

Updated: 29/09/2022 10:00