Utgangspunkt: kvalitetsrammeverket

Like dokumenter
Perceived semantic. quality. Semantic quality. Syntactic. quality. guttens alder er grønn: gutt.alder = grønn

Kvalitet av konseptuelle modeller

KONTINUASJONSEKSAMEN I FAG SYSTEMERING 2 Torsdag 24. august 2000 Tid: kl

Model Driven Architecture (MDA) Interpretasjon og kritikk

Meta- og språk-modellering

Efficiency, Integrity, Reliability, Surviveability, Usability. Correctness, Maintainability, Verifiability

Oppgave 1. Modelleringsperspektiver og modelleringsspråk (40%) Alle underoppgavene teller likt

EKSAMEN I FAG SYSTEMERING 2 LØSNINGSFORSLAG Mandag 18. mai 1998 Tid: kl

21. Objektorientert Analyse (OOA) Kap. 21 Objektorientert Analyse (OOA)

INF1800 LOGIKK OG BEREGNBARHET

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

SOSI-forvaltning - logisk modell

Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2)

EKSAMEN I FAG SYSTEMERING 2 Tirsdag 23. mai 2000 Tid: kl

Litt om kompilering og interpretering. Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2) Syntaks og semantikk

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

UNIVERSITETET I TRONDHEIM Side 1 av 4

Oppsummering. Thomas Lohne Aanes Thomas Amble

Kap3: Klassemodellering

Tom Røise IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar Klassediagrammet. Klasse

INF2820 Datalingvistikk V gang, Jan Tore Lønning

Språk, abstraksjonsmekanismer og perspektiver i konseptuell modellering

Anatomien til en kompilator - I

Oversikt over forelesningen. DFD sentrale konsepter. Intro til Dataflytdiagrammer (DFD) Marakas, kap. 5

Logisk Programmering. Relasjoner vz. funksjoner. Funksjon: inn og ut, en verdi. Relasjon: ingen retning, null eller flere verdier

Kvalitative utsagn fra en logikers ståsted

Presentasjon 1, Requirement engineering process

UML 1. Use case drevet analyse og design Kirsten Ribu

Kvalitet av modelleringsspråk

OptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

Modellering av brukstilfeller og forretningsprosesser. Kurs i standarder, Oslo, 12. juni 2018

INF3140 Modeller for parallellitet INF3140/4140: Programanalyse

MNFIT-272 Kunstig intelligens Forelesning 4.

INF2810: Funksjonell Programmering. En metasirkulær evaluator

Anatomien til en kompilator - I

INF2810: Funksjonell Programmering. En metasirkulær evaluator

Oppsummering av digitalteknikkdelen

Prototyping. TDT4180, vår Yngve Dahl IDI, NTNU NTNU

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

LØSNINGSFORSLAG TIL Eksamen i TDT4250 Modellering av IS

Teknologiforum, Clarion hotel, Gardermoen /27. En introduksjon til SOSI del 1 Regler for UML modellering

Timed STAIRS tid for å ta steget til 3-event meldinger

INF2820 Datalingvistikk V gang, Jan Tore Lønning

Understanding Quality in Conceptual Modeling

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

AP221 Use Case TUL Oversett tjenesteutgave

Use Case-modellering. INF1050: Gjennomgang, uke 04

UKE 11 UML modellering og use case. Gruppetime INF1055

Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk

En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen

Denne ukens tema Del 1: Faginfo + A1; Del 2: kap Velkommen til fag SIF8060 Modellering av informasjonssystemer. Faginfo: Terminologi

Kundereg. Passeringsdata. Ulovlige pass. Fotografi. P4 Manuell. Betaling. Kjoretoy. trafikkover. Persondata

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser

SELVEVALUERING Å FORSKE PÅ EGEN ARBEIDSPLASS - UTFORDRINGER OG MULIGHETER. Sindre Vinje, Seniorrådgiver Folkehøgskoleforbundet Oslo

Velkommen! Utsagnslogikk. Andreas Nakkerud. 20. august 2015 INF3170 / INF4171. Andreas Nakkerud. Syntaks og semantikk. Utsagnslogikk.

AP226 Use Case Diagram - TUL

Velkommen til INF5110 Kompilatorteknikk

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte

Grunnleggende testteori

Dagens plan INF3170 Logikk. Obliger og eksamen. Forelesning 1: Introduksjon, mengdelære og utsagnslogikk. Christian Mahesh Hansen og Roger Antonsen

