XSLaren edukia

Programazio Konkurrentea27813

Ikastegia
Informatika Fakultatea
Titulazioa
Informatikaren Ingeniaritzako Gradua
Ikasturtea
2023/24
Maila
4
Kreditu kopurua
6
Hizkuntzak
Euskara
Kodea
27813

IrakaskuntzaToggle Navigation

Orduen banaketa irakaskuntza motaren arabera
Irakaskuntza motaIkasgelako eskola-orduakIkaslearen ikasgelaz kanpoko jardueren orduak
Magistrala4060
Laborategiko p.2030

Irakaskuntza-gidaToggle Navigation

Irakasgaiaren Azalpena eta Testuingurua zehazteaToggle Navigation

Programazio Konkurrentea 4. mailako hautazko irakasgaia da.

Irakasgaian programazio konkurrentearen oinarrizko kontzeptuak eta metodologiak, konkurrentzian sortu daitezkeen arazoak eta arazo horiek ebazteko dauden estrategiak eta teknikak lantzen dira.

Programazio konkurrentea hainbat prozesuren aldibereko prozesaketa logikoa diseinatzeko eta egikaritzeko teknikak aztertzen dituen Informatikaren arloa da. Programazio konkurrentea programazio paraleloarekin erlazionatua dago, baina ez da berdina, programazio paraleloan prozesadore anitz erabiltzen direlako aldi bereko prozesaketa fisikoa lortzeko; programazio konkurrentean, berriz, prozesuak denbora epe berean egikaritzen dira, baina ez une berean.

Programazio konkurrenteak prozesuen arteko elkarrekintzan eta prozesuek partekatzen dituzten baliabideen atzipenean sortzen diren arazoak aztertzen ditu, arazo horien aurrean soluzio zuzenak emateko.

Irakasgaian, gainera, denbora errealeko sistemen oinarrizko ezaugarriak eta planifikazio metodoak aurkezten dira.



Aldez aurreko ezagutza: programazio egituratua eta Javan oinarrizko programazioa.

Gaitasunak / Irakasgaia Ikastearen EmaitzakToggle Navigation

1. Programazio konkurrentearen eta denbora errealeko sistemen oinarrizko printzipio

eta teknikak ezagutzea eta erabiltzea.

2. Konkurrentziaren arazoak ezagutzea eta identifikatzea.

3. Arazo konkurrenteak ebaztea.

4. Egoera finituetako FSP ereduak erabiliz jokabide konkurrentea ulertzea.

5. Java lengoaiaz programa konkurrenteak inplementatzea.

6. Denbora errealeko sistemen planifikazio metodoak ezagutzea.

Eduki teoriko-praktikoakToggle Navigation

1 Programazio konkurrentea. Sarrera

1.1 Programa sekuentzialak vs programa konkurrenteak

1.2 Zergatik programazio konkurrentea?

1.3 Konkurrentzia eta paralelismoa

1.4 Programa konkurrenteen ezaugarriak eta zuzentasuna

2 Prozesuak eta hariak

2.1 FSP egoera-ereduak eta Java programak

2.2 Prozesuak FSPz modelatzea

2.3 Hariak Java-n inplementatzea

3 Exekuzio konkurrentea

3.1 Interakzioa FSPz modelatzea

3.2 Hari-anitzetako (multi-threaded) programak Java-n inplementatzea

4 Objektu konpartituak eta elkar-bazterketa

4.1 Interferentziak

4.2 Elkar-bazterketa Java-n bermatzea: synchronized

5 Monitoreak eta baldintzen sinkronizazioa

5.1 Hariak eta monitoreak

5.2 Baldintzen sinkronizazioa Java-n: wait(), notify(), notifyAll()

5.3 Semaforoak

5.4 Buffer mugatuak

5.5 Monitore habiratuen arazoa

5.6 Ohiko beste egiturak: agendaren eredua, ilarak, pilak...

