Översättning av modeller uttryckta med STANLIs begreppsmodell till Express

Storlek: px
Starta visningen från sidan:

Download "Översättning av modeller uttryckta med STANLIs begreppsmodell till Express"

Transkript

1 STG Allmänna Standiseringsgruppen (17) Översättning av modeller uttryckta med STANLIs begreppsmodell till Express Marianne Janning Clary Sundblad På uppdrag av Allmänna Standardiseringsgruppen ASTRAKAN Karlaplan 2, Stockholm. Telnr , Faxnr

2 2 Innehåll Error! No table of contents entries found.

3 3 Slutsatser Överföring från Stanli-språket till Express Att överföra de delar av en modell som uttrycks i Stanli-språkets formella delar till Express medför inga större problem och kräver endast kunskap om en liten del av Express. Man bör dock hålla i minnet att namnen på tex objekttyper och attributtyper kan behöva ändras eftersom Express i princip bara acccepterar bokstäver ur det engelska alfabetet. Namn som innehåller t.ex.svenska bokstäver måste ändras. I Express finns ingen motsvarighet till de begrepp som gör det möjligt att i Stanli-språket ange och namnge alternativa SYMBOLTYPer och SYMBOLer. Det är möjligt att motsvarande förhållanden går att uttrycka med hjälp av olika typer av regler i Express, men det finns inget uppenbart sätt att hantera detta. Om även regler och liknande, som vi normalt uttrycker i Stanli-språkets definitionsblanketter ska överföras till Express förutsätter det att dessa är stringent uttryckta med minimal tvetydighet. Det krävs dessutom djupa kunskaper i Express, motsvarande en programmerares, hos översättaren. Rekommendationer kring komplettering av Stanli-språket Stanli-språket saknar möjlighet att formellt beskriva regler och begränsningar. Språket är utformat för beskrivning av verksamheter och används ofta vid modelleringsseminarier där verksamhetskunniga deltar. I dessa situationer är det inte lämpligt att uttrycka modeller i programmeringsspråksliknande kod. I stället bör man beskriva t. ex. regler så tydligt som möjligt i naturligt språk. Denna text kan sedan översättas till Express under andra arbetsformer än seminarium. Vi anser alltså att Stanlispråket inte behöver det formella utrycksmöjligheter som Express medger. Dock framträder två uttrycksmöjligheter som Express erbjuder som man saknar istanli-språket: I Express kan DEFINED DATA TYPE bygga på en annan DEFINED DATA TYPE. I Stanlispråket motsvaras DOMÄNer av DEFINED DATA TYPEr. Men DOMÄNer kan inte uttryckas i termer av andra DOMÄNer. Det vore en fördel om man kunde införa detta i Stanlispråket. Motsvarigheten till Express-begreppen LIST och BAG finns ej i Stanli-språket. och det vore därför önskvärt att komplettera Stanli-språket med åtminstone LIST, som ger möjlighet att definiera en ordningsföljd mellan värden. Begreppsammanställning Nedan följer en sammanställning av Stanli-språkets begrepp och deras motsvarighet i Express. Stanli-språket OBJEKTTYP BESKRIVNINGSTYP ATTRIBUT SAMBANDSASPEKTTYP SAMBAND DOMÄN SYMBOLTYP SYMBOL EXPLICIT VÄRDE EXPRESS ENTITY ATTRIBUTE ATTRIBUTE ATTRIBUTE ATTRIBUTE med sitt motsvarande INVERSE ATTRIBUTE DEFINED DATA TYPE DEFINED DATA TYPE DEFINED DATA TYPE DEFINED DATA TYPE

4 4 IDENTIFIERARE SPECIALISERING UNIQUE SUBTYPES AND SUPERTYPES

5 5 Förord I denna skrift jämförs två modelleringsspråk. Det ena är ett grafiskt modelleringsspråk avsett för att uttrycka verksamhetsmodeller orienterade mot verksamhetsområden, där den geografiska eller lägesbundna aspekten bedöms vara väsentlig. Språket är framtaget inom STANLI-projektet av Stig Berild. Det beskrivs i "Begreppsmodell och grafisk notation för hantering av geografiskt relaterade verksamhetsmodeller", SIS/TK80 N9.3. Detta språk kallar vi i fortsättningen Stanli-språket. Det andra språket, Express, är avsett för specifikation av informationsbehov. Express är utvecklat i Tyskland av bl.a. Berndt Wenzel och har accepterats som standard inom en rad områden. Express finns beskrivet i manualer och ett antal böcker som dock inte är speciellt lättillgängliga. Vi baserar våra utsagor om Express på den inom ISO (the International Organization for Standardization) framtagna manualen "Express Language Reference Manual", ISO IS , september 1993 och Bernt Wenzels OH-bilder från en presentation Beskrivningen görs utgående från de begrepp som definieras i Stanli-språket och visar på motsvarande textuella konstruktion i Express. Vi förutsätter att läsaren har goda kunskaper i modellering och modelleringsspråk. Uppdraget Denna studie har beställts av Allmänna Standardiseringsgruppen, STG inom ramen för verksamheten inom TK80, via Torbjörn Cederholm. Syftet är att klarlägga möjligheten att överföra modeller uttryckta enligt Stanli-språket till Express. Studien utgör en del i en större studie kopplad till STANLI-projektets medverkan i CEN/TC 287 och ISO/TC 211. Inledning Stanli-språket är ett grafiskt modelleringsspråk, dvs det uttryckssätt som är formaliserat är grafiskt. Språket innehåller även en rad begrepp vars beskrivningsform inte är formaliserad, dvs den grafiska beskrivningen kompletteras med verbala beskrivningar i fri form. Ofta hanteras dessa verbala beskrivningar i form av blanketter, men blanketterna finns inte definierade i språket utan kan utformas i överensstämmelse med det aktuella modelleringsprojektets behov. Inom ISO har ett ramverk med beteckningen ISO/IEC "Information technology - Information Resource Dictionary System (IRDS) antagits som standard för datakataloger. IBM har utifrån ramverket definierat ett språk för hantering av repository-information i ett avancerat datakatalogsystem benämnt Repository Manager och Stanli-språket har stora likheter med detta språk.

6 6 Person förnamn : NAMNSTRÄNG 1:1 mellannamn : INITIAL 0:1 efternamn : NAMNSTRÄNG 1:1 födelsedatum : DATUM 1:1 äger 0:M (ägs av 1:M) Trädgård namn : NAMNSTRÄNG 1:1 ort : NAMNSTRÄNG 1:1 maxzon : ZON 0:1 En modell med två objekttyper och en sambandstyp uttryckt med Stanli-språket. En modell i Express uttrycks verbalt i en kod som liknar programmeringsspråk. Några språk som påverkat utformningen av Express är Ada, Algol och PL/I. Dess syntax är mycket omfattande. Den omfattar både deklarativa och proceduriella delar. Kärnan i en modell, entiteter och deras attribut, uttrycks med deklarativa satser. Dessa kan kompletteras med proceduriell kod och på detta sätt uppnås kraftfulla uttrycksmöjligheter. Vid utformningen av språket har man försökt undvika att inkludera implementeringsaspekter. En modell i Express är datortolkbar och det finns en rad produkter på marknaden som kan tolka Expresskod och utnyttja den på olika sätt. ENTITY person foernamn mellannamn efternamn foedelsedatum aeger ENTITY traedgaard namn ort maxzon INVERSE aegs_av : namnstraeng; : OPTIONAL initial; : namnstraeng; : datum; : SET [0:?] OF traedgaard: : namnstraeng; : namnstraeng; : OPTIONAL zon; : SET [1:?] OF person FOR aeger; Samma modell som i föregående figur överförd till Express. En del av begreppen i Express kan uttryckas grafiskt med hjälp av Express-G. (Vi analyserar inte komponenterna i Express-G här. Se dock bilaga.)