Velkommen til INF Kompilatorteknikk

Skanning del I INF /01/15 1

Modellering av verk Verk og uttrykk i et brukerperspektiv. Litt om modeller/modellering

Innholdsfortegnelse. Bokens mål...16 Bokens tilnærming...17 Bokens innhold Organisasjonslæringens mange ansikter...21

Brukergrensesnittdesign

UNIVERSITETET I OSLO

Skanning del I. Kapittel 2 INF 3110/ INF

EKSAMEN I FAG SYSTEMERING 1 Tirsdag 13. Mai 1997 LØSNINGSANTYDNING

Oversikt over forelesningen. Kvalitetssikring i IS-utv. (1) Motivasjon for kvalitetssikring

Scanning - I Kap. 2. Hva scanneren gjør

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Rollemodell. for. det norske kraftmarkedet

Forelesning 30: Kompleksitetsteori

Vurderingsveiledning

Fra krav til modellering av objekter

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

Spørsmål og svar rundt oblig 1 og verktøy

inf 1510: å lage skisser og prototyper

Status IFC4 og sertifisering

Kap. 5, Del 3: INF5110, fra 1/3-2011

AMS-case. Eksemplifisering av modellbasert. tilnærming til design av brukergrensesnitt

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN

LSCs Live Sequence Charts

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord

KONTINUASJONSEKSAMEN I FAG 78052/45161 SYSTEMERING 2 Onsdag 18. august 1999 Tid: kl

DELLEVERANSE 2 INF2120 GRUPPE 12. Jon G. Berentsen Geir A. Nilsen Lailuma Arezo

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

Dokument-embeddings / Markov-kjeder. Fredrik Jørgensen, Schibsted Media/UiO

UNIVERSITETET I OSLO

Forelesning 2: Induktive definisjoner, utsagnslogikk og sekventkalkyle Christian Mahesh Hansen januar 2007

MAT1030 Forelesning 11

Modelldrevet risikoanalyse med CORAS

Fra krav til objektdesign

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

Evaluering av språk for arbeidsprosessmodellering

Kap. 12 Analysemodellering (Analysis Modeling)

MAT1030 Diskret Matematikk

Transkript:

Utgangspunkt: kvalitetsrammeverket Metoder for å sikre syntaktisk og semantisk kvalitet Boka kap. 4 og 5 Participant knowledge K Physical Perceived semantic Empirical I Guttorm Sindre, IDI Modeling domain D Semantic Model externalization M Syntactic Language extension L Technical T Syntaktisk kvalitet for språk Skille mellom syntaks og semantikk Skille mellom syntaks og semantikk Underliggende basis og ekstern representasjon Hvor langt strekker syntaksreglene seg? Tekstlige vs. diagrammatiske språk Verktøystøtte Semantikken gir språkuttrykk en tolkning + = + - et usemantisk uttrykk er feil ift. virkeligheten Syntaksen sier hvordan grunnbegreper kan kombineres til språkuttrykk a = a + 1 og a += 1 - et usyntaktisk uttrykk har ingen tolkning/semantikk Metoder for å bedre syntaktisk kvalitet Syntaksen begrenses iht. semantikk Underliggende basis og ekstern representasjon Hvor langt strekker syntaksreglene seg? Underliggende basis baseres på språkdesignerens oppfatning av virkeligheten, kjennskap til brukernes virkelighetsoppfatning, og ønsker om formelle egenskaper Ekstern representasjon = symbolbruk språkdrakt, notasjon, kortformer, boksologi Syntaksen begrenser de semantiske feilene guttens alder er grønn: gutt.alder = grønn Noen typer semantiske feil er vanskelige å håndtere vha. syntaksregler while(true); all ut-porter må kunne trigges deontiske regler 1

