
Sistemes Encastats
Codi: 104378Crèdits: 6
| Titulació | Tipus | Curs |
|---|---|---|
| Enginyeria de Dades | OP | 4 |
Professor/a de contacte
- Nom :
- Lluís Ribas Xirgo
- Correu electrònic :
- lluis.ribas@uab.cat
Equip docent
- Joaquín Saiz Alcaine
Idiomes dels grups
Podeu consultar aquesta informació al final del document.
Prerequisits
Per a la plena comprensió dels continguts de l’assignatura convé tenir una habilitat bàsica en la programació i un bon coneixement de com s’executen els programes en els computadors. Per a això, s’ha d’haver superat Programació avançada, com també Fonaments físics per a l’adquisició de de dades per entendre els principis de digitització de la informació. És convenient haver fet Estructures de dades i Programació paral·lela.
Objectius
Els sistemes encastats s’encarreguen de conjunts molt específics de funcions que, habitualment, fan d’interfície d’alt nivell entre les aplicacions i el món físic. En aquest sentit, s’ocupen del tractament de dades captades per sensors de tot tipus, de part del seu processament (computació perifèrica), de la seva transmissió a les aplicacions i també del control de motors i actuadors de tota mena. Actualment, hi ha sistemes encastats a gairebé qualsevol “cosa” i, si les coses són complexes, en poden portar molts com, per exemple, els que hi pot haver en un cotxe.
Com que els sistemes encastats estan estretament relacionats amb l’entorn físic que els envolta, els algorismes que implementen han de complir amb molts de requeriments, sovint molt estrictes i contradictoris entre sí. Per exemple, tenir un alt rendiment i consumir poca energia.
Així doncs, per al desenvolupament dels sistemes encastats és necessari concebre algorismes robustos que puguin verificar-se per operar en entorns crítics i tenir un cost de desenvolupament i d’execució dins dels marges delimitats pels requeriments de l’aplicació.
Amb aquesta assignatura es pretén que les i els estudiants assoleixin els objectius següents:
- Tenir nocions dels dominis d’aplicació dels sistemes encastats i dels requeriments més comuns.
- Conèixer la metodologia del desenvolupament dels sistemes encastats.
- Haver adquirit els rudiments del disseny basat en models.
- Entendre els diversos models de càlcul dels sistemes.
- Tenir habilitat pràctica amb el disseny i implementació dels models de càlcul orientats a estats.
- Entendre com estimar costos d’implementació a partir dels models de càlcul dels sistemes.
Resultats d'aprenentatge
- Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins de la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes destacats d'índole social, científica o ètica.
- Prevenir i solucionar problemes, adaptar-se a situacions imprevistes i prendre decisions.
- Demostrar sensibilitat cap als temes ètics, socials i mediambientals.
- Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia.
- Dissenyar el sistema d'adquisició de dades més eficient per a un sistema de suport a la conducció autònoma.
Continguts
1. Introducció
1.1. Procés de desenvolupament de sistemes encastats
1.2. Controladors basats en màquines d’estats
1.3. Programació de màquines d’estats
2. Models de computació
2.1. Màquines d’estats finits esteses (EFSM)
2.2. Màquines d’estats finits esteses concurrents i jeràrquiques (HCEFSM)
2.3. Màquines d’estats algorísmiques (ASM)
2.4. Grafs de flux de dades (DFG)
2.5. Grafs de control de flux de dades (CDFG)
3. Desenvolupament de sistemes encastats
3.1. Arquitectura de sistemes complexos
3.2. Verificació formal de sistemes orientats a estats
3.3. Síntesi de programari
3.4. Simulació
3.5. Sistemes en temps real
Activitats formatives i Metodologia
| Títol | Hores | ECTS | Resultats d'aprenentatge |
|---|---|---|---|
| Teoria: Assistència i participació en classes de teoria | 24 | 0,96 | 1 |
| Problemes: Resolució de problemes i elaboració d'informes | 24 | 0,96 | 2 |
| Tutorització: Resolució de problemes addicionals | 6 | 0,24 | 5 |
| Pràctiques: Desenvolupament del projecte i elaboració d'informes | 12 | 0,48 | 5 |
| Pràctiques: Desenvolupament d'un projecte d'assignatura | 12 | 0,48 | 2, 5 |
| Problemes: Propostes i discussions de solucions de problemes | 12 | 0,48 | 3, 5 |
| Teoria: Estudi | 26 | 1,04 | 4 |
| Pràctiques: Seguiment del treball del projecte d'assignatura | 6 | 0,24 | 5 |
La docència s’estructura a partir de les activitats següents:
- Classes de teoria: Són sessions d’exposició de continguts, amb una primera part que es dedica a la divulgació dels coneixements necessaris per a l’anàlisi i el disseny dels sistemes encastats i a explicar casos que situïn en context el coneixement i les habilitats que s’adquireixen a l’assignatura. La segona part es dedicarà a plantejar els problemes que es tractaran en els seminaris corresponents.
- Seminaris de problemes: Discussió de petits casos d’estudi que serveixin per consolidar els coneixements teòrics quant a l’anàlisi i el disseny dels sistemes encastats.
- Pràctiques en laboratori: Sessions de treball en grup, tot seguint un guió i supervisades per un professor o una professora. A cada sessió es tractarà sobre un aspecte concret quant a la implementació dels sistemes encastats.
Com en tots els àmbits de l’enginyeria, el desenvolupament de sistemes encastats implica prendre decisions basades en criteris sovint contradictoris. En els casos d’estudi que es treballin es procurarà que s’hi incloguin criteris ètics, socials i mediambientals. De la mateixa manera, es fomentarà la capacitat d’ajustar-los per adaptar-se a incidències en el procés de desenvolupament i canvis d’especificacions.
Avaluació
Activitats d'avaluació continuada
| Títol | Pes | Hores | ECTS | Resultats d'aprenentatge |
|---|---|---|---|---|
| Treballs d'avaluació continuada | 25% | 10 | 0,4 | 1, 5 |
| Pràctiques | 25% | 12 | 0,48 | 2, 4, 5 |
| Examen parcial | 25% | 2 | 0,08 | 1, 3, 5 |
| Examen de recuperació | 50% | 2 | 0,08 | 1, 3, 5 |
| Examen final | 25% | 2 | 0,08 | 1, 3, 5 |
a) Procés i activitats d’avaluació programades
L’avaluació és contínua amb activitats específiques (exàmens i treballs) al llarg del curs. Aquestes activitats d’avaluació generen un seguit de notes que determinen la nota final.
El càlcul de la nota final n segueix l’expressió següent:
n = x·50% + p·25% + c·25%
on x és la nota dels exàmens; p, la del projecte de les pràctiques de laboratori, i c, la de l’avaluació continuada.
Si x < 5 o p < 5, la nota final (n) és, com a màxim, un 4,5. En altres paraules, s’ha d’aprovar la mitjana dels exàmens i el projecte per separat.
La nota dels exàmens (x) és la nota mitjana de l’examen parcial i de l’examen final o només la de l’examen final, si és més gran. Si la nota de l’examen final és inferior a 3,5 s’ha de fer l’examen de recuperació.
La nota del projecte (p) s’obté de la mitjana ponderada de les notes corresponents a cada sessió de pràctiques. Se’n preveuen sis. En cas de no assistència, la persona absent tindrà un 0 com a nota de la sessió corresponent.
La nota de l’avaluació continuada (c) s’obté d’una mitjana ponderada dels treballs de resolució de problemes que es facin al llarg del curs. No hi ha cap mínim i, per tant, es pot aprovar l’assignatura amb c = 0 sempre que x·50% + p·25% ≥ 5.
b) Programació de les activitats d’avaluació
Les dates de totes les activitats presencials, incloses les d’avaluació, i dels terminis de lliurament es publicaran al campus virtual (CV) i poden estar subjectes a possibles canvis de programació per motius d’adaptació a possibles incidències: sempre se n’informarà prèviament a través del CV ja que és el mecanisme habitual d'intercanvi d’informació entre professorat i estudiants fora de l’aula.
En casos excepcionals en què la persona afectada rebi la conformitat de la sol·licitud de reprogramació d’activitats d’avaluació (vegeu “Reprogramació d’exàmens” al web de l’Escola), s’oferirà una alternativa que s’ajusti a la programació de l’assignatura.
c) Procés de recuperació
D’acord amb la coordinació del Grau i la direcció de l’Escola d’Enginyeria les activitats següents no són recuperables:
- Projecte, 25% de la qualificació final
- Avaluació continuada, 25% de la qualificació final
La nota mitjana dels exàmens es pot recuperar amb un examen específic.
d) Procediment de revisió de les qualificacions
Les revisions es podran fer en qualsevol moment després de la publicació de les notes i abans del termini de revisió de l’examen final.
Si, com a resultat d’una revisió, s’acorda el canvi d’una nota, la nova nota no es podrà modificar en una revisió posterior.
Un cop passat el termini de revisió de l’examen final, només es farà la revisió de la l’examen de recuperació.
e) Qualificacions
La qualificació de “no avaluable” només s’atorgarà a les persones que no facin cap activitat avaluable. La participació en una activitat avaluable implica que la resta d’activitats que no es facin computin com a 0 en el càlcul de la nota final.
Les matrícules d’honor es concediran als qui obtinguin una nota superior o igual a 9,0 a cada part, fins al 5% dels matriculats segonsordre descendent de nota final. A criteri del professorat, també se’n podran concedir en d’altres casos, sempre que no s’excedeixi del 5% i la nota final sigui igual o superior a 9,0.
f) Irregularitats, còpia i plagi
Les còpies fan referència a les evidències de que el treball o l’examen s’ha fet en part o totalment sense contribució intel·lectual de l’autor. En aquesta definició s’hi inclouen també les temptatives provades de còpia en exàmens i lliuraments de treballs i les violacions de les normes que n’asseguren l’autoria intel·lectual. Els plagis fan referència als treballs i textos d’altres autors que es fan passar com a propis. Són un delicte contra la propietat intel·lectual. Per evitar incórrer en plagi, citeu les fonts que feu servir a l’hora d’escriure l’informe d’un treball.
D’acord amb la normativa de la UAB, tant còpies com plagis o qualsevol intent d’alterar el resultat de l’avaluació, pròpia o aliena –deixant copiar, per exemple, impliquen una nota final de la part corresponent (examen, avaluació continuada o projecte) de 0, a efectes de calcular un valor quantitatiu de la nota, i suspendre l’assignatura, sense que això limiti el dret a emprendre accions en contra de qui hi hagi participat, tant en l’àmbit acadèmic com en el penal.
Es permet l'ús de tecnologies d'Intel·ligència Artificial (IA) com a part integrant del desenvolupament del treball, sempre que el resultat final reflecteixi una contribució significativa de l'estudiant en l'anàlisi i la reflexió personal. L'estudiant haurà d'identificar clarament quines parts han estat generades amb aquesta tecnologia, especificar les eines que ha fet servir i incloure una reflexió crítica sobre com han influït en el procés i el resultat final de l’activitat. La no transparència de l’ús de la IA es considera falta d'honestedat acadèmica i comporta una penalització en la nota de l'activitat, o sancions més grans en casos de gravetat.
g) Avaluació d’alumnes que repeteixen
No hi ha cap tractament diferenciat per a alumnes que repeteixin l’assignatura, però poden aprofitar material propi del curs anterior sempre que ho indiquin així als informes corresponents.
h) Avaluació única
Aquesta assignatura no té avaluació única.
Bibliografia
Ribas-Xirgo, Ll. (2026). Simulator-Based Digital Twin of a Robotics Laboratory. Machines, 14(3), 273. https://doi.org/10.3390/machines14030273 (Detalla el model de les capes superiors de la pila de controladors del robot que es fa servir a les pràctiques de laboratori i com a exemple en l’assignatura.)
Ribas-Xirgo,Ll. (2025). State Machine Model of the Operation Control of a Differential-Drive Mobile Robot. Preprints. https://doi.org/10.20944/preprints202511.0943.v1 (Detalla el model de les capes inferiors de la pila de controladors del robot que es fa servir a les pràctiques de laboratori i com a exemple en l’assignatura.)
Edward A. Lee and Sanjit A. Seshia. (2017) Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Second Edition, MIT Press. https://ptolemy.berkeley.edu/ (Un curs amb continguts similars, des d’una perspectiva més formal.)
Ll. Ribas Xirgo. (2014). How to code finite state machines (FSMs) in C. A systematic approach. TR01.102791 Embedded Systems. Universitat Autònoma de Barcelona. https://www.researchgate.net/publication/273636602_How_to_code_finite_state_machines_FSMs_in_C_A_systematic_approach (S’hi explica un mètode de programació de màquines d’estat en C similar al que es veu a l’assignatura.)
Ll. Ribas Xirgo. (2011). “Estructura bàsica d’un computador”, Capítol 5 de Montse Peiron Guàrdia, Lluís Ribas i Xirgo, Fermín Sánchez Carracedo i A. Josep Velasco González: Fonaments de computadors. Material docent de la UOC. OpenCourseWare de la UOC. https://hdl.handle.net/10609/12901 (Tracta del model de màquines d’estat, de les màquines algorísmiques i de les arquitectures bàsiques dels sistemes digitals, coincident amb els temes corresponents de l’assignatura.)
Tim Wilmshurst. (2010). Designing Embedded Systems with PIC Microcontrollers. Principles and Applications (Second Edition). Elsevier. (Informació complementària a la de l’assignatura, que presenta un possible sistema encastat per al control d’un robot.)
Brian Bailey, Grant Martin and Andrew Piziali. (2007). ESL Design and Verification. A Prescription for Electronic System-Level Methodology. Elsevier. (Fa un repàs a tot el procés de síntesi de sistemes encastats i posa en context el material de l’assignatura. Per tant, és un bon material complementari.)
M. J. Pont. (2005). Embedded C. Pearson Education Ltd.: Essex, England. (Tracta de com programar sistemes encastats, tema que coincideix amb el que es tracta a la part de problemes i pràctica de l’assignatura. Per tant, és un material complementari molt interessant.)
Oliver H. Bailey. (2005). Embedded Systems Desktop Integration. Wordware Publishing. (Informació complementària a la de l’assignatura que incideix, sobre tot, en l’aspecte de la comunicació entre el hardware i el software.)
Programari
CoppeliaSim, EDU Version, Coppelia Robotics [https://www.coppeliarobotics.com/]
ZeroBrane Studio, ZeroBrane [https://studio.zerobrane.com/]
Draw.io, diagrams.net [https://app.diagrams.net/]
Grups i idiomes de l'assignatura
La informació proporcionada és provisional fins al 30 de novembre. A partir d'aquesta data, podreu consultar l'idioma de cada grup a través d'aquest enllaç. Per accedir a la informació, caldrà introduir el CODI de l'assignatura