7 7 initial mellannamn namnstraeng foernamn person foedelsedatum datum efternamn aeger S[0:?] (INV) aegs_av S[1:?] namn traedgaard maxzon zon ort Samma modell som i föregående figur överförd till Express-G.

8 8 Studiens uppläggning Framställningen följer i huvudsak följande mönster: det aktuella begreppets definition inom Stanli-språket redovisas, motsvarande konstruktion inom Express beskrivs och i en slutsats redogörs för möjligheten att översätta Stanli-språkets begrepp till Express. Den läsare som är bekant med något av språken kan naturligtvis hoppa över beskrivningen av detta språks konstruktioner medan den stressade läsaren kan gå direkt till respektive slutsats. De stycken i texten som avslutas med en referens till antingen SIS/TK80 N9.3 sid x eller Express-manualen är direkta citat eller så gått som raka översättningar från dessa dokument. Sidhänvisningen avser att göra det möjligt för den intresserade läsaren att hämta mer detaljerad information. Övriga textavsnitt är våra kommentarer och förklaringar. I texten använder vi KAPITÄLER för att markera de ord som finns definierade inom respektive språk och som här används i just denna definierade betydelse. Vi avslutar med att notera några konstruktioner som finns inom Express och som man ibland saknar när modeller ska uttryckas med Stanli-språket samt en sammanfattande jämförelse.

9 9 Objekttyp Stanli-språket En viss OBJEKTTYP är en abstraktion av en (tänkt) uppsättning objekt med en upplevd, tillräckligt överensstämmande karakteristik. Exempel är person, order, bil, fastighet, omdöme, projekt. För en objekttyp kan namn, beskrivning och maximalt antal anges. (SIS/TK80 N9.3 sid 30) OBJEKT är företeelser som kan urskiljas och beskrivas. (SIS/TK80 N9.3 sid 8) Express I Express finns ett antal närliggande begrepp: Ett OBJEKT är ett faktum, ett begrepp eller en instruktion. (ISO IS , sid 2) En ENTITY är en klass av objekt som har gemensamma egenskaper. (ISO IS , sid 2) En ENTITY DATA TYPE representerar en klass av OBJEKT som har gemensamma EGENSKAPer, som skapar domänen av ENTITY INSTANCEr. (ISO IS , sid 2) En ENTITY INSTANCE representerar ett objekt. (ISO IS , sid 2) I Express skapar en ENTITY DECLARATION en ENTITY DATA TYPE och deklarerar en identifierare för att referera till den, dvs ger den ett unikt namn. (ISO IS , sid 30) Person... ENTITY person... Den grafiska symbolen till vänster motsvarar en OBJEKTTYP med namnet Person i Stanlispråket. Till höger visas motsvarande konstruktion i Express, dvs en ENTITY DECLARATION. Slutsats I Stanli-språket skiljer man inte som i Express mellan ENTITY och ENTITY DATA TYPE eftersom man beskriver en verksamhet och inte talar om representation av den. En OBJEKTTYP översätts således till en ENTITY. Vid översättning av en objekttyp i Stanli-språket till en entity i Express kan namnutformningen vålla problem, eftersom Express inte innehåller svenska tecken. Express är ett internationellt språk och saknar olika länders speciella tecken.namn som innehåller svenska bokstäver måste ändras t.ex. genom att ta bort prickar eller byta å mot aa, ä mot ae och ö mot oe. Samma problem finns vid namnsättning av alla begrepp i Express men diskuteras endast här.

10 10 Beskrivningstyp Stanli-språket En viss BESKRIVNINGSTYP är en inom verksamheten intressant typ av karakteristik, beskrivning eller förhållande för en viss OBJEKTTYP. Det finns två principiellt olika sätt att uttrycka en beskrivning, ATTRIBUTTYP och SAMBANDSASPEKTTYP. För en BESKRIVNINGSTYP anges ett unikt namn och avbildning (se nedan). (SIS/TK80 N9.3 sid 27) Express Ett ATTRIBUTE till en ENTITY DATA TYPE representerar en ENTITYs väsentliga egenskaper. (ISO IS , sid 31) Beskrivningstyper Person förnamn : NAMNSTRÄNG 1:1 mellannamn : INITIAL 0:1 efternamn : NAMNSTRÄNG 1:1 födelsedatum : DATUM 1:1 äger 0:M (ägs av 1:M) Trädgård namn : NAMNSTRÄNG 1:1 ort : NAMNSTRÄNG 1:1 maxzon : ZON 0:1 ENTITY person foernamn : namnstraeng; mellannamn : OPTIONAL initial; efternamn : namnstraeng; foedelsedatum : datum; aeger : SET [0:?] OF traedgaard: ENTITY traedgaard namn ort maxzon INVERSE aegs_av : namnstraeng; : namnstraeng; : OPTIONAL zon; : SET [1:?] OF person FOR aeger; Till vänster visas Stanli-språkets notation för BESKRIVNINGSTYPer och till höger har motsvarande ATTRIBUT i Express skrivits med fetstil. De svenska bokstäverna å, ä och ö kan inte användas. Slutsats Stanli-språkets BESKRIVNINGSTYPer kan översättas till ATTRIBUTE i Express. Attributtyp, sambandsaspekttyp Stanli-språket ATTRIBUTTYP och SAMBANDSASPEKTTYP är SUBTYPer till BESKRIVNINGSTYP. (SIS/TK80 N9.3 sid 27) En viss ATTRIBUTTYP är en typ av karakteristik eller beskrivning för en viss OBJEKTTYP..(SIS/TK80 N9.3 sid 31) En viss SAMBANDSASPEKTTYP är en viss SAMBANDSTYP (definieras längre fram) sedd ur en av de två inblandade OBJEKTTYPernas perspektiv. (SIS/TK80 N9.3 sid 31)

11 11 Express Inom Express definieras inte några SUBTYPer till ATTRIBUTE, däremot anger man "mellan raderna" att man skiljer på olika typer av attribut. T.ex. säger man att inverser endast kan anges för sådana attribut som pekar ut en ENTITY DATA TYPE. (ISO IS , sid 33) Person förnamn : NAMNSTRÄNG 1:1 mellannamn : INITIAL 0:1 efternamn : NAMNSTRÄNG 1:1 födelsedatum : DATUM 1:1 Attributtyper äger 0:M (ägs av 1:M) Trädgård namn : NAMNSTRÄNG 1:1 ort : NAMNSTRÄNG 1:1 maxzon : ZON 0:1 Sambandsaspekttyper BESKRIVNINGSTYPerna i Stanli-språket delas in i ATTRIBUTTYPer och SAMBANDS- ASPEKTTYPer. I Express blir båda dessa ATTRIBUT. Se föregående figur. Slutsats Det finns ingen motsvarighet till Stanli-språkets ATTRIBUTTYP och SAMBANDSASPEKTTYP i Express. ATTRIBUTTYP och SAMBANDSASPEKTTYP översätts till ATTRIBUTE i Express. Om ett ATTRIBUTE i Express pekar ut en ENTITY DATA TYPE så motsvarar det en SAMBANDSASPEKTTYP i Stanli-språket annars en ATTRIBUTTYP. Sambandstyp Stanli-språket En viss SAMBANDSTYP representerar en typ av förhållande eller associering, av intresse i en verksamhet, uttryckt mellan två OBJEKTTYPer. (SIS/TK80 N9.3 sid 31) Sambandsaspekttyp är huvudrikning inom 0;1 (har huvudriktning 1:1) Sambandstyp Pekar ut den SAMBANDSTYP, som en viss SAMBANDSASPEKTTYP ingår i som huvudriktning. Sambandsaspekttyp är inversriktning inom 0;1 (har inversriktning 1:1) Sambandstyp Pekar ut den SAMBANDSTYP, som en viss SAMBANDSASPEKTTYP ingår i som inversriktning. Express Om en annan ENTITY har etablerat ett ATTRIBUTE som pekar ut den aktuella ENTITYn via ett EXPLICIT ATTRIBUT, kan ett INVERSE ATTRIBUTE användas för att beskriva relationen inom

