INF5120 Modellbasert Systemutvikling Modelbased System development

Size: px
Start display at page:

Download "INF5120 Modellbasert Systemutvikling Modelbased System development"

Transcription

1 INF5120 Modellbasert Systemutviklig Modelbased System developmet Lecture 7: Are-Jørge Berre or Telecom ad Iformatics 1

2 Cotet Itroductio to Metamodels ad UML Profiles Itroductio to Eclipse, EMF ad Sirius Group presetatios for Oblig 1 Telecom ad Iformatics 2

3 Course parts (16 lectures) Jauary February (1-7) (BAE/WebRatio): MDE-1: Itroductio to INF5120 MDE-2: Modelig structure ad behaviour (UML ad UML 2.0 ad metamodelig) ( B. Hjelle) BAE-1: Busiess Architecture Busiess Model Cavas - Strategyzer tool. SAE-1: WebRatio for Mobile App developmet (Get a App up ad ruig!) BAE-2: Essece, Scrum, User stories ad Use cases 2.0, Backlog, with Someoe BAE-3: BPMN process, VDML ad UML Activ.Diagrams, (MD/EA, Smaply ad Balsamiq) BAE-4: Service Desig, AT ONE,Touchpoits, UI, UX, Smaply ad Balsamiq (Amela, Raghild) Oblig 1: BA Spec, WebRatio App1 (idividual) (ed of February, March 7 th ), Agile Scrum March (8,9,10) (MDE/IFML/Cliet-Side): MDE-3: Model drive egieerig Metamodels, DSL, UML Profiles, EMF, Sirius Editors SAE-2: IFML Iteractio Flow Modelig Laguage, WebRatio advaced MDE-4: DSLs MOFScript, ATL Eclipse Sirius, trasformatio techologies Oblig 2: Sirius DSL Editor for IFML +/- (idivual), WebRatio/IFML App2 UI (simple) (ed of March, April 11 th ) April (11,12,13) (SAE/UML/Server-side): SAE-3: WebRatio Server side ad IFML, Data models/uml, Architecture patters SAE-4: UML Service Modelig, ServiceML,SoaML, UML 2.0 Compositio, MagicDraw SAE-5: No Fuctioal requiremets OCL ad PLaguage Oblig 3: SA Spec (More models), WebRatio/IFML App 3 Server (ed of April, May 2 d ) May (14,15,16): (Brigig it together) SAE-6: Fial WebRatio App demo ad discussio day (May 2 d ) MDE-5: Eterprise Architecture, TOGAF, UPDM, SysML DSLs etc. Big picture MDE-6: Coclusios/Summary of the course Exam (4 hours), (Jue 6 th ) Telecom ad Iformatics 3

4 OMG Model-Drive Architecture (MDA) Telecom ad Iformatics 4

5 Model-drive a defiitio A system developmet process is model-drive if the developmet is maily carried out usig coceptual models at differet levels of abstractio ad usig various viewpoits it distiguishes clearly betwee platform idepedet ad platform specific models models play a fudametal role, ot oly i the iitial developmet phase, but also i maiteace, reuse ad further developmet models documet the relatios betwee various models, thereby providig a precise foudatio for refiemet as well as trasformatio Telecom ad Iformatics 5

6 MDA From Feet J2EE.Net A PIM ca be retargeted to differet platforms Not the oly reaso why MDA might be of iterest to you Telecom ad Iformatics 6

7 Automatio i Software Developmet Requiremet s Maually implemet Requiremet s Maually implemet Requiremet s Maually implemet Source i domai-specific laguage (DSL) High-level spec (fuctioal ad ofuctioal) Source i domai-specific laguage (DSL) Implemet with Iteractive, automated support Compile Compile Source i a geeral-purpose laguage, e.g., Java or C++ (may geerate code i Java or C++) (may geerate code i Java or C++) Compile Compile Compile Implemetatio Implemetatio Implemetatio Telecom ad Iformatics 7

8 Basic MDA Patter PIM Trasformatio PSM Additioal iformatio Model markup Geeric trasformatio Geeric trasformatios Implemet best practices, architectural ad desig patters, techology patters (e.g., J3EE patters), optimizatios, etc. Additioal iformatio Adjust the trasformatio globally Similar to compiler optios Model markup Direct the trasformatio of particular model elemets Not part of the PIM Differet platform mappigs may require differet markup Similar to compiler pragmas Telecom ad Iformatics 8

9 Goals The three primary goals of MDA are portability, iteroperability ad reusability. The MDA starts with the well-kow ad log established idea of separatig the specificatio of the operatio of the system from the details of the way the system uses the capabilities of its software executio platform (e.g. JEE, CORBA, Microsoft.NET ad Web services). MDA provides a approach for: specifyig a system idepedetly of the software executio platform that supports it; specifyig software executio platforms; choosig a particular software executio platform for the system; trasformig the system specificatio ito oe for a particular software executio platform; Telecom ad Iformatics 9

10 Basic cocepts System Existig or plaed system. System may iclude aythig: a program, a sigle computer system, some combiatio of parts of differet systems Model A model of a system is a descriptio or specificatio of that system ad its eviromet for some certai purpose. A model is ofte preseted as a combiatio of drawigs ad text. Architecture The architecture of a system is a specificatio of the parts ad coectors of the system ad the rules for the iteractios of the parts usig the coectors. MDA prescribes certai kids of models to be used, how those models may be prepared ad the relatioships of the differet kids of models. Viewpoit A viewpoit o a system is a techique for abstractio usig a selected set of architectural cocepts ad structurig rules, i order to focus o particular cocers withi that system. View A viewpoit model or view of a system is a represetatio of that system from the perspective of a chose viewpoit. Platform A platform is a set of subsystems ad techologies that provide a coheret set of fuctioality through iterfaces ad specified usage patters, which ay applicatio supported by that platform ca use without cocer for the details of how the fuctioality provided by the platform is implemeted. Telecom ad Iformatics 10

11 MDA Three mai abstractio levels Computatio idepedet model (CIM) The computatioal idepedet viewpoit is focused o the eviromet of the system ad o the specific requiremets of the system. A CIM represets the computatioal idepedet viewpoit. The CIM hides the structural details ad, of course, the details related to the targeted platform. Platform idepedet model (PIM) A platform idepedet model is a view of the system from a platform idepedet viewpoit. The platform idepedet viewpoit is focused o the operatio of the system, hidig the platform specific details. A PIM exhibits platform idepedece ad is suitable for use with a umber of differet platforms of similar types. The PIM gathers all the iformatio eeded to describe the behaviour of the system i a platform idepedet way. Platform specific model (PSM) A platform specific model is a view of the system from the platform specific viewpoit. A PSM combies the specificatios i the PIM with the details that specify how the system uses a particular type of platform. The PSM represets the PIM takig ito accout the specific platform characteristics. Telecom ad Iformatics 11

12 Model-drive developmet (MDD) Model trasformatio Model trasformatio CIM PIM Busiess Cotext Models Software Specificatio Models PSM Software Realisatio Models Model-drive approach to system egieerig where models are used i uderstadig desig costructio deploymet operatio maiteace modificatio Model trasformatio tools ad services are used to alig the differet models. Busiess-drive approach to system egieerig where models are refied from busiess eeds to software solutios Computatio idepedet model (CIM) capturig busiess cotext ad busiess requiremets Platform idepedet model (PIM) focusig o software services idepedet of IT techology Platform specific model (PSM) focusig o the IT techology realisatio of the software services Telecom ad Iformatics 12

