Uttrykkskraft for konseptuelle modelleringsspråk Metamodellering, ontologi

Like dokumenter
Meta- og språk-modellering

DRIFTSANALYSER 2012/2013 FORELØBIGE RESULTATER

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

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

Offentlig utvalg for punktskrift, OUP Norsk standard for 8-punktskrift punktskrift 24. oktober 2004 sist endret

! " # $ % & ^Pv`!$ x âîv7ç È'Ç È b j k Æ' z{3 b jkæ b ÇÈÉÊ&( )! c q r É. xy+ - Êlm l D E ` &! D E â î #" ' #$ '#! v( D/Ev A B x y&?

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

Tegn og tekst. Et representert tegn kan vises på flere måter. Noen definisjoner. Enda noen definisjoner. \yvind og ]se N{rb}? a a a.

Godkjenning av møteinnkalling

Målet med dette notatet er å dokumentere at det er funnet løsmasser ved grunnen og å dokumentere miljøgiftkonsentrasjonen i sedimentene.

Godkjenning av møteinnkalling

P ² Ö³, ƒ. ƒ μ² 1,. ƒô Ï,. Ô² Ô ³ 2. ƒ ŒŒ - Š ˆ ˆ ƒ ˆ Ÿ. ˆ Š œš ˆ ƒ. ƒ Š. ² μ Ê ² μ ± Ö ² μ Éμ Ö

Handi-Lift EA7 Målskjema

Handi-Lift EA7 Målskjema