12 12 den aktuella ENTITYn. Varje ATTRIBUTE skapar en implicit invers. (ISO IS , sid 32-33) Person förnamn : NAMNSTRÄNG 1:1 mellannamn : INITIAL 0:1 efternamn : NAMNSTRÄNG 1:1 födelsedatum : DATUM 1:1 äger 0:M (ägs av 1:M) Sambandstyp Trädgård namn : NAMNSTRÄNG 1:1 ort : NAMNSTRÄNG 1:1 maxzon : ZON 0:1 SAMBANDSASPEKTTYPen 'äger' och dess invers 'ägs av' utgör tillsammans en SAMBANDSTYP. Slutsats Det som i Stanli-språket deklareras som ett SAMBAND motsvaras i Express av ett ATTRIBUTE som pekar ut en ENTITY DATA TYPE och för vilken ett INVERSE ATTRIBUTE kan deklareras. Domän, Explicit värde, Symboltyp, Symbol Stanli-språket En viss DOMÄN representerar en definierad typ av semantiskt odelbara värden som är meningsfulla i en verksamhet. Giltiga värden kan anges genom mer eller mindre komplexa villkor för exempelvis teckensammansättning eller intervall. Giltiga värden kan även explicit räknas upp, exempelvis var och en av årets tolv månader under DOMÄNen 'månad'. Ett visst värde kan formuleras och tolkas genom flera alternativa symboler i form av exempelvis text, bild, graf, ljud, animation. (SIS/TK80 N9.3 sid 28) En DOMÄN måste ha ett namn och ett värdeområde kan anges i fri text. <objekttyp> <attributtyp> : <DOMÄN> <min per objekt> : <max per objekt>... För varje attributtyp kan DOMÄN anges. I Stanli-språket är ett visst EXPLICIT VÄRDE en förekomst av en viss DOMÄN. En DOMÄN kan ha många EXPLICITA VÄRDEn men behöver inte ha några. (SIS/TK80 N9.3 sid 28) En viss SYMBOLTYP är en definition av bl.a. form och format på SYMBOLer att användas för att uttrycka och för att ge möjlighet att tolka värden inom en viss DOMÄN. (SIS/TK80 N9.3 sid 33)

13 13 En viss SYMBOL är en tolkbar representation av ett visst EXPLICIT VÄRDE. En viss SYMBOL är alltid en förekomst av en viss SYMBOLTYP. (SIS/TK80 N9.3 sid 33) I Stanli-språket anges DOMÄNens namn i grafen vid ATTRIBUTTYPen. DOMÄNernas värdeförråd samt deras kopplingar till SYMBOLTYPer och eventuella EXPLICITa VÄRDEn definieras i tillhörande text. Vid praktisk modellering finns speciellt utformade blanketter för ändamålet. DOMÄN Namn: Beskrivning: REPRESENTERAS AV SYMBOLTYP SYMBOLTYPSNAMN svenska tecken (PRIMÄR) tyska tecken namnsträng En godtycklig sträng med inledande versal. BESKRIVNING max 25 tecken ur svenska alfabetets tecken, mellanslag och bindestreck max 25 tecken ur tyska alfabetet tecken, mellanslag och bindestreck. En DOMÄN kan representeras av flera SYMBOLTYPer. En av dem är alltid PRIMÄR. DOMÄN Namn: Beskrivning: initial En godtycklig versal. REPRESENTERAS AV SYMBOLTYP SYMBOLTYPSNAMN svenska tecken (PRIMÄR) BESKRIVNING ett tecken ur svenska alfabetets tecken I Stanli-språket finns inte möjlighet att definiera en domän i termer av en annan domän. DOMÄN Namn: Beskrivning: EXPLICIT VÄRDE SYMBOLTYPSNAM N romerskzon zon Inom Sverige existerande växtzoner. HAR PRIMÄRSYMBOL I, II, III, IV, V, VI, VII REPRESENTERAS AV SYMBOL decimalzon 1, 2, 3, 4, 5, 6, 7 Detta är ett exempel på en uppräkningsbar DOMÄN uttryckt i Stanli-språket. Det finns möjlighet att ange flera symboltyper för en DOMÄN och om den är uppräkningsbar innehåller den ett antal SYMBOLer, som representerar EXPLICITa VÄRDEn. Express I Express skapar en TYPE DECLARATION en DEFINED DATA TYPE och en identifierare (= namn) för att referera till den. (ISO IS , sid 24 och 29) En DEFINED DATA TYPE kan referera till en annan DEFINED DATA TYPE i ett godtyckligt antal nivåer. På nedersta nivån ska DEFINED DATA TYPEn dock referera till NUMBER, REAL, STRING, BOOLEAN, LOGICAL eller BINARY. (ISO IS , sid 16 och 24)