13 Basic MDA Patter The basic patter ca be applied multiple times PIMs ad PSMs are relative otios Someoe s PIM ca be someoe else s PSM Platform idepedece is relative, too It s a scopig issue It s a strategic decisio Telecom ad Iformatics 13

14 Role of Models Capture desig iformatio that is usually abset from code ad lost durig developmet Basis for System geeratio Aalysis Simulatio Test geeratio Documetatio geeratio Domai-specificity of a modelig laguage stregthes its capabilities for geeratio, optimizatio, early error detectio, etc. Telecom ad Iformatics 14

15 Viewpoits ad Views System models are orgaized ito multiple views Differet abstractio levels Differet aspects (e.g., workflow, domai cocepts, deploymet) Each view coforms to some viewpoit that prescribes some appropriate modelig otatio Each viewpoit is relevat to some stakeholder Telecom ad Iformatics 15

16 May differet views Telecom ad Iformatics 16

17 MDA-Related Stadards OMG Stadards Modelig UML Metamodelig MOF Actio sematics Model iterchage XMI Diagram iterchage Huma-readable textual otatio HUTN Model-based testig ad debuggig (CWM) Java Commuity Process (JCP) Stadard Java Metadata Iterface JMI Telecom ad Iformatics 17

18 Beefits of MDA Preservig the ivestmet i kowledge Idepedet of implemetatio platform Tacit kowledge made explicit Speed of developmet Most of the implemetatio is geerated Quality of implemetatio Experts provide trasformatio templates Maiteace ad documetatio Desig ad aalysis models are ot abadoed after writig 100% traceability from specificatio to implemetatio Telecom ad Iformatics 18

19 Domai specific modellig laguages Specific to a domai More focussed purpose Usable by the domai experts More productive tha geeral purpose If properly desiged ad tooled! UML profiles vs. DSL Telecom ad Iformatics 19

20 Assigig Meaig to Models If a model is o loger just facy pictures to decorate your room a graphical sytax for C++/Java/C#/Eiffel... The tools must be able to maipulate models Let s make a model of what a model is! => meta-modelig & meta-meta-modelig.. Use Meta-Object Facility (MOF) to avoid ifiite Meta-recursio {ordered} +subtype Geeralizes 0..* +supertype 0..1 {ordered} 0..* +cotaier +cotaiedelemet Cotais Namespace GeeralizableElemet 0..* ModelElemet Feature BehavioralFeature +costraiedelemet 1..* Costrait StructuralFeature Costrais 0..* Package Classifier Operatio Referece MofAttribute 0..* +referet RefersTo DataType Class Associatio 1 +refereceded AssociatioEd Telecom ad Iformatics

21 UML2 meta-model (part., OMG) Telecom ad Iformatics

22 Geeralizatios NB: Tell you othig about: geeralizatio beig acyclic, or sematics of dyamic bidig * Telecom ad Iformatics OMG

23 The 4 layers i practice Telecom ad Iformatics OMG

24 Comparig Abstract Sytax Systems M 3 Techology #1 Techology #2 (formal grammars (MOF + OCL) attribute grammars, etc.) EBNF MOF Techology #3 (XML Meta-Laguage) A XML DTD Or Schema Techology #4 (Otology egieerig) Upper Level Otologies M 2 Pascal Laguage Grammar The UML meta-model A XML documet A XML DTD or Schema KIF Theories M 1 A specific Pascal Program A specific executio of a Pascal program A Specific UML Model A Specific pheomeo correspodig to a UML Model A XML documet + Xlik, Xpath, XSLT + RDF, OIL, DAML + etc. [XMI=MOF+XML+OCL] +Descriptio Logics +Coceptual Graphs +etc. Telecom ad Iformatics

25 Model-Drive Architecture coformsto meta Metametamodel Metametamodel elemet MOF M3 meta coformsto M2 Metamodel elemet Metamodel Relatioal metamodel UML metamodel meta coformsto System repof M1 Model elemet Model Telecom ad Iformatics 25

26 Model-Drive Architecture: Example MOF Metametamodel Associatio source destiatio Class coformsto coformsto Relatioal Metamodel Table Colum + col * ame: Strig+ ower ame: Strig * {ordered} + keyof 1..* + key * Type + type ame: Strig coformsto System repof BookId Relatioal Model Title PagesNb AuthorId Book Telecom ad Iformatics 26

27 MDA techology stadards Uified Modelig Laguage (UML) UML is the de-facto stadard idustry laguage for specifyig ad desigig software systems. UML addresses the modellig of architecture ad desig aspects of software systems by providig laguage costructs for describig, software compoets, objects, data, iterfaces, iteractios, activities etc. Meta Object Facility (MOF) MOF provides the stadard modellig ad iterchage costructs that are used i MDA. These costructs are a subset of the UML modellig costructs. This commo foudatio provides the basis for model/metadata iterchage ad iteroperability. XML Metadata Iterchage (XMI) XMI is a format to represet models i a structured text form. I this way UML models ad MOF metamodels may be iterchaged betwee differet modellig tools. Commo Warehouse Metamodel (CWM) CWM is the OMG data warehouse stadard. It covers the full life cycle of desigig, buildig ad maagig data warehouse applicatios ad supports maagemet of the life cycle. MOF Queries/View/Trasformatios (QVT) The goals of the QVT are to provide a stadard specificatio of a laguage suitable for queryig ad trasformig models which are represeted accordig to a MOF metamodel. Telecom ad Iformatics 27

28 How does MDD work? Developer develops model(s) based o certai metamodel(s). Model Model Model Metamodel Usig code geeratio templates, the model is trasformed to executable code. Optioally, the geerated code is merged with maually writte code. Trasformer Model Traformatio Rules Metamodel optioal, ca be repeated Oe or more model-to-model trasformatio steps may precede code geeratio. Trasformer Code Geeratio Templates Geerated Code Maually Writte Code optioal Telecom ad Iformatics 28

29 OMG MOF ad metamodellig Telecom ad Iformatics 29

30 Fragmets of a UML metamodel UML Telecom ad Iformatics 30

31 Three stages i the evolutio of modellig techiques at the OMG. (a) (b) (c) UML MOF MOF amodel UML UML SPEM Workflow etc. amodel UML_for_CORBA Commo Warehouse Metadata amodel Actio laguage Telecom ad Iformatics 31

32 Egyptia architecture M 3 meta-meta model The MOF M 1 M 2 metamodel model The UML meta-model ad other MM s Some UML models ad other M s Various usages of these models M 0 the real world" Telecom ad Iformatics 32

33 Illustratio Java MM Package MOF Class Associatio UML MM M3 Iterface Package Class exteds Class Associatio M2 Presetatio Participat Java program Participat listes Presetatio UML model M1 Telecom ad Iformatics 33

34 The three modellig levels M 3 level the MOF MMM M 2 level the UPM MM (SPEM) the UML MM the CWM MM CCM EDOC etc. M 1 level a UML model m aother UML model m M 0 level a particular use of m aother use of m Telecom ad Iformatics 34

35 Model -> Metamodel etity meta-etity UML MM relatioship Class 1 * Attribute model meta-model relatioship UML model Cliet Name: Strig Telecom ad Iformatics 35

36 Metamodel -> Meta-metamodel MOF etity meta-etity relatioship model meta-model Class source destiatio Associatio relatioship UML MM Class 1 * Attribute Telecom ad Iformatics 36