Tekstlige vs. diagrammatiske språk Hvordan beskrive syntaks? Tekstlige uttrykk er endimensjonale Linje -grammatikk beskriver sammensetning (funksjon består av hode og kropp) sekvens (hode kommer før kropp) Grafiske plan -grammatikker finnes begreper som over, inni, inntil, peker på Diagrammer er n-dimensjonale beskriver sammensetning, ikke sekvens Metaspråk for spesifikasjon av et modelleringsspråks syntaks Backus-Naur Form Datamodelleringsspråk Predikatlogikk Kombinserte representasjonsspråk e.g. datamodell + BNF Verktøystøtte Hvordan sikre den syntaktiske kvaliteten? Spenn fra fritekst/tegning til struktureditorer tegneeditor, fargekoding, strukturmakroer, tvangstrøye pixeleditor, bokser og streker, moduser, highlighting Atomer vs. sammensetninger Ikke alle enkeltrelasjoner er lovlige Sett av enkeltrelasjoner kan gi ulovlig tilstand Error avoidance vs. detection Mål: alle utsagn i modellen M er i samsvar med syntaksen/vokabularet for språk L M / L = Ø To hovedtilnærminger til syntakssjekk: Error prevention : a priori-regler (må alltid respekteres), eks. syntaksorienterte editorer Error detection : a posteriori-regler (kan oversees underveis i modelleringen, men må før eller senere oppfylles) Bruk av syntaksregler Semantisk kvalitet for språk Error detection techniques øker modelleringsfriheten reglene kan aktiviseres manuelt eller automatisk når visse betingelser er oppfylt Error prevention techniques kan undertrykke kreativitet sikrer at brukeren hele tiden respekterer grunnprinsippene i modelleringsspråket kontinuerlig påtvunget av verktøyet Semantisk kvalitet vedrører samsvaret mellom modellen og det modellerte domenet Kvalitetsmål: M: all modellutsagn D: all mulige utsagn om domenet Validitet: Alle modellutsagn er korrekte og relevante M/D = Ø Kompletthet: Modellen inneholder alle korrekte og relevante utsagn D/M = Ø 2

Hvordan sikre semantisk kvalitet? Tilnærminger til konsistenssjekk Relevans: inspeksjon av modellen Korrekthet: sjekk av konsistens mellom modellfragmenter sjekk av konsistens mellom modellfragment og lingvistisk beskrivelse Problem: Domenet kan ikke utsettes for automatisk manipulasjon, dvs. D kan bare uttrykkes som en eller annen M. Konsistenssjekk basert på logiske beskrivelser Konsistenssjekk basert på konstruktivitet Konsistenssjekk basert på logiske beskrivelser Resultat av statisk konsistenssjekk Lag konseptuell modell m/ contraints Formuler databaseskjema Transformer db-skjema til logisk teori Transformer teorien til et sett av clauses S Konstruer digrafen G(S) Dekomponer G(S) til svakt koplede sett S1, S2,..., Sn Bestem konsistens direkte Ellers: Sjekk om G(Si) er avgjørbar Hvis avgjørbar: bruk resolusjonsmetode til å bestemme konsistens Hvis hver G(Si) er konsistent, er G(S) konsistent Hvis en G(Si) er uavgjørbar, er G(S) uavgjørbar DB-skjema er konsistent, DB-skjema er inkonsistent, eller sjekkingen er ikke avgjørbar Selv om en logisk teori er uavgjørbar, kan den være semi-avgjørbar, dvs. inkonsistens kan fastslås ved et begrenset antall steg. Metoder for å sjekke konsistensen Lewis: predikatlogikk Kung: grafteoretisk formulering Konstruktivitet og konsistens Konstruktivitet i PPM Fundamental principle of systems work (Langefors): Definer systemet som et sett av deler Definer systemstrukturen Definer systemdelene Bestem egenskapene til systemet Konstruktivitet: det å utlede egenskapene til et system basert på egenskapene til dets subsystemer Kungs tilnærming (1986): Inputs og outputs representert som logiske uttrykk og knyttet sammen ved logiske operatorer Sindre s tilnærming (1987-88): Konstruksjon av et tilstandsdiagram for prosessnettverket Ming Weis tilnærming (1990-93): Konstruksjon av et tilstandsdiagram fra kanonisk form av prosessnettverket 3