14 14 Till en DEFINED DATA TYPE kan en WHERE-clause knytas. Denna typ av villkorskonstruktion har en omfattande syntax som kan användas för att bygga upp komplexa konstruktioner. TYPE initial = namnstraeng; WHERE length_i = LENGTH (SELF ) = 1; END_TYPE ; TYPE namnstraeng WHERE char_1 END_TYPE ; = STRING; = SELF LIKE I exemplet är 'initial' en ENTITY DATA TYPE som definierats som en 'namnstraeng', som i sin tur är definierad som en STRING där första bokstaven är en versal (anges Initial är enligt definitionen en bokstav och den måste vara en versal eftersom första bokstaven i namnstraeng är en versal. Ett sätt att definiera en ENTITY DATA TYPE är att räkna upp dess värden. Man använder då en ENUMERATION TYPE. En ENUMERATION TYPE har som domän en ordnad mängd av namn. Namnen representerar ENUMERATION TYPEns värden. (ISO IS , sid 25) Detta innebär att ett ATTRIBUTE som har ENUMERATION TYPE som domän endast kan hämta värden bland de uppräknade. Person förnamn : NAMNSTRÄNG 1:1 mellannamn : INITIAL 0:1 efternamn : NAMNSTRÄNG 1:1 födelsedatum : DATUM 1:1 äger 0:M (ägs av 1:M) Trädgård namn : NAMNSTRÄNG 1:1 ort : NAMNSTRÄNG 1:1 maxzon : ZON 0:1 Domän ENTITY person foernamn : namnstraeng ; mellannamn : OPTIONAL initial ; efternamn : namnstraeng ; foedelsedatum : datum ; aeger : SET [0:?] OF traedgaard : ENTITY traedgaard namn : namnstraeng ; ort : namnstraeng ; maxzon : OPTIONAL zon ; INVERSE aegs_av : SET [1:?] OF person FOR aeger; Till vänster visas Stanli-språket sätt att endast ange namnet på DOMÄNerna i grafen. SYMBOLTYPer, SYMBOLer och EXPLICITa VÄRDEn beskrivs över huvud taget inte i grafen. Till höger visas namnen på motsvarande datatyper i Express. Som syns i figuren ser man inte skillnad på 'person' som är en ENTITY DATA TYPE och 'namnstraeng' som är en DEFINED DATA TYPE. Men man hittar 'person' deklarerad som en ENTITY DATA TYPE och 'namnstraeng' deklarerad som en TYPE. Se ovan. Slutsats Ordet domän i Express är inte definierat utan används i sin allmänna betydelse. DOMÄN-, SYMBOLTYP-, SYMBOL- OCH EXPLICIT VÄRDE-begreppen i Stanli-språket motsvaras alla av DEFINED DATA TYPE och dess underliggande konstruktioner i Express. Expresspråkets

15 15 WHERE-clause erbjuder mycket omfattande uttrycksmöjligheter och kan t. ex. uttrycka det som man i Stanli-språket beskriver för SYMBOLer och SYMBOLTYPer. I Stanli-språket kan ett värdeförråd begränsas och beskrivas på olika sätt med hjälp av DOMÄN- och EXPLICIT-VÄRDE-begreppen, dock inte formellt som i Express. Till skillnad mot i Express skiljer man inom Stanli-språket på vilka värden som är tillåtna och hur de representeras. Representationsformen beskrivs med hjälp av symbol och symboltyp. I Stanli-språket finns inga uppräkningsbara mängder av värden men en DOMÄN bestående av EXPLICITA VÄRDEn kan sägas motsvara en ENUMERATION TYPE. I Express finns ingen motsvarighet till Stanli-språkets möjlighet att ange och namnge alternativa SYMBOLTYPer och SYMBOLer. I Stanli-språket kan man inte uttrycka en DOMÄN i termer av en annan DOMÄN. Avbildning Stanli-språket För en BESKRIVNINGSTYP kan man ange MINIMUM_PER_OBJEKT och MAXIMUM_PER_OBJEKT, som definieras som minsta respektive största antalet förekomster av en viss BESKRIVNINGSTYP per förekomst av beskriven OBJEKTTYP. Anges som ett tal eller som M (många). (SIS/TK80 N9.3 sid 27) Avbildningen i Stanli-språket anges som min : max i grafen för varje BESKRIVNINGSTYP. Express Ett ATTRIBUTE pekar ut en förekomst som antingen är ett enskilt element eller en grupp som innehåller flera element. Exempel på ett enskilt element är 'Kalle', '21', 'blå' och exempel på en grupp av element är {'Kalle', 'Olle', 'Karin'}, {'blå', 'röd', 'grön', 'gul'}. För att ange att ett ATTRIBUTE ska peka ut en grupp av element använder man något av begreppen LIST, BAG eller SET och för dem anger man minimalt och maximalt antal element. SET används för att representera en mängd medan BAG representerar en grupp som kan innehålla dubletter och LIST en ordnad mängd. Slutsats Även om avbildning uttrycks olika i de två språken kan man ändå översätta från Stanli-språket till Express enligt nedanstående tabell. Stanli-språket Express 1:1 default, skrivs ej ut 0:1 OPTIONAL eller SET [0:1] OF... 1:M SET[1:?] OF... 0:M SET[0:?] OF...

16 16 Motsvarigheten till Express-begreppen LIST och BAG finns ej i Stanli-språket, men det vore önskvärt att komplettera detta med åtminstone LIST för att kunna uttrycka en ordningsföljd mellan värden. Identifierare Stanli-språket I Stanli-språket utgörs en viss IDENTIFIERARE av de BESKRIVNINGSTYPer, som tillsammans utgör en möjlig typ av identifiering av en viss OBJEKTTYP. Ett visst OBJEKT av viss OBJEKTTYP kan m.a.o. unikt refereras till, givet en förekomst av var och en av de för OBJEKTTYPen angivna BESKRIVNINGSTYPERNA. OBJEKTTYPEN kan ha flera identifierare varav en normalt brukar ses som den primära. (SIS/TK80 N9.3 sid 29) Express I Express kan ett unikhetsvillkor för individuella ATTRIBUTE eller kombinationer av ATTRIBUTE specificeras i form av en unikhetsregel. Unikhetsregeln följer på ordet UNIQUE och specificerar antingen ett enda ATTRIBUTE eller en lista av ATTRIBUTE. I det första fallet finns inte två instanser av ENTITY DATA TYPEN som har samma värde för ATTRIBUTEt. I det senare fallet har inte två ENTITY DATA TYPer samma kombination av värden för listan av ATTRIBUTE.(ISO IS , sid 35) Trädgård namn * namn : NAMNSTRÄNG : NAMNSTRÄNG 1:1 1:1 ort * ort : NAMNSTRÄNG : NAMNSTRÄNG 1:1 1:1 maxzon maxzon : ZON : ZON 0:1 0:1 ENTITY traedgaard namn : name_string; ort : name_string; maxzon : OPTIONAL zon; INVERS aegs_av : SET [1:?] OF person FOR aeger; UNIQUE id_tg : namn, ort ; Till vänster har attributtyperna 'namn' och 'ort' markerats med en asterisk vilket säger att de tillsammans identifierar en trädgård, dvs inga trädgårdar har samma uppsättning värden på båda attributtyperna. Det som deklareras under UNIQUE har samma innebörd även om man inte talar om identifierare i Express. Slutsats I Express finns inte begreppet identifierare. UNIQUE kan användas för att beskriva det som i Stanli-språket kallas identifierare. Specialisering Stanli-språket En viss SPECIALISERING uttrycker ett visst generiskt samband mellan en mer generell OBJEKTTYP (SUPERTYP) och ett antal mer specialiserade OBJEKTTYPER (SUBTYPer). Varje

17 17 OBJEKTTYP som är en instans av en SUBTYP är även en instans av SUPERTYPen. Varje SPECIALISERING uttrycker ett syfte. En viss OBJEKTTYP kan vara SUPERTYP för flera generiska samband, var och en med sitt syfte. Varje specialisering har ett unikt namn. Detta medför att alla utsagor som kan göras om SUPERTYPens förekomster även kan göras om SUBTYPERnas. Detta kallas ofta "arv". En SPECIALISERING är uttömmande om en förekomst av SUPERTYPen även måste tillhöra någon av SUBTYPerna (markeras med fylld ring). En SPECIALISERING har unik förekomst om en förekomst av SUPERTYPen tillhör högst en av SUBTYPerna (markeras med enkel ring, annars används dubbel ring). (SIS/TK80 N9.3 sid 32) Express I Express är det möjligt att ange att en ENTITY är en SUBTYPE av en annan ENTITY, SUBTYPEn innebär en specialisering av SUPERTYPEn. Varje instans av SUBTYPen är en instans av sin(a) SUPERTYP(er). SUBTYPEn ärver egenskaper t.ex. ATTRIBUT och regler från SUPERTYPEn. (ISO IS , sid 38) Växt... Växthusväxt... växtplats Utomhusväxt... ENTITY vaext ABSTRACT SUPERTYPE OF (vaexthurvaext ANDOR utomhusvaext); En växt är alltid en växthusväxt eller en utomhusväxt eller både och. Växt... växtplats Växthusväxt... Utomhusväxt... ENTITY vaext SUPERTYPE OF (vaexthurvaext ANDOR utomhusvaext); En växt kan vara en växthusväxt eller en utomhusväxt eller både och, men behöver inte vara någon av dem.

18 18 Växt... växtplats Växthusväxt... Utomhusväxt... ENTITY vaext ABSTRACT SUPERTYPE OF ONEOF (vaexthurvaext, utomhusvaext); En växt är antingen en växthusväxt eller en utomhusväxt och får inte vara både och. Växt... växtplats Växthusväxt... Utomhusväxt... ENTITY vaext SUPERTYPE OF ONEOF (vaexthurvaext, utomhusvaext); En växt är antingen en växthusväxt eller en utomhusväxt och kan inte vara både och men behöver inte vara någondera.. Slutsats Specialiseringsbegreppen i de båda språken överensstämmer väl. För att ange om SPECIALISERINGen är uttömmande och har unik förekomst används dock helt olika uttryckssätt. Begreppen uttömmande och unik förekomst finns dock inte i Express, men motsvarande förhållanden kan uttryckas. Stanlispråket Express Exempel ABSTRACT SUPERTYPE OF (... ANDOR... ANDOR...) SUPERTYPE OF (... ANDOR... ANDOR...) ABSTRACT SUPERTYPE OFONEOF (...,...,...) SUPERTYPE OFONEOF (...,...,...)

19 19 Till vänster visas Stanli-språkets grafisk representation för olika typer av SPECIALISERINGar och i mitten motsvarigheten i Express. Till höger visas exempel på vad respektive representation innebär. I Express finns ingen möjlighet att uttrycka det som i Stanli-språket kallas namn på en specialisering, t.ex. växtplats, kön eller nationalitet. I praktisk modellering utelämnas ofta namnet, eftersom det är svårt att hitta adekvata namn. Ofta finns bara det intetsägande namnet typ och då tillför namnet ingenting till modellen. När namnet utelämnas bryter man dock mot Stanli-språkets syntax. Vi ser inte detta som något problem som måste lösas på annat sätt än att ett namnet utelämnas vid översättning till Express.

20 20 Några Express-begrepp som saknas i Stanli-språket. Regler I Stanli-språket beskrivs inte regler formellt. I beskrivningen av t.ex. en OBJEKTTYP kan regler för den beskrivas. Praktiskt sätt används en definitionsblankett där OBJEKTTYPen beskrivs närmare och bland annat regler kan redovisas. Vi ser inte något behov av att införa ett formellt regelspråk. Eftersom språket används i direktkontakt med personer från verksamhet anser vi att det blir både enklare och bättre om man använder tydlig svenska. Rent formellt kan man inte göra jämförelser. Men det är möjligt att på strukturerad svenska beskriva regler och sedan översätta dem till Express, som är mycket rikt på uttryckssätt för regler. Domän I Express kan DEFINED DATA TYPE bygga på en annan DEFINED DATA TYPE. I Stanli-språket motsvaras domäner av DEFINED DATA TYPEr. Men DOMÄNer kan inte uttryckas i termer av andra DOMÄNer. Det skulle t. ex. ibland vara enklare att uttrycka ett intervall om man utnyttjar en redan beskriven DOMÄN. DOMÄNen Feber skulle exempelvis kunna bygga på DOMÄNen Temperatur. Avbildning Motsvarigheten till Express-begreppen LIST och BAG finns ej i Stanli-språket. För att beskriva en ordningsföljd mellan attributvärden måste man i Stanli-språket definiera en OBJEKTTYP, som har en ATTRIBUTTYP Nummer. Om värdet på attributet nummer är unikt för varje förekomst så kan man skapa en ordningsföljd. Detta är en omständlig väg och det vore därför önskvärt att komplettera Stanli-språket med åtminstone LIST, som ger möjlighet att definiera en ordningsföljd mellan värden.

Geografisk information Databeskrivning Beskrivningsspråk för begreppsmodeller

Geografisk information Databeskrivning Beskrivningsspråk för begreppsmodeller November 2001 SIS/TK 80 N1087 Geografisk information Databeskrivning sspråk för begreppsmodeller SIS, Swedish Standards Institute Postadress: 118 80 STOCKHOLM Besöksadress: Sankt Paulsgatan 6, Stockholm

Läs mer

Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna

Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna Innehåll Inledning... 3 Ord och uttryck... 4 Processmodeller... 5 Vad är en processmodell?... 5 Hur används processmodeller

Läs mer

Arkitektur och Regelverk Definition av kodverk och klassifikation. Version 1.0

Arkitektur och Regelverk Definition av kodverk och klassifikation. Version 1.0 Arkitektur och Regelverk Definition av kodverk och klassifikation Version 1.0 Innehållsförteckning 1. Inledning... 3 2. Definitioner... 3 Referenser och underlag... 5 Revisionshistorik Version, datum Författare

Läs mer

NVDB - Översiktlig informationsmodell

NVDB - Översiktlig informationsmodell NVDB - Teknisk Lösning Anders Nilsson, Klas Hallberg Datum Version (66) NVDB - Översiktlig informationsmodell Ändringsförteckning: Version Datum Orsak samt ändring mot tidigare version Ansvarig.0 999-09-7

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Begreppsmodell TILLREG

Begreppsmodell TILLREG Begreppsmodell för TILLREG Terminologi för Stockholms läns landsting Version 02 Certifierade 1998-11-18 1998-10-14 Landstingskontoret Utveckling Definitioner av termer i TILLREG2http://www.it.lk.sll.se/left_frame.asp?val=22(12

Läs mer

n Detta för att kunna koncentrera oss på n Tal: number? n Symboler: symbol? n Strängar: string? n Tecken: char? n Boolskt: boolean?

n Detta för att kunna koncentrera oss på n Tal: number? n Symboler: symbol? n Strängar: string? n Tecken: char? n Boolskt: boolean? Tidigare TDDC74 Programming: Abstraktion och modellering Föreläsning 4 Symboler, Par, Listor Representation av par, Grafisk notation för par Representation av listor mha par Typiska listhanteringsprocedurer

Läs mer

Databasdesign. E-R-modellen

Databasdesign. E-R-modellen Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19

Läs mer

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion. Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Programdesign, databasdesign Databasdesign Konceptuell design Förstudie, behovsanalys

Läs mer

Design och underhåll av databaser

Design och underhåll av databaser Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller

Läs mer

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad 1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

Databaser design och programmering. Design processen ER- modellering

Databaser design och programmering. Design processen ER- modellering Databaser design och programmering Design processen ER- modellering 2 Programutveckling Förstudie, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign Databasdesign

Läs mer

TENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010

TENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010 Linköpings universitet Institutionen för datavetenskap, IDA Olle Willén mars 2010 Tentamen TDDB53 TENTAMEN TDDB53 (provkod TEN2) den 7 april 2010 kl 8 12 Jour: Emil Nielsen, tel 070 499 89 88 Hjälpmedel:

Läs mer

En snabb titt på XML LEKTION 6

En snabb titt på XML LEKTION 6 LEKTION 6 En snabb titt på XML Bokstaven x i Ajax står för XML, ett mycket användbart beskrivningsspråk som gör det möjligt för Ajax-tillämpningar att hantera komplex strukturerad information. I den här

Läs mer

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Kort om klasser och objekt En introduktion till GUI-programmering i Java Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på

Läs mer

Introduktion. Byggstenar TDBA63 2005-11-22

Introduktion. Byggstenar TDBA63 2005-11-22 Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet

Läs mer

Objektorienterad programmering. Grundläggande begrepp

Objektorienterad programmering. Grundläggande begrepp Objektorienterad programmering Grundläggande begrepp Hur beskriver vi objekt? Vill ha en representationsoberoende beskrivning Abstrakta datatyper! Data Operationer Objekt Representerar en verklig eller

Läs mer

Informationsmodellering och e-infrastrukturer

Informationsmodellering och e-infrastrukturer Informationsmodellering och e-infrastrukturer Semiotik Sign = Tecken Semiotik = Teckenlära Tecken är representationer Tecken är intentionella Tecken förmedlar information Figure 3.1: Levels of semiotics

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas:

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas: FTEA12:2 Föreläsning 2 Grundläggande argumentationsanalys II Repetition: Vid förra tillfället började vi se närmre på vad som utmärker filosofisk argumentationsanalys. Vi tittade närmre på ett arguments

Läs mer

Nationell Informationsstruktur 2015:1. Bilaga 7: Arkitektur och metodbeskrivning

Nationell Informationsstruktur 2015:1. Bilaga 7: Arkitektur och metodbeskrivning Nationell Informationsstruktur 2015:1 Bilaga 7: Arkitektur och metodbeskrivning Innehåll Nationell informationsstruktur arkitektur och metod... 3 Standarder inom informatik... 3 NI relaterat till ISO 42010...

Läs mer

Uppgifter till praktiska tentan, del A. (7 / 27)

Uppgifter till praktiska tentan, del A. (7 / 27) Uppgifter till praktiska tentan, del A. (7 / 27) I. Sortering/Sökning: III II. Representation/Omvandling/format/protokoll: II III. Strukturering: II I alla problem, där bokstäver förekommer, antar vi att

Läs mer

Nationell informationsstruktur 2015:1 Bilaga 2: Modeller för vård och omsorg

Nationell informationsstruktur 2015:1 Bilaga 2: Modeller för vård och omsorg Nationell informationsstruktur 2015:1 Bilaga 2: Modeller för vård och omsorg 2 Innehåll Processmodell för vård och omsorg... 4 Begreppsmodell för vård och omsorg... 6 Informationsmodell för vård och omsorg...

Läs mer

TDDC74 Programmering, abstraktion och modellering DUGGA 2

TDDC74 Programmering, abstraktion och modellering DUGGA 2 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering DUGGA 2 Torsdag 19 feb 2009 8-10 Namn: Personnummer:

Läs mer

Begreppsanalys med modellering

Begreppsanalys med modellering Begreppsanalys med modellering Modelleringsseminarium med en grupp från Stockholms Läns Landsting 2(14) Innehållsförteckning BEHOVET AV BEGREPPSANALYS ÄR STORT... 3 BEGREPPSANALYSEN GER POSITIVA EFFEKTER...

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

Läs mer

Grunderna för relationsmodellen!

Grunderna för relationsmodellen! Grunderna för relationsmodellen! 1 Varför behöver jag lära mig relationsmodellen?! Relationsmodellen är den totalt dominerande datamodellen i moderna databassystem Beskriver databaser som en mängd tabeller

Läs mer

MATEMATIKENS SPRÅK. Avsnitt 1

MATEMATIKENS SPRÅK. Avsnitt 1 Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man

Läs mer

Utveckling av ett grafiskt användargränssnitt

Utveckling av ett grafiskt användargränssnitt Datavetenskap Opponenter: Daniel Melani och Therese Axelsson Respondenter: Christoffer Karlsson och Jonas Östlund Utveckling av ett grafiskt användargränssnitt Oppositionsrapport, C-nivå 2010-06-08 1 Sammanfattat

Läs mer

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34 Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger

Läs mer

Synpunkter på modellering av begrepp och termer

Synpunkter på modellering av begrepp och termer Synpunkter på modellering av begrepp och termer Stig Berild (Myndigheten för skolutveckling) Innehållsförteckning 1 Inledning...3 2 Distinktionen mellan begrepp och term för ett beskrivningselement...3

Läs mer

BER AKNINGSBARHET F OR DATALOGER. Kent Petersson. Institutionen for Datavetenskap Goteborgs Universitet / Chalmers Goteborg, Sweden

BER AKNINGSBARHET F OR DATALOGER. Kent Petersson. Institutionen for Datavetenskap Goteborgs Universitet / Chalmers Goteborg, Sweden BER AKNINGSBARHET F OR DATALOGER Fran till P Kent Petersson Institutionen for Datavetenskap Goteborgs Universitet / Chalmers 412 96 Goteborg, Sweden ii Kent Petersson Department of Computer Science Goteborgs

Läs mer

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud. Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra

Läs mer

En ansats till behovsstyrd applikationsutveckling

En ansats till behovsstyrd applikationsutveckling Datavetenskap Opponenter: Daniel Mester Pirttijärvi Hampus Skystedt Respondent: Johan Björlin En ansats till behovsstyrd applikationsutveckling Oppositionsrapport, C-nivå 2011:05 1 Sammanfattat omdöme

Läs mer

i LabVIEW. Några programmeringstekniska grundbegrepp

i LabVIEW. Några programmeringstekniska grundbegrepp Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar

Läs mer

Nationell informationsstruktur 2015:1 Bilaga 3: Modeller för hälso- och sjukvård

Nationell informationsstruktur 2015:1 Bilaga 3: Modeller för hälso- och sjukvård Nationell informationsstruktur 2015:1 Bilaga 3: Modeller för hälso- och sjukvård 2 Innehåll Processmodell för hälso- och sjukvård... 4 Begreppsmodell för hälso- och sjukvård... 6 Informationsmodell för

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information

Läs mer

Konceptuell modellering

Konceptuell modellering Konceptuell modellering En konceptuell modell beskriver data och datasamband på ett representationsoberoende sätt. Vad modellen sen ska implementeras som/i får inte påverka modellens utformning! Grundbegrepp:

Läs mer

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,

Läs mer

DAB760: Språk och logik

DAB760: Språk och logik DAB76: Språk och logik /4: Finita automater och -7 reguljära uttryck Leif Grönqvist (leif.gronqvist@msi.vxu.se) Växjö Universitet (MSI) GSLT (Sveriges nationella forskarskola i språkteknologi) Göteborg

Läs mer

Nationell informationsstruktur 2015:2. Bilaga 1: Läsanvisning till modellerna

Nationell informationsstruktur 2015:2. Bilaga 1: Läsanvisning till modellerna Nationell informationsstruktur 2015:2 Bilaga 1: Läsanvisning till modellerna 2 NATIONELL INFORMATIONSSTRUKTUR 2015:2 Innehåll Inledning... 5 Ord och uttryck... 6 Processmodeller... 7 Vad är en processmodell?...

Läs mer

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet Formell logik Kapitel 1 och 2 Robin Stenwall Lunds universitet Kapitel 1: Atomära satser Drömmen om ett perfekt språk fritt från vardagsspråkets mångtydighet och vaghet (jmf Leibniz, Russell, Wittgenstein,

Läs mer

Begreppsanalys person

Begreppsanalys person 1(15) Bilaga till e-nämndsrapporten Metodprojekt som stöd för införande av standardmeddelanden 2005-12-15 Begreppsanalys person Arbetsdokument december 2005 2(15) Innehållsförteckning 1 Inledning... 3

Läs mer

Informationsspecifikation för levnadsvanor. Tobakskonsumtion, alkoholkonsumtion, fysisk aktivitet och matvanor

Informationsspecifikation för levnadsvanor. Tobakskonsumtion, alkoholkonsumtion, fysisk aktivitet och matvanor Informationsspecifikation för levnadsvanor Tobakskonsumtion, alkoholkonsumtion, fysisk aktivitet och matvanor Denna publikation skyddas av upphovsrättslagen. Vid citat ska källan uppges. För att återge

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

System.out.println("Jaså du har "+ antaldollar + " stycken.");

System.out.println(Jaså du har + antaldollar +  stycken.); 1 Vad vi vet Vi har tidigare sett exemplet med inmatning från tangentbordet. Exemplet innehåller flera aspekter av klasser och objekt. import java.util.*; class KeyboardReading { public static void main(string

Läs mer

Definition och initiering av fältvariabler (DEF, SET, REP)

Definition och initiering av fältvariabler (DEF, SET, REP) Funktion En användarvariabel kan definieras som 1- till maximalt 3-dimensionellt fält (array): 1-dimensionellt: DEF [] 2-dimensionellt: DEF [,]

Läs mer

Tentamen, Algoritmer och datastrukturer

Tentamen, Algoritmer och datastrukturer UNDS TEKNISKA ÖGSKOA (6) Institutionen för datavetenskap Tentamen, Algoritmer och datastrukturer 23 8 29, 8. 3. Anvisningar: Denna tentamen består av fem uppgifter. Totalt är skrivningen på 36 poäng och

Läs mer

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1. UPPSALA UNIVERSITET Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv07/dg1/ Logisk semantik I 1 Lite om satslogik 1.1

Läs mer

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 1 1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta

Läs mer

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14. Tentamen 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.00, sal D31 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel

Läs mer

PROV. 12 Egenskaper (provavsnitt)

PROV. 12 Egenskaper (provavsnitt) 12 Egenskaper (provavsnitt) 12.1 Egenskaper 12.2 Deklaration av egenskaper 12.3 Åtkomsttjänster för egenskaper 12.4 Åtkomsttjänster med genererade instansvariabler 12.5 Åtkomsttjänster med egna instansvariabelnamn

Läs mer

Om ämnet Engelska. Bakgrund och motiv

Om ämnet Engelska. Bakgrund och motiv Om ämnet Engelska Bakgrund och motiv Ämnet engelska har gemensam uppbyggnad och struktur med ämnena moderna språk och svenskt teckenspråk för hörande. Dessa ämnen är strukturerade i ett system av språkfärdighetsnivåer,

Läs mer

Automatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA

Automatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA Automatateori (2) Idag: Sammanhangsfria språk Dessa kan uttryckas med Grammatik PDA Grammatik = språkregler Ett mer kraftfullt sätt att beskriva språk. En grammatik består av produktionsregler (andra ord

Läs mer

Riktlinjer för bedömning av examensarbeten

Riktlinjer för bedömning av examensarbeten Fastställda av Styrelsen för utbildning 2010-09-10 Dnr: 4603/10-300 Senast reviderade 2012-08-17 Riktlinjer för bedömning av Sedan 1 juli 2007 ska enligt högskoleförordningen samtliga yrkesutbildningar

Läs mer

Sanning och lögnare. Rasmus Blanck VT2017. FT1200, LC1510 och LGFI52

Sanning och lögnare. Rasmus Blanck VT2017. FT1200, LC1510 och LGFI52 rasmus.blanck@gu.se FT1200, LC1510 och LGFI52 VT2017 Vad är sanning? Vi verkar använda begreppet utan större problem till vardags. Det kanske vore intressant att ha en definition: P är sann om och endast

Läs mer

Business research methods, Bryman & Bell 2007

Business research methods, Bryman & Bell 2007 Business research methods, Bryman & Bell 2007 Introduktion Kapitlet behandlar analys av kvalitativ data och analysen beskrivs som komplex då kvalitativ data ofta består av en stor mängd ostrukturerad data

Läs mer

RAPPORTSKRIVNING. Skolans namn Program, kurs, läsår Undervisande lärares namn. (titel på arbetet)

RAPPORTSKRIVNING. Skolans namn Program, kurs, läsår Undervisande lärares namn. (titel på arbetet) Skolans namn Program, kurs, läsår Undervisande lärares namn RAPPORTSKRIVNING (titel på arbetet) Ort och datum Författare(om det är flera skrivs namnen i bokstavsordning) Innehåll 1. Inledning(kapitelrubrik)...3

Läs mer

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000

Läs mer

DP7 FORMELL KONTROLL

DP7 FORMELL KONTROLL DP7 FORMELL KONTROLL Magnus G 2015-01-09 2014-06-03 1.0 2(12) INNEHÅLLSFÖRTECKNING 1. SAMMANFATTNING...3 2. DOKUMENTINFORMATION...3 2.1 SYFTE...3 2.2 MÅLGRUPP...3 3. ALLMÄNT...3 3.1 AVGRÄNSNING...3 3.2

Läs mer

Anvisningar för ifyllning av Excelark för databaser (xml-filer)

Anvisningar för ifyllning av Excelark för databaser (xml-filer) 2009-10-09 (reviderad 2011-01-04, 2011-02-14, 2011-10-20, 2012-09-17) Riksarkivet IT-avdelningen Anvisningar för ifyllning av Excelark för databaser (xml-filer) 1 Anvisningar för ifyllning av Excelark

Läs mer

Nationell informationsstruktur 2016:1. Bilaga 7: Arkitektur och metodbeskrivning

Nationell informationsstruktur 2016:1. Bilaga 7: Arkitektur och metodbeskrivning Nationell informationsstruktur 2016:1 Bilaga 7: Arkitektur och metodbeskrivning Nationell informationsstruktur arkitektur och metodbeskrivning Nationell informationsstruktur (NI) ska bestå av sammanhängande

Läs mer

Bilaga C (informativ) Översikt och exempel

Bilaga C (informativ) Översikt och exempel Bilaga C (informativ) Översikt och exempel Exemplet i denna bilaga är avsett att ge en översikt över den datastruktur och det datainnehåll som standarden anvisar. Exemplet är inte avsett att vara helt

Läs mer

BILAGA. till förslaget. till Europaparlamentets och rådets förordning

BILAGA. till förslaget. till Europaparlamentets och rådets förordning EUROPEISKA KOMMISSIONEN Bryssel den 30.6.2016 COM(2016) 434 final ANNEX 1 BILAGA till förslaget till Europaparlamentets och rådets förordning om ändring av förordning (EG) nr 1030/2002 av den 13 juni 2002

Läs mer

Målanalys Belägenhetsadresser

Målanalys Belägenhetsadresser Målanalys Belägenhetsadresser ~ Slutrapport ~ 2003-10-23 Marianne Janning Utskrivet 2004-02-04 1(9) Innehåll INNEHÅLL 2 DELTAGARE I ARBETSGRUPPEN 3 INLEDNING 4 SAMMANFATTNING 4 SYFTE 4 Seminariernas mål

Läs mer

Examensarbeten vid civilingenjörsutbildningen i Energisystem. Information till företaget

Examensarbeten vid civilingenjörsutbildningen i Energisystem. Information till företaget Examensarbeten vid civilingenjörsutbildningen i Energisystem Information till företaget Förord Först ett tack för att vår civilingenjörsstudent får göra sitt examensarbete i Ert företag och under Er handledning.

Läs mer

Till dig som driver företag

Till dig som driver företag Till dig som driver företag Underlag för att arbeta med pilotsatsningen Finansiering av strategi för immateriella tillgångar för små och medelstora företag Framtagning av strategi för affärsstrategisk

Läs mer

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental. Lunds tekniska högskola Datavetenskap Lennart ndersson Föreläsningsanteckningar EDF10 4 Mängder 4.1 Motivering Mängden är den mest grundläggande diskreta strukturen. Nästan alla matematiska begrepp går

Läs mer

Hantera informationspaket i system för bevarande

Hantera informationspaket i system för bevarande Kompetensutveckling har erbjudits deltagare inom projektet Elektroniskt bevarande i form av en kurs i XML. Kursen har genomförts av Riksarkivet och haft en praktisk inriktning. Ett 10-tal personer deltog

Läs mer

Grafer. 1 Grafer. Grunder i matematik och logik (2015) 1.1 Oriktade grafer. Marco Kuhlmann

Grafer. 1 Grafer. Grunder i matematik och logik (2015) 1.1 Oriktade grafer. Marco Kuhlmann Marco Kuhlmann 1 En graf är en struktur av prickar förbundna med streck. Ett tidsenligt exempel på en sådan struktur är ett social nätverk, där prickarna motsvarar personer och en streck mellan två prickar

Läs mer

Väl godkänt (VG) Godkänt (G) Icke Godkänt (IG) Betyg

Väl godkänt (VG) Godkänt (G) Icke Godkänt (IG) Betyg Betygskriterier Examensuppsats 30 hp. Betygskriterier Tregradig betygsskala används med betygen icke godkänd (IG), godkänd (G) och väl godkänd (VG). VG - Lärandemål har uppfyllts i mycket hög utsträckning

Läs mer

extensible Markup Language

extensible Markup Language Datavetenskap Opponenter: Björn Olsson Andreas Svensson Respondenter: Sanaa Al-abuhalje Afrah Al-abuhalje XML extensible Markup Language Oppositionsrapport, C-nivå 2007:06 1 Sammanfattat omdöme av examensarbetet

Läs mer

Anmärkningar till formuläret för överklagande

Anmärkningar till formuläret för överklagande KONTORET FÖR HARMONISERING I DEN INRE MARKNADEN (KHIM) Varumärken och mönster Anmärkningar till formuläret för överklagande 1. Allmänna kommentarer 1.1 Användning av formuläret Formuläret kan erhållas

Läs mer

Fältnamn /Rubrik Fältnamn /Rubrik Fältnamn /Rubrik Fältnamn /Rubrik Data Data Data Data Data Data Data Data

Fältnamn /Rubrik Fältnamn /Rubrik Fältnamn /Rubrik Fältnamn /Rubrik Data Data Data Data Data Data Data Data Datahantering i Excel Grundbegrepp I alla typer av databaser finns alltid en tabell där informationen i databasen fysiskt finns lagrad. Tabellen har samma enkla uppbyggnad som en tabell i ordbehandlingsprogrammet

Läs mer

5HVLVWHQVWDEHOO 'DWD3DUWQHU. Er partner inom data

5HVLVWHQVWDEHOO 'DWD3DUWQHU. Er partner inom data 5HVLVWHQVWDEHOO Tack för att du valde programmet 5HVLVWHQVWDEHOO! Vi hoppas att programmet ska vara till stor hjälp i ditt arbete. Har du synpunkter på programmet är du mycket välkommen att höra av dig

Läs mer

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen ID1004 Objektorienterad programmering October 29, 2013 Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.

Läs mer

Tangentbord. Mike McBride Anne-Marie Mahfouf Översättare: Stefan Asserhäll

Tangentbord. Mike McBride Anne-Marie Mahfouf Översättare: Stefan Asserhäll Mike McBride Anne-Marie Mahfouf Översättare: Stefan Asserhäll 2 Innehåll 1 Fliken Hårdvara 4 2 Fliken Layouter 4 3 Fliken Avancerat 5 3 Den här modulen gör det möjligt att välja hur ditt tangentbord fungerar.

Läs mer

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet Föreläsning 13 Innehåll Algoritm 1: Sortera Exempel på problem där materialet i kursen används Histogramproblemet Schemaläggning Abstrakta datatyper Datastrukturer Att jämföra objekt Om tentamen Skriftlig

Läs mer

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik Först några definitioner: Alfabet = en ändlig mängd av tecken. Ex. {0, 1}, {a,b}, {a, b,..., ö} Betecknas ofta med symbolen Σ Sträng =

Läs mer

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 2. Explicita formler och rekursionsformler. Dag mötte vi flera talföljder,

Läs mer

a) 1 b) 4 a) b) c) c) 6 a) = 4 b) = 6 c) = 6 1. Hur många? Ringa in talet. 2. Vilket tal kommer efter? 4. Beräkna. 3. Hur många?

