Pas de la barrera: carretera
Abstract
Primera variant de l’exercici "Pas de la barrera"
Full text
Introducció a l’Enginyeria del Programari 20181 Josep M. Merenciano [email protected] Pas de la barrera: carretera
Què hi ha en aquest material DAMO Josep M. Merenciano 2 Primera variant de l’exercici Pas de la barrera Delimitació del problema Problema vs context Importància del glossari DMC simples
Enunciat INEP Josep M. Merenciano 3 Volem comptar els vehicles que passen per una carretera
INEP Josep M. Merenciano 4 Delimitació del problema
Desglossem el problema INEP Josep M. Merenciano 5 senyals Comptador Sistema de sensors Intèrpret Detector detecció Heus ací la nostra primera anàlisi
Sistema de sensors INEP Josep M. Merenciano 6 Exemples de sensors Interruptor de pressió Sensor de pressió Cel·la fotoelèctrica Càmera Radar Múltiples errors Sensor espatllat Sensor no calibrat No detecció simultània Exemple. Cel·la fotoelèctrica i dos vehicles simultanis. Només es detecta una oclusió de la cel·la Podem tenir més d’un sensor de cada tipus Podem tenir sensors de més d’un tipus
Intèrpret INEP Josep M. Merenciano 7 Objectiu Decidir quan s’ha detectat un vehicle, a partir dels senyals dels sensors Mecanismes Agrupació de diferents senyals Una moto trepitja dos cops un interruptor de pressió Filtratge de senyals La oclusió de la cel·la fotoelèctrica ho ha de ser per un temps mínim Múltiples dificultats; múltiples errors Hi ha vehicles de diferents tipus: motos, cotxes, camions, remolcs,.... No només hi ha vehicles: vaques, elefants, gamberros,... Es pot produir la simultaneïtat de pas
Comptador INEP Josep M. Merenciano 8 Objectiu Comptar senyals provinents del detector Observacions No comptem vehicles, comptem deteccions El sistema detector pot ser més o menys fiable, però hi hem de confiar Entenem que tota detecció és d’un vehicle El detector ha filtrat les vaques Entenem que tot vehicle genera una i només una detecció El detector és capaç de determinar el pas simultani de dos vehicles El detector no genera falsos positius en el cas, per exemple, d’un vehicle molt llarg
Divisió de responsabilitats INEP Josep M. Merenciano 9 És responsabilitat del detector determinar, en funció dels senyals dels sensors, si determinat conjunt de senyals correspon a una detecció, a més d’una, o a cap El comptador només te la responsabilitat de comptar els senyals rebuts
Nou enunciat INEP Josep M. Merenciano 16 Comptem els senyals rebuts d’un detector És a dir, comptem deteccions El vehicle ha desaparegut!!!
Dos àmbits; dues definicions INEP Josep M. Merenciano 17 Vehicle Element del context del problema La confiança en el sistema detector ens porta a afirmar que: Cada vehicle genera un, i només un, senyal de detecció Cada senyal de detecció generat es correspon al pas d’un i només un vehicle Detecció Senyal generat pel sistema detector És l’element essencial del nostre problema Vehicle Detecció
Vehicle en el problema INEP Josep M. Merenciano 18 Acabem de veure que no és un element del problema Però, com a element del context afecta el problema Assumim que cada vehicle (context) és una detecció (problema), i a la inversa Què interessa tenir en el problema sobre aquest element del context del problema?
Unes preguntes interessants INEP Josep M. Merenciano 19 Què és el vehicle dins del problema? Res Com afecta el vehicle en el problema? En les deteccions En el problema què és el que ens interessa del vehicle? Si ha estat detectat o no
Model de vehicle INEP Josep M. Merenciano 20 El model del vehicle per a la descripció del problema és tot allò que té un vehicle (element del context del problema) que és rellevant pel problema La detecció El model del vehicle per a la descripció del problema és la detecció
Nou enunciat INEP Josep M. Merenciano 21 Comptem vehicles Glossari Vehicle Cadascuna de les deteccions ofertes pel sistema detector En el problema usem un terme del context del problema La semàntica però és molt diferent oEn concret, en el problema el que tenim és un model de l’element del context
Nou plantejament INEP Josep M. Merenciano 22 Sistema de sensors Intèrpret senyals Detector Comptador nouVehicle Context del problema El problema
INEP Josep M. Merenciano 23 Especificació
Anàlisi de conceptes INEP Josep M. Merenciano 24 Quantes barreres gestionem? Una (1) Quants comptadors necessitem? Un (1) Podem generar una abstracció amb els elements del problema? No Només tenim un element, el comptador. Per tant l’abstracció (vista com un conjunt de casos concrets o realitzacions) no té sentit
Conceptes INEP Josep M. Merenciano 25 Cap Tenim una única barrera, i per tan un únic comptador No hi ha possibilitat de generar cap abstracció Per tant no té sentit parlar de MC Només tenim “una variable” per anar acumulant els vehicles
Solució 3: Distribuïdor integrat INEP Josep M. Merenciano 32 Sistema de sensors Intèrpret senyals Detector Comptador 1 Comptador 2 nouVehicle (sentit) nouVehicle nouVehicle En cada moment el distribuïdor només emet un dels dos senyals de sortida Distribuïdor Sentit 1 Sentit 2 nouVehicle ComptadorDoble
Solució 3: Una visió resumida INEP Josep M. Merenciano 33 Sistema de sensors Intèrpret senyals Detector Comptador nouVehicle (sentit) Valor 1 Valor 2
Anàlisi de les solucions INEP Josep M. Merenciano 34 Duplicació Cara en recursos Simple d’implementar Distribuïdor independent Cal modificar el detector per tal que sigui capaç de detectar el sentit Cal introduir un nou element, el distribuïdor El comptador, però, no es modifica Comptador múltiple (distribuïdor integrat) Cal modificar el detector per tal que sigui capaç de detectar el sentit Cal modificar el comptador per tal que tingui en compte el sentit
Problema!!!! I no context INEP Josep M. Merenciano 35 Hem decidit que el problema és només el comptatge Els elements del context no ens interessen Les tres solucions anteriors, des del punt de vista del problema, es simplifiquen en dos: Ens donen el sentit del comptatge Comptador múltiple o distribuïdor integrat No ens el donen Són els casos de duplicació i distribuïdor independent
Solucions possibles INEP Josep M. Merenciano 36 Detector Comptador nouVehicle (sentit) Valor 1 Valor 2 Detector Comptador nouVehicle () El problema
INEP Josep M. Merenciano 37 Especificació pel canvi de sentit
Anàlisi dels canvis INEP Josep M. Merenciano 38 Les responsabilitats són les mateixes Comptar els vehicles El que canvia és que ara tenim dos còmputs Un per cada sentit La informació canvia Podem considerar que tenim dos comptadors (enlloc d’un) Podem considerar que tenim un comptador amb dos valors (enlloc de amb un únic valor) No hi ha abstracció Tenim dues ocurrències (o de comptadors o de valors) Es podria pensar en una abstracció, però és massa feina per només dues realitzacions
Pocs canvis en els models INEP Josep M. Merenciano 39 MC No n’hi ha CU arribadaVehicle Responsable d’indicar que s’ha detectat un altre vehicle en el sentit indicat, que cal comptabilitzar correctament Inicialització Responsable de deixar el sistema en les condicions necessàries per al seu funcionament
Duplicació: DS i contractes INEP Josep M. Merenciano 40 DS arribadaVehicle nouVehicle() Contractes ES nouVehicle() PRE: ∅ POST: El valor del comptador és superior a una unitat al que tenia en el moment de rebre el senyal nouVehicle() DS inicialització ini() Contractes ES ini() PRE: ∅ POST: El valor del comptador és zero Tenim dos comptadors: c1 i c2 Cada nouVehicle() només el rep un dels dos comptadors
Distribuïdor extern : DS i contractes INEP Josep M. Merenciano 41 Des del punt de vista del problema, i per tant de l’especificació, no hi ha cap canvi amb el cas de duplicació
Canvis en els ES INEP Josep M. Merenciano 48 Sempre que tinguem una detecció hem d’indicar quin sistema detector l’ha detectat És a dir, hem de dir quina és la barrera on s’ha de comptabilitzar nouVehicle(barrera) Responsable d’apuntar al sistema que en la barrera indicada ha passat un nou vehicle nouVehicle(barrera, sentit) Responsable d’apuntar al sistema que en la barrera indicada ha passat un nou vehicle en el sentit indicat
Models conceptuals INEP Josep M. Merenciano 49 Quantes barreres Sentit únic Distinció de sentit 1 ∅ ∅ n
Esdeveniments de sistema INEP Josep M. Merenciano 50 Quantes barreres Sentit únic Distinció de sentit 1 nouVehicle () ini() nouVehicle (sentit) ini(sentit?) n nouVehicle (barrera) ini(barrera) nouVehicle (barrera, sentit) ini(barrera, sentit?)