'f( '?jfj(f{) Pa vegne av styret i Lenningen L(Ilypelag. Til Andelseiere og sponsorer i Lenningen L0ypelag!

PDF created with pdffactory Pro trial version

USER GUIDE. RRD Silencioso

STRATEGOS B. Målskjema. Serie nr.: Bruker Navn: Adresse: Kontaktpersoner. E-post: E-post: Levering Avd. Bruker Annet: Adresse:

L ; D = B M B N I < G H = D = F C M E N < D ; <? ; < = H M = < F E < M B = B C O P E < E F D < Q K

Testobservator for kjikvadrattester

Målskjema. Serie nr.: Bruker Navn: Adresse: Kontaktpersoner. E-post: E-post: Levering Adresse:

PDF created with pdffactory Pro trial version

Î Ö ØØ Ò Ú Ö

Ã Ô ½ Ë Ð Ô Ø Ô Ø Ð ØÖÙ ØÙÖ

Handi-Lift ML7 Målskjema

PDF created with pdffactory Pro trial version

A Study of Industrial, Component-Based Development, Ericsson

Tegn og tekst. Om tegn og glyfer. Tegnkoder og kodetabeller Kode Noe som representerer noe annet. Et representert tegn kan vises på flere måter

Dagens tema: INF2100. Utvidelser av Minila array-er. tegn og tekster. Flass- og Flokkode. prosedyrer. Prosjektet struktur. feilhåndtering.

ﺪ ﻩ ﻋﺍ ﻮﹶ ﻭ ﻗ ﻪ ﹾﻘ ﹾﻟ ﻔ ﺍ ﹺﻝ ﻮ ﹸﺃ ﺻ ﹸ ﻣ ﺔ ﻮﹸ ﻈ ﻣ ﻨ $ ﺡﺮﺷ! " ' (# $% & )*! +,!* -

Unicode. Unikt vakkert eller unisont håpløst? En vandring gjennom tegnkodingens historie. Dag Lamgmyhr, Ifi/UiO Ark 1 av 23

Dagens tema INF1070. Vektorer (array er) Tekster (string er) Adresser og pekere. Dynamisk allokering

Business modelling is not process modelling Gordijn/Akkermans/van Vliet. : Den fysiske ytring med kontekst og referanse

LED arbeidslys. Katalog Kontakt: Rakkestad Stavanger Side 1 12/02/17

Sascha Schubert Product Manager Data Mining SAS International Copyright 2006, SAS Institute Inc. All rights reserved.

Godkjenning av møteinnkalling

Netlife Sans er vår egen skrifttype. Den inneholder alle de visuelle elementene til identiteten vår. Den er tegnet i fire vekter, med en egen vekt

Dagens tema INF1070. Vektorer (array-er) Tekster (string-er) Adresser og pekere. Dynamisk allokering

Øystein Haugen, Professor, Computer Science MASTER THESES Professor Øystein Haugen, room D

Vektorer. Dagens tema. Deklarasjon. Bruk

Ó³ Ÿ , º 6Ä7(176Ä177).. 823Ä Œ. Œ ²±μ,,.. É ²,.. μ ²Ó,.. Íμ,.. ŠÊÉÊ μ,.. μ ±μ,.. ÒÏ

Sun StorEdge N8600 Filer

Kravspesifisering (2): Validering av kravspek er

buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata

Ò Ø Ø Ì Ð Ô Ó ÙØ ÝØØ ÍØ ÝØØ ÐÐ Ö Ø Ð Ô Ë ØØ ÙÐ ÑÔ Ö Ñ ÙØ ÝØØ Ú Ò Ò Ø Ó ØØ Ð ÒØ ÐÐ Ö Ð ÙØ ÐÐ Ö ÓÐ Ë Ò Ð Ö Ò Ñ ÙØ Ð Ò ÔÓÐ Ø

C C H. Forklar trippelbindingen ved betraktning av hybridisering av karbonatomene og atom- og molekylorbitaler.

Ì ÊÁË ÈÖÓ Ö Ñ ÜÔÐÓÖ Ö Ë ÓÒ ËØ ØÙ Ê ÔÓÖØ ÏÓÐ Ò Ë Ö Ò Ö ÏÓÐ Ò ºË Ö Ò ÖÖ º Ùº Ø Ê Ö ÁÒ Ø ØÙØ ÓÖ ËÝÑ ÓÐ ÓÑÔÙØ Ø ÓÒ ÊÁË µ ÂÓ ÒÒ Ã ÔÐ Ö ÍÒ Ú Ö ØÝ Ä ÒÞ Ù ØÖ

(a 1, a 2, a 3, a 4 ) ³Æ s 10. a 1 a 2 a 3 a 4 a 1 a 2 a 3 a 4. ( a 1 a 2 a 3 a 4 a 1 a 2 a 3 a 4) (a 1 a 2 a 3 a 4 a 1 a 2 a 3 a 4)

Ã Ô ½ Ë Ð Ô Ø Ô Ø Ð ØÖÙ ØÙÖ ¹ ÁÒ Ò ØØ

Innkalling er sendt til: Namn Funksjon Representerer

I# w ,F3<#""" wxy2t {r u v$ 0 Y 4 } ~ Â ` - é$8 UX#' ] d Ñ \ ] J. I \ ] O,+R:,!" {%O DM%M5#' ] J*CO!

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Tom Heine Nätt og Christian F. Heide. Datasikkerhet

r t = S t r t ; s = ½ T T

R, t. reference model. observed model 1 P

ÒÒÓÙÒ Ö Ñ Û Ø Ö Ù Ò ÝÐ ØØ Ò ÝÒ ÖÓÒ Þ ÌÖ Ò Ø ÓÒ ØÓÛ Ö Ø ÙÒ Ð Ø Ö Ð Ô Ö ÒØ Ö Þ Ö ÒØ º Ö Þ Ò ºÞ ÒØ Ö ÓÖ ÓÒÓÑ Ê Ö Ò Ö Ù Ø Ù Ø ÓÒ Ó ÖÐ ÍÒ Ú Ö ØÝ Þ Æ Ø ÓÒ Ð

Ë Ð Ô Ø Ä Ð Ö ÑÑ Ö ÑÐ ØØ Ò Ó ÓÖ Ò ÓÒ Ã Ô ØØ Ð ½ Ó ¾

INF5120 Modellbasert systemutvikling

Ã Ô ½ Ò Ò ÐÐ ØÖ

EKSAMEN I FAG SIF 8060 Modellering av Informasjonssystemer Mandag 21. mai 2001

Ã Ô Ø ÐÚ Ö ÑÓ ÐÐ Ò Ó ØÓÖÑÓ ÐÐ Ö Ã Ô ØØ Ð

Software applications developed for the maritime service at the Danish Meteorological Institute

Moving Objects. We need to move our objects in 3D space.

ˆ ˆŠ Œ ˆ ˆ Œ ƒ Ÿ Ÿ Œ œ ˆ ˆ Š Œ. .. ³μ. μ ± Ë ²Ó Ò Ö Ò Í É Å ˆˆ Ô± ³ É ²Ó μ Ë ±, μ, μ Ö Œ Œ ˆˆ 79 ˆ Š ˆ

INF2820 Datalingvistikk V2012. Jan Tore Lønning & Stephan Oepen

Innkalling er sendt til: Namn Funksjon Representerer

Call function of two parameters

Tegn og tekst. Posisjonssystemer. Logaritmer en kort repetisjon. Bitposisjoner og bitmønstre. Kapittel August 2008

v2w x y z { v2~ x x z x x x ƒ S F< E: >U V A C U C > h G T : U E T AAC > H C A r

Kvalitet av modelleringsspråk

Brukerkrav og use case diagrammer og -tekst 19. januar Agenda. Brukerkrav og use case. Diagrammer Tekst.

Emneevaluering GEOV272 V17

Ë Ò Ö Ä Ò ÇÖ Ø Ò È Õµ ʺ º Ö º ĺ ÖØ Ý ØÖ Ø ÓÑÔÐ Ø Ö Ø Ö Þ Ø ÓÒ Ó Ö ÙÐ Ø Ø Ö ÓÒØ Ò Ò Ë Ò Ö Ð Ò ÓÖ Ø Ú Òº Ì Ö Ø Ö Þ Ø ÓÒ Ð Ø ÓÖ Ø Ò ¹ Ô Ò ÙÔÓÒ ÑÓ Ð Ò È

Digital representasjon

Šˆ Ÿ Š Œ ˆˆ Ÿ ˆ Š ˆ Ÿ

S i d e : 1D a t o : 1 7 j u n i Ti d : 0 9 : 0 0 : 4 1

Case 1:11-cr RNS Document 781 Entered on FLSD Docket 03/27/2013 Page 1 of M a u u - g u 'a M M M u..a u i < < < < < < < < <.Q? <.t!

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

Sun StorEdge N8600 Filer

Managing Risk in Critical Railway Applications

ÇÚ Ö Ø ØÓÖ Ö ÓÑ ÔÚ Ö Ö ÓÔ ÓÒ Ò ÔÖ ÒÓÑ ÔÖ Ò Ö ØÖ Ö ÔÖ Ò Ú ÓÔ ÓÒ Ê ÓÒ ÝØÖ Ð ÔÖ Ò Ð ¹Ë ÓÐ ¹Å ÖØÓÒ Ëŵ

Velkommen til INF2100. Bakgrunnen for INF2100. Hva gjør en kompilator? Prosjektet. Jeg er Dag Langmyhr

ก ก. ก.. Website : ก ก ก ก ก

Fellesprosjekt: gruppe 214

P Šμ ²ÓÎʱ 1,.. μë μ 1,.. μ μ 2, Œ. ƒ. μ ±μ 2, ƒ. Œ. ± É 1 Œˆ Œ Œˆ Œˆ. ² μ Ê ² Diamonds and Related Materials ³ É, Ê

PRINCE2. Projects In Controlled Environments v2

P ²Êϱ 1,..Šμ ² ±μ 1,.. μ Î 1,2 ˆ ˆŸ. ² μ Ê ² μ Ì μ ÉÓ. É μ ±, Ì μé μ Ò É μ Ò ² μ Ö. ÍÒ Œμ ±μ ±μ μ μ Ê É μ μ Ê É É ³. Œ..

Public roadmap for information management, governance and exchange SINTEF

SAKSLISTE SIGDAL KOMMUNE

Prototyper og anbudsdokumentasjon. Jan Håvard Skjetne SINTEF / University of Melbourne Janhavard.skjetne@sintef.no

Oppgaveanalyse. Kjært navn har mange betydninger. Utgangspunkt i ergonomi, psykologi og SU Oppgave: målrettet handling på mange nivåer

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Teknologiworkshop /04

Digital representasjon

ˆ ˆŒˆ ˆŸ Š Œ ƒˆˆ 60Ä1000 ŒÔ ˆ ˆŠ ˆŸ Ÿ ˆ ˆ ˆ ˆ Š ˆ Š ˆŠˆ

Alle har en kreativ muskel

ST0202 Statistikk for samfunnsvitere

Datamaskinen LC-2. Dagens tema. Tall i datamaskiner Hvorfor kan LC-2 lagre tall i intervallet ? Hvorfor er det akkurat celler i lageret?

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Dagens tema. Datamaskinen LC-2 En kort repetisjon. Binære tall Litt om tallsystemer generelt. Binære tall. Heksadesimale og oktale tall

Transkript:

!#" $ % & ' () * + + %, -!. / 0 1 2 3 / 4 5 7 8 9 3 / : 8 5 5 / 3 ; ; < 8 = ; > ;? @ A @ B C 8 1 7 / 3 : / 3 5 D 8 3? C ; @ A E F GH % ", ' H %JI ' "K () LM / 7 < N 5 O / 1 : / 3 P 8 N P / = 8 Q Q8 3 7 1 4 LSR < 8 3 5 7 D / < 8 3 5 8 1 3 N Q8 D / 1 5 8 T 8 3 U V WX : 3 N Y / D N Z Uttrykkskraft for konseptuelle modelleringsspråk Metamodellering, ontologi L F 3 N \ ] ^ _ 7 Q ` a b c \ ] ^ _ d M 8 N E = 7 MetaEdit+ A Fully Configurable Multi-user and Multi- Tool CASE and CAME Environment L > / P 8 1 8 5 T 8 5 7: 7 D D P / = 8 Q Q 8 3 7 1 4 P 8 = M 8 N E = 7 Visual Domain-Specific- Modeling: Benefits and Experiences of Using Metacase Tools Meta.ppt 1 2, H " e -Kf % () () * + + %, -! L ; 1 8 8 1 D 8 Q T 8 3 5 T 8 D 7< = 8 D D 8 3 N Q Q8 Y 8 0 / < LM g Q 74 8 Qh 5 1 7 1 4 8 3 1 Bruke flere språk i samme verktøy, begrenset integrasjon (tidl. CASE-verktøy, Visio, ) 2 Utvid og integrer eksisterende språk (UML, PPP) 3 Lag helt nye språk 4 Verktøy for språk- og meta-modellering (Metaedit, Conceptbase) (lar brukeren utvide / endre / redefinere modelleringsspråk etter behov) LM 8 N P / = 8 Q Q / 4 5 i Y N 5 7 5 : / 3 i 5 N P P 8 1 Q 7 4 1 8 g Q 7 D 8 5 T 3 i D j k - % + #' - " $ % LM 8 N l 1 7< i 8 3 m 7 0 0 7 Q N Y 5 3 N D 5 O / 1 8 1 n D QN 5 5 7: 7 5 8 3 7 1 4 o LM 8 N l 1 7< i 8 3 Y 3 g D 7 P / = 8 Q Q 8 3 7 1 4 Instans: Forelesning 8, SIF 800, Ulrik Modell: Forelesning gis_i Fag tatt_av Student Metamodell: Entitetsklasse, Relasjonsklasse Meta-meta modell: Node, kant mellom noder L C T 3 i D P / = 8 Q Q < 5 P 8 N P / = 8 Q Q Semantisk språkbeskrivelse vs. basis for modell repository 3 4 kp$ % & 'Sf % " $ % & '!q() () * + + %, -! L A r T 7 5 D Y 3 g D N < 5 3 g D g 3 8 Q T 8 3 5 T 8 D 7< ER Andre semantiske datamodelleringsspråk UML (klassediagram) GOPRR (Graph Object Property Role Relationship) Ls 8 4 8 Q5 T 3 i D / : 8 5 g T T Q8 P 8 1 L > r 1 N P 75 D 8 P / = 8 Q Q8 3 / 4 5 i 5 g T T Q W A 7 Q5 N 1 = 5 = 7 N 4 3 N P t N D 7< 7 8 5 = 7N 4 3 N P P 8 3 u v * H - *,!qi % w ' ' " ' % f, () * x " $ % & ' y Lz g 1 4 8 l { N 1 = l { 8 Y 8 3 m R 1 / Q/ 4 75 D 3 N P P 8 < 8 3 D L ; F ; 9 W } m Y N 5 8 3 T i 8 D 5 75 8 3 8 1 = 8 5 T 3 i D Lp~ P N = 8 g 5 m M 8 N P / = 8 Q Q : / 3 5 T 3 i D 7 1 8 4 3 N 5 O / 1 LS > s m > 8 5 74 1 3 8 T 3 8 5 8 1 N 5 O / 1 P5 N 1 1 7= 5 : / D g 5 Petri-nett semantikk Lp~ s ; E C m = 7< 7 1 8 3 3 8 QN 8 3 8 P / = W 5 T 3 i D? g < 7 D Q 8 3 < 8 Q4 8 3 : 3 7 L g Q Q / 4 2 7 1 4 m M 8 N P / = 8 Q Q : / 3 5 8 P N 1 7 5 D 8 = N N l P / = 8 Q Q8 3 7 1 4 5 5 T 3 i D 5 1 1

- * ƒ % # x ˆK() () * + 7 8 ŠS Š SŒ k ŽK p 9 10 Š J Œ k JI + +! J, -! 11 12 2 2

² ± k (#() - +,! -, -! p š œp ž ŸS SŸ œ Ÿ œ œ Ÿ S œ p ª «««S «p pÿ Ÿ œ œ Ÿ Ÿ «S S œ «Ÿ Ÿ Participant knowledge Social actor interpretation Modeling domain Model externalization Language extension Technical actor interpretation 13 14 Œ *, ³ µ I + + wk S - f,! I % ƒ + #ŠI +, I " % - * ŠI +, + J SkpŒ# - *# J KKŒ# - H, % - () - C 8 < 8 1 2 8 Q Qr? 2 N Q Q 8 r r 7 1 8 1? M N 7 s / 5 5 7 p - - " LS¹ ~ C E l < 8 3 D h r g < 7 D Q 7 1 4 U ¹ ~ C E l ¹ / P T g 8 3 ~ 7= 8 = C r 5 8 PŠE 1 4 7 1 8 8 3 7 1 4 Z LS¹ ~ M E U ¹ / P T g 8 3 l ~ 7 = 8 = M 8 0 / = E 1 4 7 1 8 8 3 7 1 4 Z 5 / P 8 N Q 8 3 1 N 7< LSR < 8 3 5 7 D / < 8 3 M 8 N E = 7 LS R 9 s s 5 / PP 8 N P / = 8 Q Q8 3 7 1 4 5 5 T 3 i D LM 8 / = 8 < 8 3 D h r 7 M 8 N E = 7 LSR T T 5 g P P 8 3 7 1 4 / P M 8 N E = 7 Meta.ppt 15 1 J SkSŒq p (q$ I %, * *#kjw " (ºŒ -!, - %, -! LS» C 7 Q < 8 3 z g Q Q8» ¼ l N Q Q 8 Bedre produktivitet og kvalitet LM / = 8 Q Q l / 3 78 1 8 3 8 U C ~ t C >? 7 Q5 N 1 = 5 P / = 8 Q Q8 3? R R ~ t R R > Z L U s 74 7 = ½ Z : / D g 5 T i P 8 / = 8? / T T 4 N < 8 N g / P N 7 5 8 3 7 1 4 L @ / 8 1 < 8 3 D h r P 8 = P 8 N P / = 8 Q QN 3 D 7 8 D g 3 normalt utilgjengelig for brukerne Lz 3 g D P 7 1 = 3 8 8 1 1 < 8 1 8 Dyre verktøy Manglende modenhet Lite fleksible for endret infrastruktur ¾ OS, DB, Middleware, GUI Lz 3 g D P 7 1 = 3 8 Q h 1 1 5 / P8 1 1 < 8 1 8 k H ' % H *# J SkSŒ L C < N D t 5 N 75 D 7 1 8 4 3 N 5 O / 1 N < 5 g Y P / = 8 Q Q8 3 L > i 3 Q 7 4 : Q8 3 Y 3 g D 8 3 5 h 8 L > i 3 Q 7 4 5 h 8 : / 3 g Q 7 D 8 3 8 T 3 8 5 8 1 N 5 O / 1 5 : / 3 P 8 3 Diagrammer, matriser, tabeller, hypertekst LM N 1 4 Q8 1 = 8 D / Y Q 7 1 4 8 3 LM N 1 4 Q8 1 = 8 5 h 8 : / 3 8 < / Q g 5 O / 1 MetaCase: ConceptBase, RAMATIC, MetaEdit, METIS... L N À D 7 1 4 5 g T T / 3 : / 3 < N 3 r 7 1 4 7 1 8 3 8 5 l 4 3 / g T 5 17 18 3 3

Œ *, ³ L F Q 8 3 Y 3 g D 8 3 m Repository kan aksesseres av mange samtidig L F Q 8 3 l < 8 3 D h r m Mange ulike synsvinkler på samme modellobjekt L F Q 8 3 l P 8 / = 8 m Metodeintegrasjon, konsistenssjekking L F Q 8 3 l : / 3 P N m Mange representasjonsformer for samme modellobjekt L F Q 8 3 l 1 7< i m Støtter både analyse (IS) og design-metoder % ', ' I % ÁSÂ Ã Ä Å Æ Ã Ç È ÉÇ Ã Modellering Diagram editor Matrix editor Table editor Modellgjenfinning (modeller, meta-modeller) Repository browser Query editor Report editor Model-lenking, annotering Hypertext tool Debate Browser Metodestyring Metamodeling tool Symbol editor Verktøy-styring ÁSÌ Ã Í Î Ï ÉÄ Î Ð Ñ 19 20 GK S J () * +, -!q+ -! I! ÒSÓ Ô Ó Õ Ö Ø Ù Ú noder i diagram ÒÜ Ô Ü Ý Þ ß Ý Ù à Ú egenskaper for noder, relasjoner eller roller Òá Ô á âã Ù ä Þ å æ ç ä ß æ Ú Kanter (forbindelser) i diagram Òá Ô á Þ â æ Ú Hvordan objekter deltar i relasjoner Òè ã Ý é ä å ã â äù Ù ÒSê é å Ù äë ä ì ã Ù Þ Ý Ý Òí î é ä å æ Ù ã å æ Þ ï Ù à ß Ô å ä ð î ŽGK J p J J H, * + " K HKGK LS l 3 N T 0 U P / = 8 Q Z m aggregering av modellobjekter LS O 8 1 Y 3 g D N < 5 g Y P / = 8 Q Q8 3 L 2 N 1 0 N P N 1 4 8 3 8 T 3 8 5 8 1 N 5 O / 1 5 4 3 N : 8 3 : / 3 8 1 D / 1 5 8 T g 8 Q Q 4 3 N : LS 8 1 8 3 N Q 75 8 3 7 1 4 L 9 / Qr P / 3 : 7 L 4 O 8 1 Y 3 g D 8 P / = 8 Q Q l / Y O 8 D 8 3 7 1 P N 1 4 8 P / = 8 Q Q 8 3 Ls 8 4 Q8 3 : / 3 7 1 8 4 3 7 8 5 D / 1 3 / Q Q L E D 5 8 P T 8 Q m F 74 V? 5 W } ñ 21 22 * " w %, -! " H % ' v w L F Q 8 D 5 7 Y 8 Q / T T 3 8 7 1 4? 8 5 7 1 4 / 4 5 r 3 7 1 4 N < 1 r 8 P / = 8 Q Q8 3 7 1 4 5 5 T 3 i D L B Q 7 D 8 : 3 8 P 4 N 1 4 5 P i 8 3 Fra scratch komponentbasert gjenbruksorientert * ƒ w!!, -! LM 8 N P / = 8 Q Q < 8 3 D h r U g < 7 D Q8 R 9 s s l P / = 8 Q Q 8 3 Z L C r P Y / Q8 = 7 / 3 L > 8 : 7 1 8 3 8 3 8 4 Q8 3 : / 3 D / 1 5 7 5 8 1 5 5 O 8 D D LM 8 3 7 D D 8 3 / 4 5 N 75 7 D D 8 3 : / 3 i 8 < N Q g 8 3 8 5 T 3 i D D < N Q 7 8 fokus på kompleksitet 23 24 4 4

Ž - % %, -! L O 8 Q T LM 8 / = 8 5 h 8 Ls N T T / 3 8 3? D / = 8 GK$ $ " I (#() %, -! ÒSò ó à å ä ð î ô Ù Þ é æ ß æ äë ä ì ã æ Ö Þ å Òpõ ß å ã Ý ì äù ì Ù ö Ý ÒS ã ô Ù ä é ä ï ë â Ý Õ Ý ö ì Ý ã ì æ æ æ ÒSø ã å ï ë Þ â é ä ï ð Ý ì Ù ó à æ æ Ù Ù Òù â ì æ äõ â ä å Ù ï Ý ã æ Ö Þ å ÒS à ô ô Ù Ý äæ ì Õ ç ã å é â ä å ï ã ð ô Þ é â â Ý Þ ï ô Ù ã ô Þ é â â Ý ÒSú ë Ý é ä ï Repository Samtidighetskontroll Integrasjon med andre verktøy 25 2 J, " ' I " e - "J$ $! H L < N 8 3 g Q8 P T 8 3 < 8 = i Y 8 1 r 8 M 8 N P / = 8 Q Q8 3 7 1 4 5 < 8 3 D h r U 5 N 4 T i 8 1 N 1 1 8 1 P i 8? 0 < N 8 3 : / 3 = 8 Q8 3 < 8 = Y 3 g D N < P 8 3 3 N = 75 O / 1 8 Q Q 8 P / = 8 Q Q8 3 7 1 4 5 < 8 3 D h r 5 / P5 h 8 3 : / 3 8 D 5 8 P T 8 Q 5 N 1 = N 3 = B M Z ½ ûp, " I + (), - ks$ ü, f, ü# * +, -! ý - f, "K - *# þ $ %, - ü "K f I ", -!q() ü " + " ÿ z N 5 8 3 T i 8 1 T 3 8 5 8 1 N 7/ 1 N < C 8 < 8 1 2 8 Q Qr M 8 N ¹ N 5 8 ¹ / 1 5 g Q 7 1 4 27 Meta.ppt 28 p - - " L ; 1 3 / = g À 7/ 1 L {J0 N 7 5 = / P N 7 1 l 5 T 8 À 7: 7À P / = 8 Q 7 1 4 U > C M Z ½ Lqz 8 1 8 : 7 5 / : > C M L > C M À N 5 8 5 g = 78 5 Lq / p / 7P T Q 8 P 8 1 = / P N 7 1 l 5 T 8 À 7: 7 À P 8 0 / = 5 L > 8 P / 1 5 3 N 7 / 1 / : 8 N P T Q8 5 L C g P P N 3 r, "K* (), - " $ ü, f, ü)() * +, -! Ò ã ß Ù ö Ý æ é Þ ô ã ä å ì å Þ â é ï ã æ Þ ß ß Þ æ é Ù Þ Ø Þ é Uses domain abstractions Applies domain concepts and rules as modeling constructs Ò â â Þ æ é ð â Þ ß Ý æ Ù Þ é æ ä ï å ß Ý Þ é ö Ø Ù æ äù ç é Þ ô ã äå Ù Ý ô æ Apply familiar terminology Solve the RIGHT problems! Solve problems only ONCE! 29 30 5 5

, -qƒ - f, "K fp kp kp p " KkJ I * w u ', Òù ö å é ã ô å Ù ã â! " # "! $ " % # & % & '! ( ) Ô * + Ù ä ô æ Shorter intervals Lower costs Fewer people needed Òù ã æ Ù Ý Ø ç ã å ï Ý æ ß Þ å æ ä ð å æ æ Manage changes in domain instead of code Ò-, ð Ý ã ï. ß Ý Ù äæ äå æ ä é Ù ç Ù ã ô Put your expert s knowledge in a tool Ò0/ ò äé 1 é Þ ô ã ä å Ø Þ ô ß â. äù à DSM includes domain rules L > C M N 1 = 3 8 QN 8 = À / = 8 4 8 1 8 3 N / 3 5 : / 3 P / Y 7 Q 8 T 0 / 1 8 2 LSR 3 = 8 3 / : P N 4 1 7 g = 8 T 3 / = g À 7< 7 r 4 N 7 1 5 U 3 4 5 Z "A module that was expected to take 2 weeks... took 1 day from the start of the design to the finished product" L F / À g 5 / 1 = 8 5 7 4 1 5 3 N 0 8 3 0 N 1 À / = 8 Domain-oriented method allows developers to concentrate on the required functionality L A 3 N 7 1 7 1 4 7P 8 N 5 3 8 = g À 8 = 5 74 1 7: 7À N 1 Qr Earlier it took months for a new worker to become productive. Now it takes 2 weeks * MetaCase, Nokia case study, 1999 31 32 kp p " KkJ I * w 7 I ü - kp p " KkJ I * w k Š Ò08 9 Ü ç Þ å äù Ø ç : ÒS ð Ý ã â ; ø æ ÒSÓ å ; ø Ø ã â â é á ; Ú æ ß Ø äë à ä å ï Ø Þ å ë ä ï ö Ý ã Ù ä Þ å Ø Þ å Ù Ý Þ â ö å äù æ ã å é Ý â ã Ù ä Þ å æ ç ä ß æ Õ Ù å Ù ç ô Translation to state machines Translation to C Òá ß Þ Ý Ù é ß Ý Þ é ö Ø Ù ä ð äù à ä ô ß Ý Þ ð ô å Ù æ Þ ë < =! >? @ A! " % & ( From several cases From several DSMs L > 8 < 8 Q/ T P 8 1 / : P 8 5 5 N 4 8 3 N 1 5 QN 7/ 1 N 1 = < N Q 7 = N 7/ 1 5 r 5 8 P U M A B Z 2 L > 8 À QN 3 N 7< 8 = / P N 7 1 l 5 T 8 À 7: 7 À QN 1 4 g N 4 8 L0C À / = 8 4 8 1 8 3 N / 3 5 N 1 = À g 5 / P 7 D N 7/ 1 / : À / P T / 1 8 1 5 ¹ / P T N 3 8 = > C M N 4 N 7 1 5 À / P T / 1 8 1 l Y N 5 8 = = 8 < 8 Q/ T P 8 1 m L > C M 7 5 E b F G a H I c H b a J 0 N 1 À / = 8 À / P T / 1 8 1 5 L > C M Q 8 N = 5 / I a K a J a J J L J H m N Y / g M ¼ NŠQ8 5 5 L > C M 4 7 < 8 5 n H O P a J F L J I Q a 5 F R F Q F b S 7 1 0 N 1 = Q 7 1 4 N 4 3 8 N 8 3 3 N 1 4 8 / : 5 T 8 À 7: 7 À N 7 / 1 5 o 0 N 1 À / P T / 1 8 1 5 * D. Weiss et al, Software Product-Line Engineering, Addison-Wesley * Kieburtz et al., A Software Engineering Experiment in Software Component Generation, ICSE 33 34 q, (q$ + () - J kp T U V W X Y m f i j n j k o g j l j f j ˆ X Y X ^ _ \ Z \ W ] ` a U b c d s t u v w x yz v { } ~ w y ƒ Easy! m f g n o i g j k n g f q j r m f g n o i p f q j r e f q j j i j n k o f i Generate calls to components e f g h f i j i k r o n Š e f g h f i j i k l q, (q$ + () - J kp Œ Ž ; 1 < 8 5 P 8 1 m L > 8 : 7 1 8 P 8 N P / = 8 Q : / 3 0 8 = / P N 7 1 About 1-2 man-weeks Lqz g 7 Q= / / Q 5 g T T / 3 1 man-day for building a modeling tool 9 N r Y N À D m L)~ T T Qr 7 1 5 / : N 3 8 T 3 / = g À 7/ 1 œ ž Ÿ š š œ Ÿ š 35 3

L Å Å Å Å L È Æ k $ "Šf %, (q$ + () -, -! kp Rules Generators 1 Concepts 2 3 Symbols 4 ˆ x ",! -)* (), -)ü - ü $ " LqM N T P / = 8 Q 7 1 4 À / 1 À 8 T 5 N À À g 3 N 8 Qr / = / P N 7 1 À / 1 À 8 T 5 L#¹ / 1 À 8 1 3 N 8 / 1 5 8 P N 1 7À 5 L)~ = = 8 8 1 5 7/ 1 5 : / 3 5 / : N 3 8 T 3 / = g À 7/ 1 Q N 8 3 Lqs 8 : Q8 À / / g T g U 8 W 4 W 4 8 1 8 3 N 8 = À / = 8 Z L 2 8 8 T 7 1 P 7 1 = 0 8 8 1 = l g 5 8 3 U g 5 8 3 l : 3 78 1 = Q 7 1 8 5 5 / : 0 8 > C M Z 37 38 () * + +, -!#ü - ü $ "K f ŽGK J p * + % ü, ü I % É ý w) k G GKŽ-Ì Concepts raph ª bject ` roperty «ole «elationship Rules, e.g. Max 1 Min 1 Unique, etc Links between models Reuse rules GOPRR Domain language Concepts Rules Symbols Reports Product specifications Metametamodel ¾µ º ¹ ± ¾³ º ¾±Ç ² µ± ³ ¹ º ² ³ Metamodel» ¼±±³ ½ µ ¾ Model InstanceOf  ³ à InstanceOf System in operation  ³ º à ¾ ¼±±³ Ä Sets InstanceOf InstanceOf À µ Á 39 40 Ž x f, - K* (), -#% I + " L > 8 : 7 1 8 5 8 P N 1 7À 5 N 1 = 3 g Q8 5 N 5 0 8 r 8 75 7 1 0 8 = / P N 7 1 Í x J% µ" w (qƒ + "É -, - Ì L > 8 : 7 1 8 5 r P Y / Q5 7 Q Q g 5 3 N 7 1 4 N 5 8 Q Q N 5 T / 5 5 7 Y Q 8 0 8 À / 3 3 8 5 T / 1 = 7 1 4 = / P N 7 1 À / 1 À 8 T 5» 1 N g 3 N Q o < 7 5 g N Q 7 D N 7/ 1 o e.g end-users notation, customers notation @ / N 7 / 1 5 / : = 7 N 4 3 N P 5? P N 3 7 8 5? N Y Q8 5? : / 3 P 5? 8 8 À W E N P T Q 8 5 / : 3 g Q8 r T 8 5 m Bindings between concepts Layering abstractions Reusing rules etc. 41 42 7 7

Î x (q$ + () -! - % % " L A 0 8 À / 5 / : = 8 < 8 Q/ T 7 1 4 0 8 À / = 8 4 8 1 8 3 N 7/ 1 7 5 = 8 : 3 N r 8 = / < 8 3 N : 8 g 5 8 3 5 L {J3 7 8 3 8 T / 3 = 8 : 7 1 7 7/ 1 5 Y N 5 8 = / 1 = / P N 7 1 À / 1 À 8 T 5 m Component use Code generation Configuration data Review etc. Š$ $ + w), -)" f Š % #$ % * I ü, - L > 8 < 8 Q/ T N T T Q 7À N 7/ 1 5 U = / P N 7 1 7 1 5 N 1 À 8 5 Z g 5 7 1 4 0 8 > C M 7 1 : 3 N 5 3 g À g 3 8 L 9 3 / / r T 8 r / g 3 = 8 5 74 1 Ï 3 8 : 7 1 8 N 1 = 7 8 3 N 8 43 44 Œ þ (q$ + f % ( ü *, -!#q() * +, -! f, -, -! () () * + 45 4 * +, -! K, )* (), -)ü - ü $ " kji (#() % w L > / P N 7 1 l 5 T 8 À 7: 7 À P / = 8 Q 7 1 4 3 N = 7À N Q Qr 7P T 3 / < 8 5 T 3 / = g À 7< 7 r U M l } ¼ Z L > C M Q 8 < 8 3 N 4 8 5 8 T 8 3 = 8 < 8 Q / T 8 3 5» N Y 7 Q 7 78 5 / 8 P T / 8 3 / 0 8 3 = 8 < 8 Q / T 8 3 5 7 1 N 8 N P LqM 8 N ¹ ~ C E / / Q 5 T 3 / < 7= 8 N À / 5 l 8 : : 8 À 7< 8 N r / À 3 8 N 8 > C M 7 1 : 3 N 5 3 g À g 3 8 Lqz g 7 Q= 7 1 4 > C M 75 4 3 8 N : g 1 : / 3 8 T 8 3 5 U Y g 7 5 N Q5 / 0 N 3 = Z Ð Ñ Ò 47 48 8 8