Logo UAB
2021/2022

Sistemes Encastats

Codi: 104378 Crèdits: 6
Titulació Tipus Curs Semestre
2503758 Enginyeria de Dades OT 4 0
La metodologia docent i l'avaluació proposades a la guia poden experimentar alguna modificació en funció de les restriccions a la presencialitat que imposin les autoritats sanitàries.

Professor/a de contacte

Nom:
Lluís Ribas Xirgo
Correu electrònic:
Lluis.Ribas@uab.cat

Utilització d'idiomes a l'assignatura

Llengua vehicular majoritària:
català (cat)
Grup íntegre en anglès:
No
Grup íntegre en català:
No
Grup íntegre en espanyol:
No

Altres indicacions sobre les llengües

El material està majoritàriament en anglès.

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 fer 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 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:

  • Conèixer els diversos àmbits d’aplicació dels sistemes encastats.
  • Tenir nocions dels requeriments habituals de cada domini d’aplicació, inclosos els de temps real.
  • Comprendre els aspectes de seguretat, fiabilitat i robustesa dels sistemes.
  • Conèixer la metodologia del desenvolupament dels sistemes encastats.
  • Entendre els diversos models de càlcul dels sistemes.
  • Tenir habilitat pràctica amb el disseny i manipulació dels models de càlcul orientats a estats.
  • Conèixer els elements bàsics de les arquitectures dels sistemes encastats.
  • Saber estimar costos d’implementació a partir dels models de càlcul dels sistemes.
  • Conèixer el problema de la partició dels sistemes i diverses estratègies per solucionar-lo.
  • Tenir els rudiments de programació per a la implementació dels sistemes.

Competències

  • Concebre, dissenyar i implementar el sistema d’adquisició de dades més adient per al problema concret que cal resoldre.
  • Demostrar sensibilitat cap als temes ètics, socials i mediambientals.
  • Prevenir i solucionar problemes, adaptar-se a situacions imprevistes i prendre decisions.
  • Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia.
  • 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.

Resultats d'aprenentatge

  1. Demostrar sensibilitat cap als temes ètics, socials i mediambientals.
  2. Dissenyar el sistema d'adquisició de dades més eficient per a un sistema de suport a la conducció autònoma.
  3. Prevenir i solucionar problemes, adaptar-se a situacions imprevistes i prendre decisions.
  4. Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia.
  5. 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.

Continguts

  1. Introducció al desenvolupament de sistemes encastats.
  2. Metodologia de disseny de sistemes encastats: Models de càlcul, arquitectures i procés de disseny.
  3. Desenvolupament de sistemes encastats: Síntesi de programari, simulació i sistemes operatius encastats.

Metodologia

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.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.

Activitats formatives

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Problemes: Propostes i discussions de solucions de problemes 12 0,48 2, 3, 4, 5
Pràctiques: Desenvolupament d'un projecte d'assignatura 12 0,48 2, 3, 4, 5
Teoria: Assistència i participació en classes de teoria 22 0,88 1, 2, 4, 5
Tipus: Supervisades      
Pràctiques: Seguiment del treball del projecte d'assignatura 6 0,24 2, 3, 4, 5
Tutorització: Resolució de problemes addicionals 6 0,24 1, 2, 3, 5
Tipus: Autònomes      
Problemes: Resolució de problemes i elaboració d'informes 24 0,96 1, 2, 3, 4, 5
Pràctiques: Desenvolupament del projecte i elaboració d'informes 12 0,48 1, 2, 3, 4, 5
Teoria: Estudi 26 1,04 2, 5

Avaluació

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 = màx( x·50% + c·25% + p·25%,  x·75% + p·25% )

on x és la nota de l’examen, c, la de l’avaluació continuada, i p, la del projecte.

La nota final serà, com a màxim, un 4,5 si x o p <5. En altres paraules, s’ha d’aprovar l’examen i el projecte per separat.

Cal tenir present que, si la nota de l’avaluació continuada no millora la nota final, no es té en compte per al seu càlcul. Per això, la nota final és la màxima entre la nota final amb i sense avaluació continuada.

La nota de l’examen (x) és la nota de l’examen final, que es podrà recuperar en un segon examen.

La nota de l’avaluació continuada (c) s’obté d’una mitjana ponderada de les proves d’avaluació continuada que es facin al llarg del curs. Se’n preveuen tres.

La nota del projecte (p) s’obtindrà de la mitjana ponderada de tots els lliuraments de seguiment i del lliurament i defensa final. Per a 6 sessions de laboratori s’hauran de lliurar 5 informes de seguiment, que pesaran un 10% cadascun, i 1 lliurament final, amb defensa del projecte (50%).

b) Programació de les activitats d’avaluació

Les dates de les proves d'avaluació continuada de teoria, problemes i pràctiques 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’entén que és el mecanisme habitual d'intercanvi d’informació entre professorat i estudiants fora de l’aula.

c) Procés de recuperació

Els lliuraments fora de termini, sempre que hi hagi previ avís, seran acceptats i penalitzats amb una nota més baixa. En cap cas s’admetran lliuraments fora de termini sense avís previ o justificació de força major. Es podrà obrir un segon termini de lliurament pels informes que rebin una avaluació negativa. Els treballs no lliurats rebran una nota de 0 i no tindran opció a una segona avaluació.

D’acord amb la coordinació del Grau i la direcció de l’Escola d’Enginyeria les activitats següents no es podran recuperar a l’examen final:

- Projecte, 25% de la qualificació final

L’avaluació continuada es pot recuperar amb l’examen final.

L’examen final es pot recuperar amb un segon examen.

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 segons ordre 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 efectesde calcular un valor quantitatiu de la nota, i suspendre l’assignatura, sense que això limiti el dret a emprendre accions en contra dels qui hi hagin participat, tant en l’àmbit acadèmic com en el penal.

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.

Activitats d'avaluació

Títol Pes Hores ECTS Resultats d'aprenentatge
Defensa del projecte 12,5% 10 0,4 2, 3, 4
Examen de recuperació 50% 2 0,08 1, 2, 5
Examen final 50% 2 0,08 1, 2, 5
Informes de treballs de pràctiques (5) 12,5% 10 0,4 2, 3, 4
Proves d'avaluació continuada (3) 25% 6 0,24 1, 2, 5

Bibliografia

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. [http://openaccess.uoc.edu/webapps/o2/handle/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.

Edward A. Lee and Sanjit A. Seshia. (2017) Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Second Edition, MIT Press.
Un curs amb continguts similars, des d’una perspectiva més formal. Veure també: https://ptolemy.berkeley.edu/

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.    

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 elmaterial de l’assignatura. Per tant, és un bon material complementari.

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.

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/]