6 Elkar-blokeaketa

6.1 Elkar-blokeaketarako baldintzak

6.2 Filosofoen afariaren arazoa

6.3 Elkar-blokeaketaren analisia eta konponbideak

7 Segurtasun eta bizitasun propietateak

7.1 Aurrerapen propietatearen analisia

7.2 Bide bakarreko zubiaren arazoa

7.3 Irakurle eta idazleen arazoa

8 Denbora errealeko sistemak

8.1 Denbora parametroak eta lehentasunetan oinarritutako planifikazio metodoak

8.3 Lehentasun finkoak: Rate Monotonic (RM), Deadline Monotonic (DM)

8.4 Kronograma, erabilpen faktorearen froga eta plagintza puntuen teorema

8.5 Lehentasun dinamikoak: Earliest Deadline First (EDF)

8.6 Atazen arteko elkarrekintza eta lehentasunen inbertsioa



MetodologiaToggle Navigation

Ikasleek eskoletan irakasgaiaren atal bakoitzeko dokumentazioa aztertu ondoren, alde teorikoa ulertu ahal izateko, ordenagailua erabiliz aurkeztutako adibideak aztertu eta probatuko ditu eta proposatutako ariketak modelatu eta inplementatuko ditu.

Irakaslearen funtzioa ikasle bakoitzak dituen beharrak asetzea izango da, galderak eta zalantzak argituz, eta lagunduz bai modelatzean estrategia egokiak aurkitzen, baita inplementatzean erroreak aurkitzen eta konpontzen ere.

Nahiz eta proposatutako ariketak ikasle bakoitzak bakarka egin, eskola orduetan ariketei buruzko zalantzak eta ideiak ikasleen eta irakaslearen arteko solasaldietan partekatu eta eztabaidatuko dira.

Ebaluazio-sistemakToggle Navigation

  • Ebaluazio Jarraituaren Sistema
  • Azken Ebaluazioaren Sistema
  • Kalifikazioko tresnak eta ehunekoak:
    • Ebaluazio motak hurrengo ataletan zehazten dira (%): 100

Ohiko Deialdia: Orientazioak eta Uko EgiteaToggle Navigation

Irakasgaia bi modutan gainditu ahal izango da: etengabeko ebaluazio bidez edo amaierako ebaluazio bidez.



Etengabeko ebaluazioa ikastaroaren hasieran aukeratu ahal izango da, eta behin betiko bihurtuko da adieraziko den epean (6. gaira iristean), ikasleak hala eskatuta eta irakasleak ikaslearen errendimendua egiaztatu ondoren. Epe horietan ikasleak ez badu eskaerarik egiten, ebaluazio jarraituari uko egiten diola ulertzen da.



ETENGABEKO EBALUAZIOA



- Gai bakoitzeko

+ adibideak

+ ariketak

* oinarrizko ariketak: irakasgaia gainditzeko nahitaezkoak

* ariketa gehigarriak: nota hobeagoa ateratzeko ariketak

- Praktika bat



Etengabeko ebaluazioan ebaluatuak izateko goian aipatutako jarduera guztiak (ariketa gehigarriak ezik) dira derrigorrezkoak, eta ondokoak dira irakasgaia gainditzeko baldintzak:

- praktikaren eta eginbeharreko oinarrizko ariketa guztien soluzioak eskakizun guztiak betetzea eta zuzenak izatea.



Praktikak eta gai bakoitzeko entregek data bat dute. Irakasleak ikasleek egindako lanak aztertu ondoren, akatsak badaude, ikasleei jakinaraziko die zeintzuk diren zuzendu behar diren ariketak (eta ahal denean, eginbeharreko zuzenketak adieraziz). Soluzio zuzenduak entregatzeko beste data bat egongo da. Bigarren entrega horietan akatsak egon ezkero, ikasleei jakinaraziko zaie, eta zuzendu beharreko ariketentzako azken entrega orokor bat egiteko aukera egongo da irakasgaiaren amaieran.



