Logo UAB
2022/2023

Sistemes Encastats

Codi: 102791 Crèdits: 6
Titulació Tipus Curs Semestre
2502441 Enginyeria Informàtica OB 3 1
2502441 Enginyeria Informàtica OT 4 1

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 és, principalment, en anglès.

Equip docent

Joaquín Saiz Alcaine
Ismael Fabricio Chaile Alfaro

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 fet el Laboratori de programació i l’Enginyeria del software (programació) i haver cursat Estructura de computadors, Sistemes operatius i Arquitectura de computadors (model d’execució dels programes).

Objectius

Aquesta assignatura és la primera de la matèria de Disseny de sistemes de còmput orientat a aplicacions. En aquesta matèria es tracta el desenvolupament dels sistemes que executen els algorismes d’unes aplicacions específiques tot respectant uns requeriments sovint molt exigents. Per exemple, no n’hi ha prou que un dispositiu mòbil sigui capaç de mostrar un vídeo, sinó que ho ha de fer a 25 imatges per segon, sincronitzant-ho amb la informació auditiva i consumint la mínima energia possible. Així doncs, l’objectiu final de la matèria és que sapigueu dissenyar algorismes i les implicacions que cada disseny té en el cost de l’aplicació segons el mateix algorisme i com s’implementa, és a dir, segons la plataforma d’execució que es triï.

En aquest context, a l’assignatura de Sistemes encastats es tracta que l’alumnat assoleixi 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.
  • Haver adquirit els rudiments del disseny basat en plataformes.
  • 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.

Competències

    Enginyeria Informàtica
  • Adquirir hàbits de treball personal.
  • Capacitat de desenvolupar processadors específics i sistemes empotrats, així com desenvolupar i optimitzar el software dels esmentats sistemes.
  • Capacitat per definir, avaluar i seleccionar plataformes de maquinari i programari per al desenvolupament i l'execució de sistemes, serveis i aplicacions informàtiques.
  • Capacitat per dissenyar, desenvolupar, avaluar i assegurar l'accessibilitat, l'ergonomia, la usabilitat i la seguretat dels sistemes, serveis i aplicacions informàtiques, així com de la informació que gestionen.
  • Comunicació.
  • Treballar en equip.

Resultats d'aprenentatge

  1. Analitzar els requeriments de les aplicacions informàtiques.
  2. Assumir i respectar el rol dels diversos membres de l'equip, així com els diferents nivells de dependència de l'equip.
  3. Comparar i avaluar les possibles plataformes per a complir els requeriments de les aplicacions.
  4. Gestionar el temps i els recursos disponibles. Treballar de manera organitzada.
  5. Identificar les necessitats de l'aplicació específica que es desitja resoldre.
  6. Identificar les necessitats de seguretat que han de complir els sistemes empotrats.
  7. Treballar de manera autònoma.
  8. Utilitzar l'anglès com l'idioma de comunicació i de relació professional de referència.

Continguts

1. Introducció

1.1. Dominis d’aplicació dels sistemes encastats

1.2. Casos d’estudi

1.3. Enginyeria de sistemes

2. Metodologia de disseny

2.1. Flux de disseny

2.2. Anàlisi de requeriments funcionals i no funcionals

2.3. Models de càlcul basats en estats

2.4. Xarxes de màquines d’estat

2.5. Arquitectures del maquinari

2.6. Sistemes operatius en temps real

2.7. Arquitectures del programari

2.8. Plataformes arquitecturals

3. Metodologia d’implementació

3.1. Refinament d’especificacions

3.2. Reusabilitat

3.3. Particionat i planificació

3.4. Síntesi de software i de hardware

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.

Hi ha una part molt important de treball en equip fora de l’aula, tant pel que fa als problemes proposats a classe com per a la realització de les pràctiques. En aquest sentit, cada membre de cada equip haurà d’assumir diferents rols per a cada treball que se li encarregui a l’equip. Això també suposa haver de treballar de forma organitzada i saber treballar de forma autònoma quan convingui.

COMPETÈNCIES TRANSVERSALS

En aquesta assignatura es pretén que l’alumnat adquireixi autonomia i capacitat d’organització en el treball propi, així com una competència bàsica en el treball d’equip i en anglès.

En aquest sentit, hi haurà una part de l’avaluació específica de cadascun dels resultats d’aprenentatge corresponents:

T03.02. Assumir i respectar el rol dels diversos membres de l'equip, així com elsdiferents nivells de dependència de l'equip: El projecte de les pràctiques s’haurà de fer en equips i la presentació final haurà d’incloure, necessàriament, la descripció de què ha fet cada persona.

T02.01. Treballar de manera autònoma: Els problemes i la part que cadascú assumeixi del projecte de la pràctica en el seu equip s’han de resoldre i fer de manera individual.

T02.03. Gestionar el temps i els recursos disponibles. Treballar de manera organitzada: En el projecte de pràctiques, l’organització del treball propi queda subjecte al rol en l'equip. En qualsevol cas, tots els lliuraments fets amb retard tenen penalitzacions, cosa que obliga a les i els estudiants a gestionar el temps de manera que elles i ells mateixos, i els seus equips, puguin complir amb els requeriments temporals que se’ls demana.

T04.03. Utilitzar l'anglès com l'idioma de comunicació i de relació professional de referència: La majoria del material és en anglès per fomentar l’aprenentatge d’aquest idioma i es valora positivament que els informes de les pràctiques o els problemes es lliurin en anglès.

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 de solucions, discussió de problemes i resolucions de dubtes 12 0,48 1, 2, 3, 4, 7
Pràctiques: Desenvolupament del projecte d'assignatura 12 0,48 1, 2, 3, 4, 7
Teoria: Assistència i participació a classes magistrals 22 0,88 5, 6
Tipus: Supervisades      
Resolució de problemes addicionals 6 0,24 1, 3, 4, 7
Seguiment del treball del projecte del curs 6 0,24 1, 3, 4, 7
Tipus: Autònomes      
Estudi 26 1,04 5, 6, 7
Pràctiques: Desenvolupament del projecte i elaboració d'informes 12 0,48 1, 2, 3, 4, 7, 8
Resolució de problemes i elaboració d'informes 24 0,96 1, 2, 3, 4, 7, 8

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.

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, aefectes de 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 1, 2, 3, 4, 7, 8
Examen de recuperació 50 2 0,08 5, 6
Examen final 50 2 0,08 5, 6
Informes de treballs de pràctiques (5) 12,5 10 0,4 1, 2, 3, 4, 7, 8
Proves d'avaluació continuada (3) 25 6 0,24 1, 3, 5, 7

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