KANDIDATNUMMER: EKSAMEN FAGNAVN: FAGNUMMER: Fordypning i digital arbeidsflyt IMT5131 EKSAMENSDATO: 05.12.2005 SENSURFRIST: 26.12.2005 KLASSE: TID: 09.00 13.00 FAGLÆRER: Rune Hjelsvold Faglærer kontaktes via mobil (918 60 974) ANTALL SIDER UTLEVERT: TILLATTE HJELPEMIDLER: 5, forside inkludert Ingen utover utdelt materiale INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag Ved innlevering skilles hvit og gul besvarelse og legges i hvert sitt omslag. Oppgavetekst, kladd og blå kopi beholder kandidaten. Husk kandidatnummer på alle ark. 1
Les hele oppgavesettet før du begynner og planlegg hvordan du bør bruke tiden for best å besvare hele settet. Beskriv antagelser og fortolkninger du gjør i besvarelsen dersom oppgaveteksten synes uklar. Oppgave 1 Klassiske petri-nett (teller 15 %) I programutvikling benyttes ofte produsent-konsument-mønstre der en eller flere produsenter produserer dataelementer som skal konsumeres av en eller flere konsumenter. Lag et petri-nett med to produsenter og en konsument der produsentene går i sykler mellom to tilstander (produserer og ferdig-produsert), mens konsumenten går i sykler mellom tilstandene konsumerer og ferdig-konsumert). Anta at en produsent kan starte produksjonen av et nytt dataelement så snart konsumenten starter å konsumere det forrige elementet som produsenten laget (dvs. konsument og produsenter kan arbeide parallelt, men det ikke finnes noen kø over ferdigproduserte dataelementer). a) 5 % Lag et klassisk petri-nett for konsumenten og de to produsentene. Nummerer eller navngi alle plasser og transisjoner. b) 5 % Anta at tilstanden til petri-nettet angis med trippelet (P1, P2, K) der P1 og P2 er 0 når tilhørende produsent er i tilstanden produserer og 1 når produsenten er i tilstanden ferdigprodusert, og der K er 0 når konsumenten er i tilstanden konsumerer og 1 i tilstanden ferdigkonsumert. Angi hvilke mulige transisjoner som kan fyre ved følgende tilstander, og angi resultattilstandene: (0, 0, 0) (0, 1, 0) (0, 1, 1) (1, 1, 0) (1, 1, 1) c) 5 % Diskuter problemene utsulting (eng. starvation) og vranglås (eng. starvation) i arbeidsflytsammenheng. Redegjør videre for hvorvidt disse problemene kan oppstå i det petri-nettet du har laget. Oppgave 2 Modellering av arbeidsflyt (teller 25 %) Dere skal se nærmere på arbeidsflyt for håndtering av bildebestillinger i et bildeformidlingsbyrå. Byrået eier selv en stor samling av bilder som det videreselger til amatører og profesjonelle. I tillegg har byrået avtaler om videreformidling av bilder for enkelte fotografer og andre eiere av bildesamlinger. Byrået har to avdelinger: en for salg og markedsføring og en for arkiv og foto. I salg- og markedsføringsavdelingen arbeider Bente og Jon. Bente er både konsulent og storkundekonsulent mens Jon er ordinær konsulent. I arkiv- og fotoavdelingen arbeider Hanna og Roger. Hanna er arkivar mens Roger er både arkivar og bildebearbeider. Byrået selger bilder både for profesjonell og privat bruk. Byrået har satt opp et eget nettsted for privat salg (for eksempel salg til studenter som ønsker å bruke bilder som illustrasjoner i en rapport). Ved direkte henvendelser om kjøp av bilder til privat bruk, henvises kjøperen til dette nettstedet. Øvrige henvendelser blir registrert av en salgs- og markedskonsulent for videre behandling. Den videre behandlingen av bildeforespørsler er 2
todelt: For det første må selve bildeforespørselen behandles. For det andre må kundeforholdet sjekkes. Bildeforespørsel: Bildeforespørsler må sjekkes av en arkivar for å se om de forespurte bildene kan brukes på den måten de er forespurt. Dersom forespørselen går utover akseptert bruk, vil bestiller bli varslet og gitt mulighet til å endre bestillingen før den blir viderebehandlet. Dersom ikke noen respons fra bestiller er mottatt innen tre arbeidsdager, tas de gitte bildene ut av bestillingen før den bearbeides videre. Dersom forespørselen omhandler bilder som byrået ennå ikke har rettigheter til, vil en forespørsel sendes til en ekstern partner som vil forsøke å inngå kontrakt med eier. Dersom ekstern part svarer at ny kontrakt ikke kan inngås, vil de aktuelle bildene bli slettet fra bestillingen og bestiller vil bli varslet om endringene. Kundeforhold: Byrået har tre typer kunder: Storkunder, faste kunder og tilfeldige kjøpere. Storkundene har særavtaler vedrørende pris og rettigheter som sjekkes av storkundekonsulenter ved hver bestilling. Deres bestillinger kan bare behandles av en storkundekonsulent; ordinære konsulenter tar seg av øvrige bestillinger. Alle faste kunder har standard pris- og rettighetsavtaler og har en konto med et maksimalbeløp for utestående betalinger. Tilfeldige kjøpere må benytte kredittkort til betaling. Ved bestilling må kundeforholdet sjekkes. For storkundene innebærer sjekking av kundeforholdet at bestilleren har autorisasjon for det gitte kjøpet. Ved mangel på autorisasjon vil saken bli avsluttet med et brev til bestilleren. For faste kunder innebærer sjekking av kundeforhold en sjekk av at konto ikke blir overbelastet. Dersom konto vil bli overbelastet dersom bestillingen ble effektuert, varsles bestiller om at bestillingen settes på vent inntil regning er betalt. Saken viderebehandles når melding mottas på at utestående fordringer er betalt eller avsluttes dersom bestiller velger å kansellere bestillingen. For tilfeldige kjøpere innebærer sjekking av kundeforhold en bekreftelse fra betalingsselskap om at angitt konto er belastet. Bestillingen kanselleres med brev til bestiller dersom kortkonto ikke kan belastes. Etter at kundeforholdet er akseptert, kan bildene oversendes bestiller. Dersom bildene ikke eksisterer i det forespurte format eller størrelse, må kopiene først produseres av en bildebearbeider. For tilfeldige kunder kan saken avsluttes så snart bildene er oversendt bestiller. For øvrige kunder må en ekstern betalingsoppfølger varsles innen saken kan avsluttes. Denne tar seg av den videre oppfølging av at betaling, og saken kan derfor avsluttes. a) 20% Lag en arbeidsflytmodell (ved bruk av lærebokas notasjoner ressursallokering og triggere) for håndtering av bildebestillinger i bildeformidlingsbyrået. Hvorfor ønsker man størst mulig grad av parallellisering ved konstruksjon av arbeidsflyt? Diskuter graden av parallellisering i modellen foreslått i oppgave a). 3
Oppgave 3 Analyse av arbeidsflyt (teller 30 %) Hva betyr begrepene sunn (eng. sound) og sikker (eng. safe) når de brukes om arbeidsflyt? Hvorfor er begrepene viktige? Som dere kjenner fra pensum, kan man vise at en arbeidsflyt er sikker og sunn ved å dekomponere flyten til en sammensetning av sunne og sikre byggeblokker. Vis ved hjelp av reachability-analyse at følgende byggeblokk for iterasjon er sunn og sikker. t1 p2 t2 p4 t3 p3 c) 20% Bruk dekomponering til å avgjøre hvorvidt følgende arbeidsflytseksempler er sunne og sikre. Dekomponer så langt som mulig i hvert eksempel og skisser dekomponeringen skritt for skritt. Diskuter i hvert tilfelle hva som er grunnen til brudd på en sunn og sikker arbeidsflyt, dersom dere finner at noen av eksemplene ikke er sunne og sikre. Eksempel c1 t1 p2 t2 p3 t3 p7 t5 p5 t4 p4 t6 p6 Eksempel c2 p2 t2 p3 t3 p8 t1 p4 t4 p5 t5 p6 t6 p7 4
Oppgave 4 Arbeidsflytsystemer (teller 20 %) Hvilke fordeler har det å skille administrasjon av arbeidsflyt fra applikasjonene som benyttes i selve arbeidsprosessen? b) 15% Beskriv typiske komponenter i et arbeidsflytsystem og redegjør spesielt for samspillet mellom arbeidsflytsystemet og de applikasjoner som benyttes i den arbeidsprosessen systemet skal styre. Oppgave 5 Arbeidsflytmønstre (teller 10 %) Mange arbeidsflytsystemer er dårlige på å håndtere arbeidsflyt der gjennomføring av enkelte aktiviteter er tilstandsbaserte (dvs. avhengig av hvilke andre aktiviteter som er fullført). Tilstandsbaserte mønstre (eng. state-based patterns) beskriver typiske arbeidsflytmønstre som er tilstandsbaserte. Beskriv og gi eksempler på de tilstandsbaserte mønstrene som definerer fletting av parallelle aktiviteter (eng. interleaved parallel routing) og milepæl (eng. milestone). Diskuter hva som ofte er årsaken til at mange arbeidsflytsystemer er dårlige til å håndtere tilstandsbaserte mønstre og redegjør for hvorfor petri-nett baserte systemer enkelt kan håndtere slike mønstre. 5