Ikasleak epe barruan etengabeko ebaluazioa aukeratzen badu baina ebaluazio horretan gainditzeko baldintzak betetzen ez baditu, irakasgaia suspendituko du eta ez-ohiko deialdian izango du berriz aurkezteko aukera.





AMAIERAKO EBALUAZIOA:



- Banakako proiektua

+ hainbat ariketa (%20)

+ praktika (%20)

- Azterketa (%60)



Azterketara aurkezteko banakako proiektua entregatu beharko da. Amaierako ebaluazioan ebaluatuak izateko goian aipatutako jarduera guztiak dira derrigorrezkoak.



Amaierako ebaluazioan irakasgaia gainditzeko baldintzak:

- banakako proiektuaren:

+ ariketetan gutxienez %50ko nota lortzea

+ praktikan gutxienez %50ko nota lortzea

- azterketan gutxienez %50ko nota lortzea



Amaierako ebaluazioaren azterketa egiten ez bada, ebaluazioari uko egin zaiola ulertuko da. Banakako proiektua ez bada aurkezten, ez aurkeztua jarriko zaio.

Ezohiko deialdia: Orientazioak eta Uko EgiteaToggle Navigation

AMAIERAKO EBALUAZIOA:



- Banakako proiektua

+ hainbat ariketa (%20)

+ praktika (%20)

- Azterketa (%60)



Azterketara aurkezteko banakako proiektua entregatu beharko da. Amaierako ebaluazioan ebaluatuak izateko goian aipatutako jarduera guztiak dira derrigorrezkoak.



Amaierako ebaluazioan irakasgaia gainditzeko baldintzak:

- banakako proiektuaren:

+ ariketetan gutxienez %50ko nota lortzea

+ praktikan gutxienez %50ko nota lortzea

- azterketan gutxienez %50ko nota lortzea



Amaierako ebaluazioaren azterketa egiten ez bada, ebaluazioari uko egin zaiola ulertuko da. Banakako proiektua ez bada aurkezten, ez aurkeztua jarriko zaio.

Nahitaez erabili beharreko materialaToggle Navigation

Irakasgaiaren ikasgela birtualean (eGela) eskura dagoen materiala: apunteak, ariketen eta eginbeharreko lanen enuntziatuak, foroa, etab.

BibliografiaToggle Navigation

Oinarrizko bibliografia

- Concurrency: State Models & Java Programs.

Magee J.,Kramer J.

Wiley. 1999

- Programación Concurrente.

Palma J.T., Garrido Mª.C., Sánchez F., Quesada A.

Thomson. 2003

Gehiago sakontzeko bibliografia

- Sistemas de Tiempo Real y Lenguajes de Programación (3a Edicion) (cap. 13).
Alan Burns, Andy Wellings.
Addison-Wesley. 2003
- Concurrent and Real Time Programming in Java.
Andy Wellings.
John Wiley. 2004

Aldizkariak

-

Web helbideak

- LTSA analizatzailea (v3.0)
http://www.doc.ic.ac.uk/~jnm/book/ltsa/ltsatool.zip

- "Concurrency: State Models & Java Programs" (Jeff Magee & Jeff Kramer) liburuaren gardenkiak eta adibideak
http://www.doc.ic.ac.uk/~jnm/book

TaldeakToggle Navigation

46 Teoriakoa (Euskara - Arratsaldez)Erakutsi/izkutatu azpiorriak

Egutegia
AsteakAstelehenaAstearteaAsteazkenaOstegunaOstirala
16-30

14:00-15:30 (1)

17:00-18:30 (2)

Irakasleak

46 Laborategiko p.-1 (Euskara - Arratsaldez)Erakutsi/izkutatu azpiorriak

Egutegia
AsteakAstelehenaAstearteaAsteazkenaOstegunaOstirala
16-30

15:30-17:00 (1)

Irakasleak