37 0..* Cotais ModelElemet /Depeds O 1..* Costrais 1..* AttachesTo MOF Model (M3) 0..* 0..* Import Namespace Tag{ordered} 0..* Costrait TypedElemet 0..* Aliases 0..* IsOfType 0..* +typedelemet GeeralizableElemet Geeralizes Feature Costat StructureField Parameter Package +type1 Classifier BehaviouralFeature StructuralFeature AssociatioEd /Exposes 1 1 ReferesTo Associatio Class DataType 0..* Operatio Exceptio Attribute Referece 0..* CaRaise 0..* {ordered} PrimitiveType StructureType EumeratioType CollectioType AliasType Telecom ad Iformatics 37

38 Goals & Challeges Goals: We eed a ed-to-ed tool chai that allows us to build models, verify them ad geerate various artefacts from them. All of this should happe i a homogeeous eviromet, amely Eclipse. Challeges: Good Editors for your models Verifyig the models as you build them Trasformig/Modifyig models Geeratig Code Itegratig geerated ad o-geerated code Telecom ad Iformatics 38

39 Applied metamodellig Telecom ad Iformatics 39

40 Metamodels A metamodel is just aother model (e.g. writte i UML) Model of a set of models Metamodels are specificatios Models are valid if o false statemets accordig to metamodel (e.g. well-formed) Metamodels typically represets domai-specific models (real-time systems, safety critical systems, e-busiess) The domai of metamodellig is laguage defiitio A metamodel is a model of some part of a laguage Which part depeds o how the metamodel is to be used Parts: sytax, sematics, views/diagrams,... Meta-metamodel Model of metamodels Reflexive metamodel, i.e., expressed usig itself Miimal reflexive metamodel Telecom ad Iformatics 40

41 What is a metamodel? I its broadest sese, a metamodel is a model of a modellig laguage. The term meta meas trascedig or above, emphasisig the fact that a metamodel describes a modellig laguage at a higher level of abstractio tha the modellig laguage itself. I order to uderstad what a metamodel is, it is useful to uderstad the differece betwee a metamodel ad a model. Whilst a metamodel is also a model, a metamodel has two mai distiguishig characteristics. Firstly, it must capture the essetial features ad properties of the laguage that is beig modelled. Thus, a metamodel should be capable of describig a laguage s cocrete sytax, abstract sytax ad sematics. Secodly, a metamodel must be part of a metamodel architecture. Just as we ca use metamodels to describe the valid models or programs permitted by a laguage, a metamodel architecture eables a metamodel to be viewed as a model, which itself is described by aother metamodel. This allows all metamodels to be described by a sigle metamodel. This sigle metamodel, sometimes kow as a meta-metamodel, is the key to metamodellig as it eables all modellig laguages to be described i a uified way. Telecom ad Iformatics 41

42 Why metamodel? System developmet is fudametally based o the use of laguages to capture ad relate differet aspects of the problem domai. The beefit of metamodellig is its ability to describe these laguages i a uified way. This meas that the laguages ca be uiformly maaged ad maipulated thus tacklig the problem of laguage diversity. For istace, mappigs ca be costructed betwee ay umber of laguages provided that they are described i the same metamodellig laguage. Aother beefit is the ability to defie sematically rich laguages that abstract from implemetatio specific techologies ad focus o the problem domai at had. Usig metamodels, may differet abstractios ca be defied ad combied to create ew laguages that are specifically tailored for a particular applicatio domai. Productivity is greatly improved as a result. Telecom ad Iformatics 42

43 Uses for a metamodel Defie the sytax ad sematics of a laguage. Explai the laguage. Compare laguages rigorously. Specify requiremets for a tool for the laguage. Specify a laguage to be used i a meta-tool. Eable iterchage betwee tools. Eable mappig betwee models. Telecom ad Iformatics 43

44 The metamodellig process There is a clearly defied process to costructig metamodels, which does at least make the task a well-defied, if iterative, process. The process has the followig basic steps: defiig abstract sytax defiig well-formedess rules ad meta-operatios defiig cocrete sytax defiig sematics costructig mappigs to other laguages Telecom ad Iformatics 44

45 Abstract sytax The metamodel describes the abstract sytax of a laguage. The abstract sytax of a laguage describes the vocabulary of cocepts provided by the laguage ad how they may be combied to create models. It cosists of a defiitio of the cocepts, the relatioships that exist betwee cocepts ad well-formedess rules that state how the cocepts may be legally combied. Telecom ad Iformatics 45

46 Cocrete sytax visual A visual sytax presets a model or program i a diagrammatical form. A visual sytax cosists of a umber of graphical icos that represet views o a uderlyig model. A good example of a visual sytax is a class diagram, which provides graphical icos for class models. The visual sytax show i the figure (left) is particularly good at presetig a overview of the relatioships ad cocepts i a model. Telecom ad Iformatics 46

47 Cocrete sytax textual A textual sytax eables models or programs to be described i a structured textual form. A textual sytax ca take may forms, but typically cosists of a mixture of declaratios, which declare specific objects ad variables to be available, ad expressios, which state properties relatig to the declared objects ad variables. The followig Java code illustrates a textual sytax that icludes a class with a local attribute declaratio ad a method with a retur expressio: Telecom ad Iformatics 47

48 Challeges facig developers Complexity Diversity Chage Telecom ad Iformatics 48

49 Laguage-drive developmet Providig the solutio Executio Aalysis allows the model or program to be tested, ru ad deployed provides iformatio of the properties of models ad programs Testig Visualisatio support for both geeratig test cases ad validatig them must be provided may laguages have a graphical sytax, ad support must be provided for this via the user iterface to the laguage Parsig if a laguage has a textual sytax, a meas must be provided for readig i expressios writte i the laguage Traslatio laguages do t exist i isolatio. They are typically coected together whether it is doe iformally or automatically through code geeratio or compilatio Itegratio it is ofte useful to be able to itegrate features from oe model or program ito aother, e.g. through the use of cofiguratio maagemet. Telecom ad Iformatics 49

50 Laguage egieerig ad metamodellig I order to be able to egieer laguages, we eed a laguage for capturig, describig ad maipulatig all aspects of laguages i a uified ad sematically rich way. This laguage is called a metamodellig laguage. Metamodels (models of laguages) are the primary meas by which laguage egieerig artefacts are expressed, ad are therefore the foudatio for laguage-drive developmet. Telecom ad Iformatics 50

51 Sematics A abstract sytax coveys little iformatio about what the cocepts i a laguage actually mea. Therefore, additioal iformatio is eeded i order to capture the sematics of a laguage. Defiig a sematics for a laguage is importat i order to be clear about what the laguage represets ad meas. Otherwise, assumptios may be made about the laguage that lead to its icorrect use. For istace, although we may have a ituitive uderstadig of what is meat by a state machie, it is likely that the detailed sematics of the laguage will be ope to misiterpretatio if they are ot defied precisely. What exactly is a state? What does it mea for trasitio to occur? What happes if two trasitios leave the same state. Which will be chose? All these questios should be captured by the sematics of the laguage. Telecom ad Iformatics 51

52 Laguage Egieerig with Eclipse Modelig Framework (EMF) Telecom ad Iformatics 52

53 The Laguage Egieer resposibilities Telecom ad Iformatics 53

54 Metamodel developmet Uderstadig of cocepts ad requiremets Iitial requiremets Cocepts Partitioig of the metamodel ito structures Architectural style Documet the metamodel ad develop it i EMF (.ecore) 1. Metamodel Scope, cocepts, style 4. Feedback Add, remove, ad modify cocepts 2. DSL ad/or UML profile Create cocrete sytax (graphics) 3. Test Evaluate i user scearios Telecom ad Iformatics 54