a) 1 b) 4 a) b) c) c) 6 a) = 4 b) = 6 c) = 6 1. Hur många? Ringa in talet. 2. Vilket tal kommer efter? 4. Beräkna. 3. Hur många? 1. Hur många? Ringa in talet. 2. Vilket tal kommer efter? Exempel a) 1 2 b) 4 5 a) b) c) c) 6 7 3. Hur många? 4. Beräkna. Exempel 1 + 2 = 3 a) 3 + 1 = 4 a) 4 b) 5 b) 4 + 2 = 6 c) 3 + 3 = 6 c) 3 d) 2 GILLA

Läs mer

BILAGOR. till. Förslag till Europaparlamentets och rådets direktiv

BILAGOR. till. Förslag till Europaparlamentets och rådets direktiv EURPEISKA KMMISSINEN Bryssel den 18.7.2014 CM(2014) 476 final ANNEXES 1 to 2 BILAGR till Förslag till Europaparlamentets och rådets direktiv om underlättande av gränsöverskridande informationsutbyte om

Läs mer

"Distributed Watchdog System"

Distributed Watchdog System Datavetenskap Emma Henriksson Ola Ekelund Oppositionsrapport på uppsatsen "Distributed Watchdog System" Oppositionsrapport, C-nivå 2005 1 Sammanfattande omdöme på exjobbet Projektet tycks ha varit av