Lingvistisk verifikasjon Lingvistisk verifikasjon: Definisjon av språk Basis: En konseptuell modell består av grafiske modellelementer og små beskrivelser i naturlig språk Tolkningen av NL-beskrivelsen må være konsistent med den lingvistiske tolkningen av modellelementet Hvert modellkonsept definert ved lingvistiske, semantiske strukturer Eksempel: Sign Model (forenklet) company company company own own buy plant employee plant relationship: - transition - endpoint agent: [+concrete +identifiable] patient: [+concrete + identifiable]] entity: [+concrete + identifiable + countable] Lingvistisk verifikasjon: 1. Isolerte beskrivelser Lingvistisk verifikasjon: 2. Relasjoner Er company en entity unifiserer med entity : Ja Er buy og own relationships? unifiserer ikke med relationship : Nei buy: +transition + endpoint agent: [..] patient: [..]] company: [+concrete +countable + identifiable - living] Unifiserer: Ja own: - transition - endpoint agent: [..] patient: [- living...]] Er own(company,employee) en lovlig konstruksjon? Vi kombinerer strukturene for enkeltordene, slik at entitetene unifiseres med argumentene til relasjonene Hvis unifikasjonen lykkes, er konstruksjonen mulig fra et lingvistisk synspunkt Ugyldig konstruksjon own(company,employee): - transition - endpoint agent:[+concrete...] patient:[+concrete - living +living...]] Fortsatt samme kvalitetsrammeverk: Metoder for pragmatisk kvalitet Boka kap. 6 Participant knowledge K Physical Perceived semantic Empirical I Guttorm Sindre, IDI Modeling domain D Semantic Model externalization M Technical T Syntactic Language extension L 4

Teknikker - 4 dimensjoner Aktiviteter Språkforståelse Innholdsrelevans, fokus strukturanalyse Forståelse av oppførsel (eksekvering) Opplæring Inspeksjon: gjennomganger av modeller Transformasjoner av modeller T: M1Li M2Lj Mål: Forståelse Transformasjoner Transformasjorner forts Omformulering - ~(a b) ~b ~a Kan gi ny forståelse ved å gjøre visse forhold eksplisitte Modifisering av layout Bedre oversikt, forståelse Basert på graf-estetiske retningslinjer Manuell eller automatisk Filtrering tar et utdrag av modellen språk/meta-modell - begrensning av språk-elementer modell/spesifikasjon - skjule detaljer Aspekter inklusiv/eksklusiv deterministisk/indeterministisk global/lokal N M person writes paper person 1 N writes Transformasjoner, forts. Transformasjoner forts Sletting Del av modell fjernes Innsetting ny del legges til modellen Versjoner! Flere modeller av det samme som eksisterer på samme tid Oversetting T: MLi MLj, i " j Språk med ulike pragmatiske kvaliteter Semantisk, ikke syntaktisk mapping L kan være tekst eller diagram Trenger oversetting i CASE-verktøy Mer vanlig i programmeringsomgivelser 5

Oversetting, krav Prototyping for forståelse Separat spesifikasjonsnivå Spesialiserte deklarative oversettingsspråk Generelt og komplett Språk og oppgaveuavhengig Støtte for blandede representasjoner Ulike repositories for modeller Tekstlige og diagrammatiske språk Interaktivt vs automatisk Throwaway (bruk-og-kast) Identifisere og stabilisere krav Evolusjonær Gradvis utvikle til fullt system Mock-up Ytre fasade, ingen dyp oppførsel Eksperimentell Fastslå gjennomførbarhet av foreslått løsning Prototyping - taksonomi Prototyping - språk Klassifisering langs 6 dimensjoner fokus hvilke aspekter blir prototypet skop hvor mye blir prototypet dybde hvor dyp er oppførselen skala hvor mye testdata blir brukt tidspunkt hvor tidlig i prosjektet varighet hvor lenge blir den brukt, når kastet? Eksekverbare spesifikasjonsspråk Hva systemet skal gjøre på et visst abstraksjonsnivå Logiske og algebraiske språk Operasjonelle spesifikasjonsspråk Både HVA og HVORDAN, om en annen Eksekverbare konseptuelle modeller Very high level languages Programmeringsorienterte, problemspesifikke Eksekvering av konseptuelle modeller Oppsummering Lavere abstraksjon spesifikasjon eksekvering CM VHLL HLL Oversetting til eksekverbar CM (conceptual model) Direkte interpretasjon Oversetting til Very High Level Language (VHLL) Oversetting til High Level Language (HLL) Kvalitetsnivåer..., syntaktisk, semantisk, pragmatisk,... Kvalitetsmål Syntaktisk korrekthet, validitet, kompletthet, forståelse...tilhørende midler Manuelle eller i verktøystøtte Feilforhindring / feildeteksjon Konsistenssjekk, lingvistisk verifikasjon Transformasjoner Prototyping, modell-eksekvering Neste uke er den siste Oppsummering av hele faget Evt noe som ønskes gjennomgått i mer detalj? 6 #