55 Characteristics for metamodel Suited for target roles Support domai cocepts ad scearios of target roles Ease-of-use ad uderstadable for busiess modeller (use terms) Support precise details ad correctess for solutio architect Avoid uecessary complexity Keep it simple stupid (KISS) Number of elemets ad associatios Type ad avigatio of associatios Make it modular Provide core with extesios Defie ad illustrate possible subsets ( dialects ) that support scearios Cosider itegratio ad extesio poits Suited for implemetatio EMF represetatio Trasformatio from/to UML profile Trasformatio to PSM Telecom ad Iformatics 55

56 Techology overview OMG MDA specificatio Eclipse techology Commets MOF UML EMF UML UML profile/dsl QVT MOF2TExt SPEM XMI GEF GMF ATL, MOFScript MOFScript EPF EMF Telecom ad Iformatics 56

57 MDA-compliat Eclipse techologies Sirius Eclipse Modelig Tools: Eclipse Modelig Framework (EMF) EMF is a modelig framework ad code geeratio facility for buildig tools ad other applicatios based o a structured data model. Eclipse Graphical Editig Framework (GEF) The Graphical Editig Framework (GEF) allows developers to take a existig applicatio model ad quickly create a rich graphical editor. Eclipse Graphical Modelig Framework (GMF) The Eclipse Graphical Modelig Framework (GMF) provides a geerative compoet ad rutime ifrastructure for developig graphical editors based o EMF ad GEF. Eugeia EuGENia is a tool that automatically geerates the.gmfgraph,.gmftool ad.gmfmap models eeded to implemet a GMF editor from a sigle aotated Ecore metamodel Atlas Trasformatio Laguage The ATL project aims at providig a set of trasformatio tools for GMT. These iclude some sample ATL trasformatios, a ATL trasformatio egie, ad a IDE for ATL (ADT: ATL Developmet Tools). Eclipse Process Framework (EPF) To provide a extesible framework ad exemplary tools for software process egieerig - method ad process authorig, library maagemet, cofigurig ad publishig a process. Telecom ad Iformatics 57

58 EMF Eclipse Modelig Framework Uifyig Java, XML ad (almost) UML EMF models are essetially simplified UML Class Diagrams EMF geerates Java code based o these models Stadard serializatio is i the form of XMI EMF is MDA o traiig wheels Telecom ad Iformatics 58

59 EMF Models ad Ecore Ecore is the model used to represet EMF models Ecore is also a EMF model ad therefore its ow metamodel Ad its ow meta-meta-.-model, but ever mid Available elemets are: EClass EAttributes EReferece EDataType EEum, EEum Literal EPackage EOperatio, EParameter Coceptually equal to OMGs Essetial MOF (EMOF) Telecom ad Iformatics 59

60 Creatig your model Ca be defied i three ways Java XML Schema Directly maipulate the model (the almost UML way) Both Java ad XML Schema approach builds a EMF model Editig the model ca be doe with the EMF tree editor or the GMF graphical editor It is also possible to import Ratioal Rose (.mdl) files Telecom ad Iformatics 60

61 3 shades of EMF Ecore model Geerated Java files Creatio of a istace Book book = LibraryFactory.eINSTANCE.createBook(); book.settitle( How to be a meta role model ); Telecom ad Iformatics 61

62 GMF The Eclipse Graphical Modelig Framework (GMF) project is a ope source project uder the Eclipse Techology Project Ifrastructure ad compoets for developig visual desig ad modelig surfaces i Eclipse UML editors Busiess process editors Etc.. GMF forms a geerative bridge betwee EMF ad GEF A diagram defiitio (GEF) will be liked to a domai model (EMF) as iput to the geeratio of a visual editor Telecom ad Iformatics 62

63 GMF Graphical Modelig Framework Utilizes EMF ad GEF to support geeratio of graphical editors GEF Graphical Editig Framework Basic idea: Brig your ow model Defie diagram otatio Defie your tools Map model elemets to diagram elemets Geerate editor Metamodel = Abstract Sytax Diagram otatio = Cocrete Sytax Telecom ad Iformatics 63

64 Simplified workflow Telecom ad Iformatics 64

65 UML profiles Telecom ad Iformatics 65

66 UML profiles They allow us to adapt the UML laguage to the eeds of the aalysts or the applicatio domai Allows desigers to model usig applicatio domai cocepts. There are three extesio mechaisms: Stereotypes Restrictios Tagged values Telecom ad Iformatics 66

67 Stereotype Exteds the vocabulary of UML with ew costructio elemets derived from existig UML but specific to a problem domai Ca have associated restrictios ad tagged values Possibility of assigig a ico for a better graphical represetatio DB Parters Telecom ad Iformatics 67

68 Restrictio Is a sematical coditio represeted by a textual expressio Imposes some kid of coditio or requisite o the elemet to which it is applied OCL Object Costrait Laguage {A iterface does ot have attributes, oly operatios} Telecom ad Iformatics 68

69 Tagged value Is a property associated to a model elemet Used to store iformatio about the elemet Maagemet iformatio, documetatio, codig parameters,... Geerally, the tools store this iformatio but it is ot show i the diagrams Telecom ad Iformatics 69

70 Metamodels ad profiles model <-> meta-model relatioship extesio relatioship MOF M3 UML process geeric Meta-model M2 UML Real-time UML For J2EE Migratio orieted process Meta-model Workflow Meta-model real-time model migratio model Workflow model M1 Telecom ad Iformatics 70

71 Domai-specific laguages (DSLs) Telecom ad Iformatics 71