Läs mer

Till flera av ovanstående finns det dessutom varianter, vilka kommer att presenteras i de olika avsnitten.

Till flera av ovanstående finns det dessutom varianter, vilka kommer att presenteras i de olika avsnitten. LINGUS32 Handledning Anne Börjesson Introduktion Lingus32 är ett program som främst är avsett att användas för att göra multimedia-baserade språkövningar. Programmet är skrivet för PC. Det finns möjlighet

Läs mer

WF 9 MAC Kom i Gång SV Sida 1 FOR BETTER UNDERSTANDING KOM I GÅNG.

WF 9 MAC Kom i Gång SV Sida 1 FOR BETTER UNDERSTANDING KOM I GÅNG. WF 9 MAC Kom i Gång SV 07-08-10 07.43 Sida 1 FOR BETTER UNDERSTANDING KOM I GÅNG www.wordfinder.se WF 9 MAC Kom i Gång SV 07-08-10 07.43 Sida 2 Tekniska förutsättningar WordFinder 9 Professional för Mac

Läs mer

Programmering = modellering

Programmering = modellering Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal

Läs mer

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor Abstrakta datatyper 1 Primitiva vektorer Vektorer kan skapas av primitiva datatyper, objektreferenser eller andra vektorer. Vektorer indexeras liksom i C från 0. För att referera en vektor används hakparenteser.