72 UML oe size fits all? While the OMG MDA promotes UML as the visual uiversal glue suitable for modellig everythig, we are also seeig a tred towards developmet ad co-existece of several domai-specific modellig laguages, e.g. supported by the Microsoft Domai-Specific Laguage (DSL) tools ( Such approaches are ow also beig discussed i various OMG forums. UML is see as a geeral-purpose laguage while DSLs may be more expressive for most purposes. A model-drive framework eeds to ackowledge the existece of differet models ad views expressed i differet modellig laguages. The MDA techologies ca help us to alig these models through a commo metamodellig laguage o which model trasformatios ad model mappigs ca be defied. Telecom ad Iformatics 72

73 Software factory The Software Factories Web site ( defies the term Software Factory i the followig way: A Software Factory is a software product lie that cofigures extesible developmet tools like Visual Studio Team System with packaged cotet like DSLs, patters, frameworks ad guidace, based o recipes for buildig specific kids of applicatios. For example, we might set up a Software Factory for thi cliet Customer Relatioship Maagemet (CRM) applicatios usig the.net framework, C#, the Microsoft Busiess Framework, Microsoft SQL Server, ad the Microsoft Host Itegratio Server. Equipped with this factory, we could rapidly puch out a edless variety of CRM applicatios, each cotaiig uique features based o the uique requiremets of specific customers. Better yet, we could use this factory to create a ecosystem, by makig it available to third parties, who could exted it to rapidly build CRM applicatios icorporatig their value added extesios. Telecom ad Iformatics 73

74 UML ad DSLs The issue of the role of UML is ofte stated i overly simplistic terms: MDD advocates the use of UML for all domai modellig while the Software Factories approach advocates that UML ever used. This is a icorrect statemet of the positios of both camps. While the MDD approach treats UML, with customizatio, as the modellig laguage of choice for most applicatio modellig, it also ackowledges the value of custom laguages i certai specialized circumstaces. This is the purpose of the OMG Meta-Object Facility (MOF) stadard that plays a importat role i MDD. UML itself is defied usig MOF ad there are MOF defiitios of may other laguages. The MDD approach ackowledges the value of o-uml DSLs as a techique to be applied judiciously. Further, the Software Factories approach does ot reject UML etirely. It suggests that you use UML for developig sketches ad documetatio, where DSLs should be used for developig models from which code is geerated. Telecom ad Iformatics 74

75 Advatages of usig UML profiles UML is a ope stadard modellig laguage for which there are may available books ad traiig courses. UML profiles provide a lightweight approach that is easily implemeted usig readily available UML toolig. Models with UML profiles applied ca be read by all UML tools eve if they do ot have ay kowledge of the profile. Basig all DSLs o UML creates a set of related laguages that share commo cocepts. UML ca be used for high-level architectural models as well as detailed models from which code ca be geerated. Telecom ad Iformatics 75

76 Disadvatages of usig UML profiles UML profiles oly permit a limited amout of customizatio. It is ot possible to itroduce ew modellig cocepts that caot be expressed by extedig existig UML elemets. The use of UML does require familiarity with modellig cocepts. Telecom ad Iformatics 76

77 Example Metamodels UML Use case Metamodel BPMN Metamodel IFML Metamodel Oblig 3 Visual Service Jourey laguage Telecom ad Iformatics 77

78 UML Use Case Metamodel Telecom ad Iformatics 78

79 BPMN Metamodel Telecom ad Iformatics 79

80 BPMN Defiitios Telecom ad Iformatics 80

81 IFML Metamodel Telecom ad Iformatics 81

82 Oblig 2 Use of Eclipse EMF ad SIRIUS for your selected modelig laguage/diagram techique Telecom ad Iformatics 82

83 Scope Maager metamodel Telecom ad Iformatics 83

84 Dictioary metamodel Telecom ad Iformatics 84

85 Some historic refereces [Atkiso ad Kühe 2003] C. Atkiso ad T. Kühe, "Model-Drive Developmet: A Metamodelig Foudatio", IEEE Software, vol. 20, o. 5, pp , [Clark, et al. 2004] T. Clark, A. Evas, P. Sammut, ad J. Willas, "Applied Metamodellig - A Foudatio for Laguage Drive Developmet, Versio 0.1", [Seidewitz 2003] E. Seidewitz, "What Models Mea", IEEE Software, vol. 20, o. 5, pp , [Swithibak, et al. 2005] P. Swithibak, M. Chessell, T. Garder, C. Griffi, J. Ma, H. Wylie, ad L. Yusuf, "Patters: Model-Drive Developmet Usig IBM Ratioal Software Architect", IBM, Redbooks, December Telecom ad Iformatics 85

86 Next lecture - Moday March 14th, 2016 Lecture o IFML ad use of WebRatio Mobile platform Delivery deadlie for Oblig 1 Presetatio of Oblig 2 Eclipse/Sirius ad CitiZese App Demostratio of Eclipse, EMF ad Sirius Telecom ad Iformatics 86

INF5120 Modellbasert Systemutvikling Modelbased System development

INF5120 Modellbasert Systemutvikling Modelbased System development INF5120 Modellbasert Systemutvikling Modelbased System development Lecture 12: 03.04.2017 Arne-Jørgen Berre arneb@ifi.uio.no or Arne.J.Berre@sintef.no Telecom and Informatics 1 Content Introduction to

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

INF5120 Modelbased System development

INF5120 Modelbased System development INF5120 Modelbased System development Lecture 12: 16.04.2018 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no Telecom and Informatics 1 Course parts (16 lectures) - 2018 Part I-a -(Introduction

More information

INF5120 Modellbasert Systemutvikling Modelbased System development

INF5120 Modellbasert Systemutvikling Modelbased System development INF5120 Modellbasert Systemutvikling Modelbased System development Lecture 10: 23.03.2015 Arne-Jørgen Berre arneb@ifi.uio.no or Arne.J.Berre@sintef.no Telecom and Informatics 1 INF5120 - Lecture plan -

More information

INF5120 Model-Based System Development

INF5120 Model-Based System Development INF5120 Model-Based System Development Lecture #3: Metamodelling and UML profiles, MDA technologies 04 February 2008 Brian Elvesæter, SINTEF 1 Outline Model-driven interoperability (MDI) framework MDA

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

1 Enterprise Modeler

1 Enterprise Modeler 1 Eterprise Modeler Itroductio I BaaERP, a Busiess Cotrol Model ad a Eterprise Structure Model for multi-site cofiguratios are itroduced. Eterprise Structure Model Busiess Cotrol Models Busiess Fuctio

More information

INF5120 Modellbasert Systemutvikling Modelbased System development

INF5120 Modellbasert Systemutvikling Modelbased System development INF5120 Modellbasert Systemutvikling Modelbased System development Lecture 7: 25.02.2013 Arne-Jørgen Berre arneb@ifi.uio.no or Arne.J.Berre@sintef.no INF5120 - Lecture plan - 2013 1 (14/1): Introduction

More information

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs Dyamic Aalysis ad Desig Patter Detectio i Java Programs Outlie Lei Hu Kamra Sartipi {hul4, sartipi}@mcmasterca Departmet of Computig ad Software McMaster Uiversity Caada Motivatio Research Problem Defiitio

More information

Goals of the Lecture UML Implementation Diagrams

Goals of the Lecture UML Implementation Diagrams Goals of the Lecture UML Implemetatio Diagrams Object-Orieted Aalysis ad Desig - Fall 1998 Preset UML Diagrams useful for implemetatio Provide examples Next Lecture Ð A variety of topics o mappig from

More information

INF Lecture plan

INF Lecture plan INF5120 Modellbasert Systemutvikling Modelbased System development Lecture 2: 01.02.2010 Metamodeling and UML profiles Arne-Jørgen Berre Brian Elvesæter ICT 1 INF5120 - Lecture plan - 2010 1: 25/1: Introduction

More information

Modeling a Software Architecture. Paolo Ciancarini

Modeling a Software Architecture. Paolo Ciancarini Modelig a Software Architecture Paolo Ciacarii Ageda Describig software architectures Architectural frameworks Models based o architectural laguages Models based o UML Mai architectural views 2 Why documet

More information

Service Oriented Enterprise Architecture and Service Oriented Enterprise

Service Oriented Enterprise Architecture and Service Oriented Enterprise Approved for Public Release Distributio Ulimited Case Number: 09-2786 The 23 rd Ope Group Eterprise Practitioers Coferece Service Orieted Eterprise ad Service Orieted Eterprise Ya Zhao, PhD Pricipal, MITRE

More information

Data Warehousing. Paper

Data Warehousing. Paper Data Warehousig Paper 28-25 Implemetig a fiacial balace scorecard o top of SAP R/3, usig CFO Visio as iterface. Ida Carapelle & Sophie De Baets, SOLID Parters, Brussels, Belgium (EUROPE) ABSTRACT Fiacial

More information

Architectural styles for software systems The client-server style

Architectural styles for software systems The client-server style Architectural styles for software systems The cliet-server style Prof. Paolo Ciacarii Software Architecture CdL M Iformatica Uiversità di Bologa Ageda Cliet server style CS two tiers CS three tiers CS

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists

More information

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method A ew Morphological 3D Shape Decompositio: Grayscale Iterframe Iterpolatio Method D.. Vizireau Politehica Uiversity Bucharest, Romaia ae@comm.pub.ro R. M. Udrea Politehica Uiversity Bucharest, Romaia mihea@comm.pub.ro

More information

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III GE2112 - FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III PROBLEM SOLVING AND OFFICE APPLICATION SOFTWARE Plaig the Computer Program Purpose Algorithm Flow Charts Pseudocode -Applicatio Software Packages-

More information

Today s objectives. CSE401: Introduction to Compiler Construction. What is a compiler? Administrative Details. Why study compilers?

Today s objectives. CSE401: Introduction to Compiler Construction. What is a compiler? Administrative Details. Why study compilers? CSE401: Itroductio to Compiler Costructio Larry Ruzzo Sprig 2004 Today s objectives Admiistrative details Defie compilers ad why we study them Defie the high-level structure of compilers Associate specific

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 19 Query Optimizatio Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Query optimizatio Coducted by a query optimizer i a DBMS Goal:

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 26 Ehaced Data Models: Itroductio to Active, Temporal, Spatial, Multimedia, ad Deductive Databases Copyright 2016 Ramez Elmasri ad Shamkat B.

More information

Software Architecture. Paolo Ciancarini

Software Architecture. Paolo Ciancarini Software Architecture Paolo Ciacarii Ageda Software Architecture: defiitios ad stadards The stadard IEEE 1471 ad its successors Architectural frameworks Architectural assets 2 What is the role of architecture??

More information

Customer Portal Quick Reference User Guide

Customer Portal Quick Reference User Guide Customer Portal Quick Referece User Guide Overview This user guide is iteded for FM Approvals customers usig the Approval Iformatio Maagemet (AIM) customer portal to track their active projects. AIM is

More information

Goals of this Lecture Activity Diagram Example

Goals of this Lecture Activity Diagram Example Goals of this Lecture Activity Diagram Example Object-Orieted Aalysis ad Desig - Fall 998 Preset a example activity diagram Ð Relate to requiremets, use cases, ad class diagrams Also, respod to a questio

More information

Baan Tools User Management

Baan Tools User Management Baa Tools User Maagemet Module Procedure UP008A US Documetiformatio Documet Documet code : UP008A US Documet group : User Documetatio Documet title : User Maagemet Applicatio/Package : Baa Tools Editio

More information

Human-Computer Interaction IS4300

Human-Computer Interaction IS4300 Huma-Computer Iteractio IS4300 1 I5 due ext class Your missio i this exercise is to implemet a very simple Java paitig applicatio. The app must support the followig fuctios: Draw curves, specified by a

More information

BEA Tuxedo. Creating CORBA Server Applications

BEA Tuxedo. Creating CORBA Server Applications BEA Tuxedo Creatig CORBA Server Applicatios BEA Tuxedo Release 8.0 Documet Editio 8.0 Jue 2001 Copyright Copyright 2001 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software ad documetatio

More information

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work

More information

COP4020 Programming Languages. Compilers and Interpreters Prof. Robert van Engelen

COP4020 Programming Languages. Compilers and Interpreters Prof. Robert van Engelen COP4020 mig Laguages Compilers ad Iterpreters Prof. Robert va Egele Overview Commo compiler ad iterpreter cofiguratios Virtual machies Itegrated developmet eviromets Compiler phases Lexical aalysis Sytax

More information

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software Structurig Redudacy for Fault Tolerace CSE 598D: Fault Tolerat Software What do we wat to achieve? Versios Damage Assessmet Versio 1 Error Detectio Iputs Versio 2 Voter Outputs State Restoratio Cotiued

More information

Interactive PMCube Explorer

Interactive PMCube Explorer Iteractive PMCube Explorer Documetatio ad User Maual Thomas Vogelgesag Carl vo Ossietzky Uiversität Oldeburg December 9, 206 Cotets Itroductio 3 2 Applicatio Overview 4 3 Data Preparatio 6 3. Data Warehouse

More information

Baan Finance Financial Statements

Baan Finance Financial Statements Baa Fiace Fiacial Statemets Module Procedure UP041A US Documetiformatio Documet Documet code : UP041A US Documet group : User Documetatio Documet title : Fiacial Statemets Applicatio/Package : Baa Fiace

More information

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 5 Fuctios for All Subtasks Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 5.1 void Fuctios 5.2 Call-By-Referece Parameters 5.3 Usig Procedural Abstractio 5.4 Testig ad Debuggig

More information

n Explore virtualization concepts n Become familiar with cloud concepts

n Explore virtualization concepts n Become familiar with cloud concepts Chapter Objectives Explore virtualizatio cocepts Become familiar with cloud cocepts Chapter #15: Architecture ad Desig 2 Hypervisor Virtualizatio ad cloud services are becomig commo eterprise tools to

More information

System and Software Architecture Description (SSAD)

System and Software Architecture Description (SSAD) System ad Software Architecture Descriptio (SSAD) Diabetes Health Platform Team #6 Jasmie Berry (Cliet) Veerav Naidu (Project Maager) Mukai Nog (Architect) Steve South (IV&V) Vijaya Prabhakara (Quality

More information

One advantage that SONAR has over any other music-sequencing product I ve worked

One advantage that SONAR has over any other music-sequencing product I ve worked *gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig

More information

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 4 Procedural Abstractio ad Fuctios That Retur a Value Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 4.1 Top-Dow Desig 4.2 Predefied Fuctios 4.3 Programmer-Defied Fuctios 4.4

More information

Generic Model Management: Experiences and Open Questions

Generic Model Management: Experiences and Open Questions Geeric Model Maagemet: Experieces ad Ope Questios Sergey Melik Leipzig Uiversity / Staford Uiversity Supervisor: Erhard Rahm Goal: Reduce amout of programmig for buildig metadata-drive applicatios Model

More information

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013 Code Review s Authors: Mika V. Mätylä ad Casper Lasseius Origial versio: 4 Sep, 2007 Made available olie: 24 April, 2013 This documet cotais further details of the code review defects preseted i [1]. of

More information

POMA: A Pattern-Oriented and Model-Driven Architecture

POMA: A Pattern-Oriented and Model-Driven Architecture Joural Title: Software - Practice ad Experiece POMA: A Patter-Orieted ad Model-Drive Architecture Mohamed Taleb (, 2), Ahmed Seffah () ad Alai Abra (2) () Huma-Cetered Software Egieerig Group Departmet

More information

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1 COSC 1P03 Ch 7 Recursio Itroductio to Data Structures 8.1 COSC 1P03 Recursio Recursio I Mathematics factorial Fiboacci umbers defie ifiite set with fiite defiitio I Computer Sciece sytax rules fiite defiitio,

More information

VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION. Thomas Wiedemann

VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION. Thomas Wiedemann Proceedigs of the 2000 Witer Simulatio Coferece J. A. Joies, R. R. Barto, K. Kag, ad P. A. Fishwick, eds. VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION Thomas Wiedema Techical

More information

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis Overview Chapter 6 Writig a Program Bjare Stroustrup Some thoughts o software developmet The idea of a calculator Usig a grammar Expressio evaluatio Program orgaizatio www.stroustrup.com/programmig 3 Buildig

More information

Chapter 3 DB-Gateways

Chapter 3 DB-Gateways Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 3 DB-Gateways Outlie Couplig DBMS ad programmig laguages approaches requiremets

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

Avid Interplay Bundle

Avid Interplay Bundle Avid Iterplay Budle Versio 2.5 Cofigurator ReadMe Overview This documet provides a overview of Iterplay Budle v2.5 ad describes how to ru the Iterplay Budle cofiguratio tool. Iterplay Budle v2.5 refers

More information

Goals of the Lecture Object Constraint Language

Goals of the Lecture Object Constraint Language Goals of the Lecture Object Costrait Laguage Object-Orieted Aalysis ad Desig - Fall 1998 Preset the Object Costrait Laguage Ð As best as possible, with the limited iformatio available from UML i a Nutshell

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

Interactive Systems Engineering: A Pattern-Oriented and Model-Driven Architecture

Interactive Systems Engineering: A Pattern-Oriented and Model-Driven Architecture Iteractive Systems Egieerig: A Patter-Orieted ad Model-Drive Architecture M. Taleb Huma-Cetred Software Egieerig, Group Cocordia Uiversity, Motreal, Quebec, Caada Telephoe: +1 514 848 2424 ext 7166 mtaleb@ecs.cocordia.ca

More information

BOOLEAN MATHEMATICS: GENERAL THEORY

BOOLEAN MATHEMATICS: GENERAL THEORY CHAPTER 3 BOOLEAN MATHEMATICS: GENERAL THEORY 3.1 ISOMORPHIC PROPERTIES The ame Boolea Arithmetic was chose because it was discovered that literal Boolea Algebra could have a isomorphic umerical aspect.

More information

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen COP4020 Programmig Laguages Fuctioal Programmig Prof. Robert va Egele Overview What is fuctioal programmig? Historical origis of fuctioal programmig Fuctioal programmig today Cocepts of fuctioal programmig

More information

Modern Systems Analysis and Design Seventh Edition

Modern Systems Analysis and Design Seventh Edition Moder Systems Aalysis ad Desig Seveth Editio Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Desigig Databases Learig Objectives ü Cocisely defie each of the followig key database desig terms: relatio,

More information

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods.

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods. Software developmet of compoets for complex sigal aalysis o the example of adaptive recursive estimatio methods. SIMON BOYMANN, RALPH MASCHOTTA, SILKE LEHMANN, DUNJA STEUER Istitute of Biomedical Egieerig

More information

Solutions to Final COMS W4115 Programming Languages and Translators Monday, May 4, :10-5:25pm, 309 Havemeyer

Solutions to Final COMS W4115 Programming Languages and Translators Monday, May 4, :10-5:25pm, 309 Havemeyer Departmet of Computer ciece Columbia Uiversity olutios to Fial COM W45 Programmig Laguages ad Traslators Moday, May 4, 2009 4:0-5:25pm, 309 Havemeyer Closed book, o aids. Do questios 5. Each questio is

More information

IncorporatingCluster-BasedRelationshipsin Web Rule Language

IncorporatingCluster-BasedRelationshipsin Web Rule Language IcorporatigCluster-BasedRelatioshipsi Web Rule Laguage Mala Mehrotra Pragati Syergetic ResearchIc. Cupertio. CA mm@pragati-ic.com http://www.pragati-ic.com 1 Itroductio The Sematic Web visio requires rule-based

More information

Last class. n Scheme. n Equality testing. n eq? vs. equal? n Higher-order functions. n map, foldr, foldl. n Tail recursion

Last class. n Scheme. n Equality testing. n eq? vs. equal? n Higher-order functions. n map, foldr, foldl. n Tail recursion Aoucemets HW6 due today HW7 is out A team assigmet Submitty page will be up toight Fuctioal correctess: 75%, Commets : 25% Last class Equality testig eq? vs. equal? Higher-order fuctios map, foldr, foldl

More information

BEA WebLogic Process Integrator

BEA WebLogic Process Integrator BEA WebLogic Process Itegrator A Compoet of BEA WebLogic Itegratio BEA WebLogic Process Itegrator Studio Olie Help BEA WebLogic Process Itegrator Release 2.0 Documet Editio 2.0 July 2001 Copyright Copyright

More information

BEA Tuxedo. Creating CORBA Client Applications

BEA Tuxedo. Creating CORBA Client Applications BEA Tuxedo Creatig CORBA Cliet Applicatios BEA Tuxedo 8.0 Documet Editio 8.0 Jue 2001 Copyright Copyright 2001 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software ad documetatio

More information

Software Evolution. Software Engineering HS 16. Thomas Fritz & Martin Glinz

Software Evolution. Software Engineering HS 16. Thomas Fritz & Martin Glinz Software Egieerig HS 16 Software Evolutio Thomas Fritz & Marti Gliz May thaks to H. Gall, K. Kevic, M. Alle, V. Razmov, M. Laza, D. Shepherd, M. Felici, G. Murphy Learig Goals By the ed of this uit, you

More information

Web OS Switch Software

Web OS Switch Software Web OS Switch Software BBI Quick Guide Nortel Networks Part Number: 213164, Revisio A, July 2000 50 Great Oaks Boulevard Sa Jose, Califoria 95119 408-360-5500 Mai 408-360-5501 Fax www.orteletworks.com

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

Introduction to Pattern Oriented Analysis and Design (POAD) Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU

Introduction to Pattern Oriented Analysis and Design (POAD) Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU Itroductio to Patter Orieted Aalysis ad Desig (POAD) Istructor: Dr. Hay H. Ammar Dept. of Computer Sciece ad Electrical Egieerig, WVU Outlie Review of Desig Patters The Lifecycle of a Patter Examples of

More information

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3

More information

BEA WebLogic XML/Non-XML Translator

BEA WebLogic XML/Non-XML Translator BEA WebLogic XML/No-XML Traslator A Compoet of BEA WebLogic Itegratio Plug-I Guide BEA WebLogic XML/No-XML Traslator Release 2.0 Documet Editio 2.0 July 2001 Copyright Copyright 2001 BEA Systems, Ic. All

More information

ENTERPRISE ARCHITECTURE TRAINING COURSES to-tonex ( ) International: Fax:

ENTERPRISE ARCHITECTURE TRAINING COURSES to-tonex ( ) International: Fax: ENTERPRISE ARCHITECTURE TRAINING COURSES 1-888-to-toex (1-888-868-6639) Iteratioal: 1-972-735-8686 Fax: 1-972-692-7492 w w w.t o ex.com TONEX Global Traiig Courses & Semiars Customizatio is Our Secret

More information

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis

More information

Oracle Process Manufacturing

Oracle Process Manufacturing Oracle Process Maufacturig Product Developmet Recipe API User s Guide Release 11i Part No. A97387-04 Jauary 2005 Oracle Process Maufacturig Product Developmet Recipe API User s Guide, Release 11i Part

More information

Abstract. Chapter 4 Computation. Overview 8/13/18. Bjarne Stroustrup Note:

Abstract. Chapter 4 Computation. Overview 8/13/18. Bjarne Stroustrup   Note: Chapter 4 Computatio Bjare Stroustrup www.stroustrup.com/programmig Abstract Today, I ll preset the basics of computatio. I particular, we ll discuss expressios, how to iterate over a series of values

More information

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,

More information

Panel for Adobe Premiere Pro CC Partner Solution

Panel for Adobe Premiere Pro CC Partner Solution Pael for Adobe Premiere Pro CC Itegratio for more efficiecy The makes video editig simple, fast ad coveiet. The itegrated pael gives users immediate access to all medialoopster features iside Adobe Premiere

More information

CS 11 C track: lecture 1

CS 11 C track: lecture 1 CS 11 C track: lecture 1 Prelimiaries Need a CMS cluster accout http://acctreq.cms.caltech.edu/cgi-bi/request.cgi Need to kow UNIX IMSS tutorial liked from track home page Track home page: http://courses.cms.caltech.edu/courses/cs11/material

More information

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control EE 459/500 HDL Based Digital Desig with Programmable Logic Lecture 13 Cotrol ad Sequecig: Hardwired ad Microprogrammed Cotrol Refereces: Chapter s 4,5 from textbook Chapter 7 of M.M. Mao ad C.R. Kime,

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

Adaptive Software Engineering G Session 9 - Main Theme Software Engineering Tools Primer. Dr. Jean-Claude Franchitti

Adaptive Software Engineering G Session 9 - Main Theme Software Engineering Tools Primer. Dr. Jean-Claude Franchitti Adaptive Software Egieerig G22.2440-001 Sessio 9 - Mai Theme Software Egieerig Tools Primer Dr. Jea-Claude Frachitti New York Uiversity Computer Sciece Departmet Courat Istitute of Mathematical Scieces

More information

SCI Reflective Memory

SCI Reflective Memory Embedded SCI Solutios SCI Reflective Memory (Experimetal) Atle Vesterkjær Dolphi Itercoect Solutios AS Olaf Helsets vei 6, N-0621 Oslo, Norway Phoe: (47) 23 16 71 42 Fax: (47) 23 16 71 80 Mail: atleve@dolphiics.o

More information

How do we evaluate algorithms?

How do we evaluate algorithms? F2 Readig referece: chapter 2 + slides Algorithm complexity Big O ad big Ω To calculate ruig time Aalysis of recursive Algorithms Next time: Litterature: slides mostly The first Algorithm desig methods:

More information

Ones Assignment Method for Solving Traveling Salesman Problem

Ones Assignment Method for Solving Traveling Salesman Problem Joural of mathematics ad computer sciece 0 (0), 58-65 Oes Assigmet Method for Solvig Travelig Salesma Problem Hadi Basirzadeh Departmet of Mathematics, Shahid Chamra Uiversity, Ahvaz, Ira Article history:

More information

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 12: Virtual Memory Prof. Yajig Li Uiversity of Chicago A System with Physical Memory Oly Examples: most Cray machies early PCs Memory early all embedded systems

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

Data diverse software fault tolerance techniques

Data diverse software fault tolerance techniques Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the

More information

Evaluation scheme for Tracking in AMI

Evaluation scheme for Tracking in AMI A M I C o m m u i c a t i o A U G M E N T E D M U L T I - P A R T Y I N T E R A C T I O N http://www.amiproject.org/ Evaluatio scheme for Trackig i AMI S. Schreiber a D. Gatica-Perez b AMI WP4 Trackig:

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to

More information

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved. Chapter 11 Frieds, Overloaded Operators, ad Arrays i Classes Copyright 2014 Pearso Addiso-Wesley. All rights reserved. Overview 11.1 Fried Fuctios 11.2 Overloadig Operators 11.3 Arrays ad Classes 11.4

More information

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis Itro to Algorithm Aalysis Aalysis Metrics Slides. Table of Cotets. Aalysis Metrics 3. Exact Aalysis Rules 4. Simple Summatio 5. Summatio Formulas 6. Order of Magitude 7. Big-O otatio 8. Big-O Theorems

More information

What are Information Systems?

What are Information Systems? Iformatio Systems Cocepts What are Iformatio Systems? Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 1 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio),

More information

In this chapter, you learn the concepts and terminology of databases and

In this chapter, you learn the concepts and terminology of databases and A Itroductio to Database Developmet I this chapter, you lear the cocepts ad termiology of databases ad how to desig the tables that your forms ad reports will use. Fially, you build the actual tables used

More information

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Algorithms and Data Structures

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Algorithms and Data Structures Uiversity of Waterloo Departmet of Electrical ad Computer Egieerig ECE 250 Algorithms ad Data Structures Midterm Examiatio ( pages) Istructor: Douglas Harder February 7, 2004 7:30-9:00 Name (last, first)

More information

Chapter 11 Web-based Information Systems

Chapter 11 Web-based Information Systems Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 11 Web-based Iformatio Systems TP Applicatio Architecture Frot-ed program

More information

Adapter for Mainframe

Adapter for Mainframe BEA WebLogic Java Adapter for Maiframe Workflow Processig Guide Release 5.0 Documet Date: Jauary 2002 Copyright Copyright 2002 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software

More information

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured

More information

Common Grid Model Exchange Specification (CGMES) Version 2.5 Draft IEC Part 1, Edition 2

Common Grid Model Exchange Specification (CGMES) Version 2.5 Draft IEC Part 1, Edition 2 Commo Grid Model Exchage Specificatio (CGMES) Versio.5 Draft IEC 61970-600 Part 1, Editio Documet versio: 1 Date: 15 July 016 Cotets Page 1 Scope... 5 Normative refereces... 6 3 Terms ad defiitios... 6

More information

2016 LEARNING SYSTEM FOR CSCP CERTIFICATION EXAM PREPARATION. learncscp.com

2016 LEARNING SYSTEM FOR CSCP CERTIFICATION EXAM PREPARATION. learncscp.com 2016 LEARNING SYSTEM FOR CSCP CERTIFICATION EXAM PREPARATION APICS CSCP Learig System users cosistetly surpass the average CSCP exam pass rate. learcscp.com 2016_APICS_A4_Brochure_parter.idd 1 WHY SEEK

More information

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency Volume 3, Issue 9, September 2013 ISSN: 2277 128X Iteratioal Joural of Advaced Research i Computer Sciece ad Software Egieerig Research Paper Available olie at: www.ijarcsse.com Couplig Evaluator to Ehace

More information

Creating Test Harnesses and Starter Applications

Creating Test Harnesses and Starter Applications 03 6000 ch02 11/18/03 8:54 AM Page 27 Creatig Test Haresses ad Starter Applicatios Applicatio Types You Ca Create with Visual C++ Visual C++.NET comes with a package of wizards that geerate startig code

More information

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000. 5-23 The course that gives CM its Zip Memory Maagemet II: Dyamic Storage Allocatio Mar 6, 2000 Topics Segregated lists Buddy system Garbage collectio Mark ad Sweep Copyig eferece coutig Basic allocator

More information

Schema for the DCE Security Registry Server

Schema for the DCE Security Registry Server Schema for the Security egistry Server Versio Date: 0/20/00 For questios or commets cocerig this documet, sed a email ote to dce-ldap@opegroup.org or call Doa Skibbie at 52 838-3896. . Itroductio...3 2.

More information

Continuity Logic Frontline Live

Continuity Logic Frontline Live September 2015 Cotiuity Logic Frotlie Live Iovatig User Experiece for Busiess Cotiuity SOLUTIONPERSPECTIVE Goverace, Risk Maagemet & Compliace Isight Cotiuity Logic Frotlie Live Iovatio i User Experiece

More information

CSI 3140 WWW Structures, Techniques and Standards. Cascading Style Sheets (CSS)

CSI 3140 WWW Structures, Techniques and Standards. Cascading Style Sheets (CSS) CSI 3140 WWW Structures, Techiques ad Stadards Cascadig Style Sheets (CSS) Motivatio whtml markup ca be used to represet Sematics: h1 meas that a elemet is a top-level headig Presetatio: h1 elemets look

More information