Läs mer

Föreläsning 5: Introduktion av pekare

Föreläsning 5: Introduktion av pekare Föreläsning 5: Introduktion av pekare Det bör påpekas att det som tas upp i introduktionen inte är reella exempel på kod. Man anväder inte pekare till att peka på enstaka heltal som i exemplen nedan, men

Läs mer

Relationsdatabasdesign

Relationsdatabasdesign Vad är Relationsdatabasdesign? Relationsdatabasdesign nikosd@kth.se 08-7904460 rum 8522 Connolly/Begg (3rd edition) Kapitel 4., 4.2 och 5 (4th edition) Kapitel 5., 5.2 och 6 (5th edition) Kapitel 6., 6.2

Läs mer

Lite om databasdesign och modellering

Lite om databasdesign och modellering Lite om databasdesign och modellering Konceptuell databasdesign Med konceptuell databasdesign avses processen att konstruera en datamodell för en verksamhet, oberoende av fysiska villkor. Modelleringen

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

NpMa2b Muntlig del vt 2012

NpMa2b Muntlig del vt 2012 Till eleven - Information inför den muntliga provdelen Du kommer att få en uppgift som du ska lösa skriftligt och sedan ska du presentera din lösning muntligt. Om du behöver får du ta hjälp av dina klasskamrater

Läs mer

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare Karlstads universitet 19-0 april Exempel på elevaktiviteter framtagna i skolutvecklingsprojektet IKT och lärande i matematik 1

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer