Lecture 2: Domain-Specific Logic Languages (DSLL) or Logic-based Domain-Specific Languages (LDSL)

Size: px
Start display at page:

Download "Lecture 2: Domain-Specific Logic Languages (DSLL) or Logic-based Domain-Specific Languages (LDSL)"

Transcription

1 Lecture 2: Domain-Specific Logic Languages (DSLL) or Logic-based Domain-Specific Languages (LDSL) Prof. Uwe Aßmann Christian Wende Technische Universität Dresden Software Engineering Group Version 0.2 Dresden, Aug. 27, 2013

2 Literature [ODSD] Jeff Pan, Steffen Staab, Uwe Aßmann, Jürgen Ebert, Yuting Zhao. Ontology-Driven Software Development. Springer, 2013 [Walter] Tobias Walter. Bridging Technological Spaces: Towards the Combination of Model-Driven Engineering and Ontology Technologies. Dissertation. Universität Koblenz-Landau, 2011 [RW2010] Uwe Aßmann, Andreas Bartho, and Christian Wende, editors. Reasoning Web. Semantic Technologies for Software Engineering, 6th International Summer School 2010, Dresden, Germany, August 30 - September 3, Tutorial Lectures, volume 6325 of Lecture Notes in Computer Science. Springer, OWLText URL 2

3 Contents 2.1 Why do we need DSL? 2.2 The historical development of DSL environments 2.3 We need semantics... But there is the problem of technical spaces 2.4 OWLText: a tool for textual LDSL 2.5 A graphical LDSL: Feature model with ontology semantics 2.6 Families of LDSD 2.7. Outlook: LDSL as Language Families Logic-Based DSL 3

4 2.1 Why do we need Domain-Specific Logic Languages = Logic-Based Domain-Specific Languages?

5 In Dresden, we work on the eternal problems... Coffee admins Logic-Based DSL 5

6 Recently, we got a NAO Robot Chuck Chuck could fetch coffee! Logic-Based DSL 6

7 Well, I like to teach Logic-Based DSL 7

8 But, how do I teach Chuck to bring me a coffee?

9 Why Domain-Specific Languages (DSL)? Pros: + Use the concepts and idioms of a domain + DSL embody domain knowledge (concepts and constraints) + Make domain modeling easy + Grandmothers (.. Domain experts..) can understand and write DSL programs + Higher level of abstraction + Concise and self-documenting + Can enhance productivity, reliability, maintainability and portability But: - Costs of design, implementation and maintenance - Costs of education for users - Limited availability of DSLs From: Logic-Based DSL 9 / 28

10 Network Device Specification (DSL for Comarch) K. Miksa, COMARCH Logic-Based DSL 10

11 Graphic DSLs in Device Modeling K. Miksa, COMARCH Logic-Based DSL 11

12 Ex.: Graphic DSL for Process Guidance Ontologies in MOST Project K. Miksa, COMARCH Logic-Based DSL 12

13 Ex.: Guidance Task List During BPMN Process Refinement (SAP) Logic-Based DSL 13

14 2.2 The Historical Development of DSL

15 DSLs and Logic-Based DSLs 2015 LDSL Families Family LDSL 2012 OWLText Logic-Based DSL Product families ELI Attribute-Grammar Cocktail based JastAdd Compiler environments DCG Eclipse based toolkits Parsing environments for DSL Hand implementation of DSL EMFText XText Lex, yacc Logic-Based DSL 15

16 Example: Building textual DSLs using EMFText EMFText is based on Eclipse Modeling Tramework (EMF) Generates editors, parsers, printers for a EMOF metamodel (Florian Heidenreich, Jendrik Johannes, Sven Karol, Mirko Seifert, Christian Wende) Logic-Based DSL 16

17 What s in a DSL? DSL Concrete Syntax Meta Model (Structure) Sta5c Seman5cs Dynamic Seman5cs Symbols, shapes Domain concepts, Language concepts, relations, attributes Typing, use-definition relationships Behavior, meaning Logic-Based DSL 17 / 28

18 How to build a DSL with EMFText Editor Ecore Metamodel EMFText Parser Generator (ANTLR) ConcreteSyntax Specification Grammar Static Semantic Resolvers EMFText Resource Printer Parser input for generates derived from Logic-Based DSL 18 / 28

19 How to build a DSL - Overview Editor a) Ecore Metamodel EMFText Parser Generator (ANTLR) CS Specification Grammar b) Static Semantic Resolvers EMFText Resource Printer Parser input for generates derived from Logic-Based DSL 19 / 28

20 How to build a DSL Meta model in EMOF Creating a new meta model: Define concepts, relations and properties in an EMOF/Ecore model Meta model elements: Classes, Data Types Enumerations Attributes References (Containment, Non-containment) Cardinalities Inheritance Very similar to the T-Box of a restricted RDFS a) Logic-Based DSL 20 / 28

21 How to build a DSL Meta model Meta model elements: a) Classes Data Types Enumerations Attributes References (Containment, Non-containment) Cardinalities Inheritance Very similar to the T-Box of a restricted RDFS Logic-Based DSL 21 / 28

22 Derive initial syntax of the DSL in HUTN (Human Usable Text Notation) a) b) Logic-Based DSL 22 / 28

23 Generated Grammar of Initial HUTN syntax b) Logic-Based DSL 23 / 28

24 Initial HUTN syntax Example Document b) Logic-Based DSL 24 / 28

25 Syntax Customization The Concrete Syntax language Structure of a.cs file based on EBNF: Header File extension Meta model namespace URI, location Start element(s) Imports (meta models, other syntax definitions) Options Token Definitions Syntax Rules b) Logic-Based DSL 25 / 28

26 Syntax refinement by changing the ENBF Syntax rules One per meta class Syntax: MetaClassName ::= Syntax Definition ; b) Definition elements: Static strings (keywords) public Choices a b Multiplicities +,* Compounds (ab) Terminals a[] Non-terminals a Logic-Based DSL 26 / 28

27 Syntax rules - Examples b) OfficeModel ::= "officemodel" name[] "{" elements* "}" ; officemodel SoftwareTechnology {... } Logic-Based DSL 27 / 28

28 Syntax rules - Examples b) OfficeModel ::= "officemodel" name[] "{" elements* "}" ; Employee ::= "employee" name[] "works" "in" worksin[] "works" "with" workswith[] ("," workswith[])* ; Office ::= "office" name[]; officemodel SoftwareTechnology { office INF2080 employee Florian works in INF2080 } Logic-Based DSL 28 / 28

29 Complete Customized Syntax b) Logic-Based DSL 29 / 28

30 Generic Syntax vs. Custom Syntax b) Logic-Based DSL 30 / 28

31 DSL Syntax Modules for DSL Families Import meta models optionally with syntax Extend and combine existing DSLs Create embedded DSLs (e.g., for Java) Create a template language from your DSL... c) Logic-Based DSL 31 / 28

32 The EMFText Syntax Zoo (~100 residents) Ecore, KM3 (Kernel Meta Meta Model) Quick UML, UML Statemachines Java 5 (complete), C# (in progress) Feature Models Regular Expressions natspec controlled natural language DOT (Graphviz language) and lots of example DSLs Ontology-related languages: OWL2 Manchester Syntax* OWL2 Functional-Style Syntax OWLCL* SPARQL* SPARQL-DL Abstract Syntax SWRL EMFText_Concrete_Syntax_Zoo#Ontology_Languages

33 I have DCGs, so why should I want EMFText? Metamodel-based, typed environment Generation of tools Statically typed Integration with application software Integration with many other tools Modularity Integration with software process Software Process Tools for management and guidance of the software development process Methodology Tools for supporting the software development methodology Automation Tools for automating repetitive validation and transformation tasks Logic-Based DSL 33

34 2.3 We need Semantics Why not try Ontologies?

35 What s in a DSL? DSL Concrete Syntax Meta Model (Structure) Sta5c Seman5cs Dynamic Seman5cs Symbols, shapes Domain concepts, relations, attributes Typing, use-definition relationships Behavior, meaning Logic-Based DSL 35 / 28

36 Language Semantics and Technical Spaces Domain world Ontologies Domain models OWL Domain Expert Structural (syntactic) Modeling World Structure Hierarchies Graphs EMOF UML-CD MOF Software Engineer Dynamics Semantic Expert Static Semantic Expert Static Semantic World Attributed Grammars Abstract Interpretation Model checking Ontologies OWL CTL Dynamic Semantic World Interpretation State systems Simulation Logic-Based DSL Petri nets SOS Natural Semantics 36

37 Language Semantics and Technical Spaces Domain world Ontologies Domain models OWL Domain Expert Structural (syntactic) Modeling World Structure Hierarchies Graphs EMOF UML-CD MOF Software Engineer Dynamics Semantic Expert Static Semantic Expert Static Semantic World Attributed Grammars Abstract Interpretation Model checking Ontologies OWL CTL Dynamic Semantic World Interpretation State systems Simulation Logic-Based DSL Petri nets SOS Natural Semantics 37

38 But there is the problem of technical spaces

39 Language Semantics and Technical Spaces Domain world Ontologies Domain models OWL Domain Expert Structural (syntactic) Modeling World Structure Hierarchies Graphs EMOF UML-CD MOF Software Engineer Dynamics Semantic Expert Static Semantic Expert Static Semantic World Attributed Grammars Abstract Interpretation Model checking Ontologies OWL CTL Dynamic Semantic World Interpretation State systems Simulation Logic-Based DSL Petri nets SOS Natural Semantics 39

40 Bridging Ontologies and Software Technology Software Engineer Ontology Expert Software Modeling World (ModelWare) Ontology World (OntologyWare) EMOF UML-CD MOF OWL RDFS Logic-Based DSL 40

41 Bridging technologies Transformation bridge (physical transport of models to the other space) Integration bridge integrating metalanguages Bridging Technology Tools Querying Reasoning Technology Ontoware TS OWL2 Metamodel Ontology TBox ABox transformation integration query language Modelware TS Ecore Metametamodel DSL Metamodel Model Model Tools M3 conformsto M2 ValidaDon Constraint Technology M1 conformsto Logic-Based DSL 41

42 TransformaDon Bridge Bridging Technology - TransformaDon - Ontoware TS Modelware TS OWL2 Metamodel target metamodel TransformaDon DefiniDon source metamodel Ecore Metametamodel M3 Tools Querying Reasoning Technology Ontology TBox ABox target model target model TransformaDon Engine source model source model DSL Metamodel Model Model Tools conformsto M2 ValidaDon Constraint Technology M1 conformsto Logic-Based DSL 42

43 Transformation Bridges Language mapping generates model bridges (same L) TS EclipseWare TS Ontologyware M3 EMOF/ECore OWL M2 L Transformer Generator/ Interpreter L M1 Models Transformer Models Logic-Based DSL 43

44 Transformation Bridge for Languages with Differences Language mapping can result from composition, integration, and extension of L+E1 and L+E2 TS EclipseWare TS Ontologyware M3 EMOF/ECore OWL M2 L+E2 Mapping Transformer Generator L+E1 M1 Models Transformer Models Logic-Based DSL 44

45 Transformation Bridge for More Semantics Language mapping can result from extension by constraints Models have more semantics in semantic space TS EclipseWare TS Ontologyware M3 EMOF/ECore OWL M2 L(+C1) extension Transformer Generator Checker Generator/ Reasoner L+C1 M1 Models Transformer Models Logic-Based DSL 45

46 2.3.2 Language IntegraDon with MM- IntegraDon Bridges Bridging Technology - IntegraDon - Tools Querying Reasoning Technology Ontoware TS OWL2 Metamodel Ontology TBox ABox integradon projecdon projecdon Integrated (Meta- )Metamodel Hybrid (Meta- )model ontoware modelware Model integradon projecdon projecdon Modelware TS Ecore Metametamodel DSL Metamodel Model Model Tools M3 conformsto M2 ValidaDon Constraint Technology M1 conformsto Logic-Based DSL 46

47 Ex.: OntoDSL: Integration Bridge [Tobias Walter, Steffen Staab, Uni Koblenz] Development Environment Framework Developer Integrated Metametamodel KM3 OWL Metametamodel Metamodel instanceof :M3 instanceof DSL Designe r DSL User M2': M1': Domain Definition Metamodel (Concrete Syntax) instanceof Domain Model Visualization Integrated Model (Abstract Syntax) Constraints / Axioms transform :M2 transform Ontology Definition TBox OWL Ontology ABox Reasoning Service Logic-Based DSL 47

48 2.4 OWLText A tool for textual LDSL, automatically bridging technical spaces Courtesy: Christian Wende, TU Dresden Tobias Walter, U Koblenz

49 Ex.: OWLText Transformation Bridge Chain, with Integration From textual DSL to OWL constraint checking TS Ontolog y-ware TS EclipseWare TS Grammar -ware M3 OWL-CL EMOF/ECore EBNF M2 L OWLizer transformer L EMFText Generator L M1 Models Printer Parser Models Printer Parser Models Logic-Based DSL 49

50 Ex.: OWLText Transformation Bridge Chain, with Integration From textual DSL to OWL constraint checking TS Grammar -ware TS EclipseWare TS OWLware M3 EBNF EMOF/ECore OWL M2 L EMFText Generator L OWLizer transformer L M1 Models Printer Parser Models Transf. 1 Transf. 2 Models Logic-Based DSL 50

51 Motivation Technology Space Bridging Metamodelling Space: Comprehensible infrastructure with tools for metamodelling, modelling, persistence, transformation, code generation Generated API for model manipulation Plethora of integrated tools that share repository => Metamodelling is a syntactic island for technology space bridges Interesting Bridges: Other Syntactical Spaces EMFText, XText, GMF Grammarware, Parsing and Printing Semantic technical spaces (static and dynamic) Ontologies Attribute Grammars (JASTEMF) Logic-Based DSL 51

52 Design OWLText technology space bridging for LDSL Grammar Space Metamodelling Space Ontology Space EBNF ANTLR Textual Syntax EMOF EMF Syntactic Repository OWL Pellet Semantic Classification and Validation Logic-Based DSL 52

53 Design OWLText technology space bridging for LDSL Grammar Space Metamodelling Space Ontology Space EMFText EBNF EMOF OWL ANTLR EMF Pellet Textual Syntax + Syntactic Repository Semantic Classification and Validation Logic-Based DSL 53

54 Design OWLText technology space bridging for LDSL Grammar Space Metamodelling Space Ontology Space EMFText OWLlizer EBNF EMOF OWL ANTLR EMF Pellet Textual Syntax + Syntactic Repository + Semantic Classification and Validation OWLText Logic-Based DSL 54

55 OWLText Architecture OWLText technology space bridging for LDSL print classify parse validate EMFText OWLizer EBNF refines CS Language EMOF OWLCL references references refines OWL customises customises ANTLR Parser OWLizing code model ontology Printer deowlizing Logic-Based DSL 55

56 Architecture Generalised Architecture of technical space bridges print classify parse Service Integration validate EMFText OWLizer EBNF refines Metamodell Integration CS Language EMOF OWLCL references (Integration references Bridges) refines OWL customises customises ANTLR Parser OWLizing code Modell model Integration ontology Printer deowlizing (Transformation Briges) Logic-Based DSL 56

57 Example: Office LDSL office 2080 employee Prof. Assmann works in 2087 works with Wende office 2087 employee Wende Office DSLL Tutorial language to model offices, employees, and their interaction Employees work in offices, there are co-working relationships Logic-Based DSL 57

58 Example: Office LDSL office 2080 employee Prof. Assmann works in 2087 office 2087 Textual Syntax Model Level Metamodel Level Metamodelling Space OfficeModel := (employees:employee*, offices:office*); Office:= (name: String); Employee: (name: String, title: String, worksin: Office, workswith: Employee*); Logic-Based DSL 58

59 Example: Office LDSL office 2080 employee Prof. Assmann works in 2087 office 2087 Textual Syntax Model Level Metamodel Level Grammar Space OfficeModel:= (employees offices)*; Office:= office name; Employee:= employee title name works in worksin works with workswith*; Metamodelling Space OfficeModel := (employees:employee*, offices:office*); Office:= (name: String); Employee: (name: String, title: String, worksin: Office, workswith: Employee*); Logic-Based DSL 59

60 Example: Office office 2080 employee Prof. Assmann works in 2087 office 2087 Textual Syntax Model Level Metamodel Level Grammar Space OfficeModel:= (employees offices)*; Office:= office name; Employee:= employee title name works in worksin works with workswith*; Metamodelling Space OfficeModel := (employees:employee*, offices:office*); Office:= (name: String); Employee: (name: String, title: String, worksin: Office, workswith: Employee*); Ontology Space Constraints ProfessorsRoom ProfessorsAssistants PhDCoworkers Logic-Based DSL 60

61 Example: PetriNets LDSL Graphical Syntax Textual Syntax place P1; place P2; place P3; place P4; transition T1; transition T2; from P1 to T1 {...}; from T1 to P2 {...}; from T1 to P3 {...};... from T2 to P4 {...}; from T2 to P1 {...}; PetriNets DSLL Language to describe the dynamic semantics of distributed systems Places and transistions connected by arcs Consuming arcs take tokens from places Producing arcs put tokens to places Transition fires if all incomming arcs have tokens Logic-Based DSL 61

62 Example: PetriNets LDSL Graphical Syntax Textual Syntax place P1; place P2; place P3; place P4; transition T1; transition T2; Model Level Metamodel Level from P1 to T1 {...}; from T1 to P2 {...}; from T1 to P3 {...};... from T2 to P4 {...}; from T2 to P1 {...}; Metamodelling Space Nameables := (name: String); Components : Nameable := (in: Arc*, out: Arc*); Transition : Component; Place : Component (type: EClass); Arcs := (from:component, to:component) Logic-Based DSL 62

63 Example: PetriNets LDSL Graphical Syntax Textual Syntax place P1; place P2; place P3; place P4; transition T1; transition T2; Model Level Metamodel Level Grammar Space Arc := from -> to Transition := transition name; Place := place place : type; from P1 to T1 {...}; from T1 to P2 {...}; from T1 to P3 {...};... from T2 to P4 {...}; from T2 to P1 {...}; Metamodelling Space Nameables := (name: String); Components : Nameable := (in: Arc*, out: Arc*); Transition : Component; Place : Component (type: EClass); Arcs := (from:component, to:component) Logic-Based DSL 63

64 Example: PetriNets LDSL Graphical Syntax Textual Syntax place P1; place P2; place P3; place P4; transition T1; transition T2; Model Level Metamodel Level Grammar Space Arc := from -> to Transition := transition name; Place := place place : type; from P1 to T1 {...}; from T1 to P2 {...}; from T1 to P3 {...};... from T2 to P4 {...}; from T2 to P1 {...}; Metamodelling Space Nameables := (name: String); Components : Nameable := (in: Arc*, out: Arc*); Transition : Component; Place : Component (type: EClass); Arcs := (from:component, to:component) Ontology Space Global Constraints Invalid Arcs Consuming Arcs Producing Arcs Domain Specific Constraints Start Places Disallow Parallelism Logic-Based DSL 64

65 Screencast Logic-Based DSL 65

66 2.5 Example of a Graphical LDSL: Feature Models for Tool Families Christian Wende, Uwe Aßmann

67 Challenges for Product Families Build many tools with common platform Strengthen reuse by sharing commonalities Control by configuration ontology MOST TOPF (Tool Product Family) -> Ontology-controlled tool configuration 67

68 Development Process in MOST TOPF Tool Family 9#:;%<(),(=,3,->% '.(-/).%012.3% 41)%!15-%$"&'%!"#$%$"&'%()*+),,-+)*%!"#$%$"&'%.)/01)2123)% <(),(7-%012.3% 41)%*17*).-.% 6)12/*-% 9#D;%<(),(7-% 9#A;%'.(-/).% ()*+,-.*-/).% '.(-/).I2),G.7% 9#E;%<(),(7-% 9#C;%'.(-/).%!(66,78%!"#$%$"&'% 0(66,78% 012.3% H17*).-.%!"#$% $"&'%6)12/*-% J76/-%41)% B.3(-.5%-1%

69 (S1) Variabilty Specification MOST TOPF Graphic Feature Model Enables systematic classification and documentation of commonalities and variability Enables explicit management of feature dependencies Enables easy and systematic configuration of generic tools Propositional logic, translates to ontology MOST TOPF Variability Software Process Guidance Development Method Automation MDSD Process Modelling Language Specification Validation Comarch Network Configuration Comarch OSS Development Business Process Development PDDSL PDIDSL BEDSL MEDSL DBDSL BPMN Specification Transformation Ontology Technology Reasoner Ontology Language Pellet OWL Full Fact+ OWL DL BPMN (Specification Validation and OWL DL) or not (Specification Validation) TrOWL REL OWL Lite OWL FA

70 MOST TOPF Architecture (S2) Feature Realisation Views Editors Project Explorer Task Management Specification Validation Model Querying Graphical Editor Tree-based Editor Textual Model Editor Properties Editor Vertical Services Ontology-based Services Import/Export Interfaces Security and User Management Versioning and Collaboration Ontology-based Process Guidance Integration Infrastructure Modelling Infrastructure Validation Explanation Querying Semantic Modelling Infrastructure Bridge / MOST Bridge Model & Metamodel Repository Management Ontology Infrastructure Ontology Repository Other Semantic Reasoner Persistency Services Database Persistency Other

71 (S2) Feature Realisation MOST TOPF Architecture Component-based architecture modelled using UML,+-"%"./&5(')$*6")78$+01 H!L-$:-*?$:-='%*H#2-") Defines blue-print for layered ODSD tool architecture O'%2#'-2"+*L'0'#$!!"#$%#&'&())!"#$%*B)"M2#$)!!"#$%#&'&())?)'+3<")4'-2"+F)"7$) Platform-independent can be implemented using various tool platforms (e.g. Q5B*B)"0$33*,+-"%"./!!"#$%#&'&()) S"4')01*B)"0$33*,+-"%"./!!"#$%#&'&())!,Q?*B)"0$33*,+-"%"./!!"#$%#&'&()) 59,::!$-'D!"#$%N-"N,6> ;!"#$%O'%2#'-2"+H+.2+$!!"#$%#&'&()) Q5BC$<2+$4$+->28)')/5#'A-$)!!"#$%#&'&()) 59,::*R3$)*!.-4!!"#$%#&'&()) FB!GN-"N,6> ;C$'3"+$)!!"#$%#&'&()) CH>!!"#$%#&'&())?),6>!!"#$%#&'&())!!"#$%#&'&())!!"#$%#&'&())!!"#$%#&'&()) Q5BC$<2+$4$+->28)')/ B$%%$- ;+<)'3-)=0-=)$ 59,::*!"#$%%2+.*;+<)'3-)=0=)$!!"#$%#&'&()),+-"%"./*>'/$) FB!G!!"#$%#&'&()) 59,::!$-'D4"#$%!!"#$%#&'&()),+-"%"./*5B;

72 (S4) Variant Selection Variant Model for Concrete Demonstrator Variant Editor guides tool customisation Interactively checks and annotates consistency w.r.t. feature model and constraints Provides repair suggestions * Feature model excerpt

73 MOST TOPF mapping model Interactive, graphical mapping approach Mapping of boolean feature terms to elements of Ecore-based models Mapping stored in a dedicated, external mapping model (S3) Feature Mapping Manual feature mapping

74 ,+-"%"./&5(')$*6")78$+01 (S3) Feature Mapping BB0"4A"+$+-CC BB0"4A"+$+-CC Q'%2#'-2"+*62#.$-?'37*>23-*62#.$- BB0"4A"+$+-CC BB0"4A"+$+-CC J!N-$:-*?$:-='%*J#2-") 500$33*>'/$) BB0"4A"+$+-CC BB0"4A"+$+-CC BB0"4A"+$+-CC BB0"4A"+$+-CC Q'%2#'-2"+*N'0'#$!"#$%*D)"O2#$)?)'+3<")4'-2"+H)"7$)!"#$%&'(')$*'+#*,+-"%"./&'(')$*!$ BB0"4A"+$+-CC 59,::!$-'F!"#$%P-"P,6> BB0"4A"+$+-CC HD!IP-"P,6> ;E$'3"+$) ;!"#$%Q'%2#'-2"+J+.2+$ BB0"4A"+$+-CC?)'02+.*J+.2+$ BB0"4A"+$+-CC S5D*D)"0$33*,+-"%"./ BB0"4A"+$+-CC BB0"4A"+$+-CC BB0"4A"+$+-CC EJ> U"4')01*D)"0$33*,+-"%"./ S5DE$<2+$4$+->28)')/5#'A-$) BB0"4A"+$+-CC BB0"4A"+$+-CC BB0"4A"+$+-CC?),6>!,S?*D)"0$33*,+-"%"./ 59,::*T3$)*!.-4 BB0"4A"+$+-CC BB0"4A"+$+-CC BB0"4A"+$+-CC BB0"4A"+$+-CC S5DE$<2+$4$+->28)')/ D$%%$- ;+<)'3-)=0-=)$ 59,::*!"#$%%2+.*;+<)'3-)=0=)$,+-"%"./*>'/$)

75 (S5) Variant Derivation Feature-Driven Demonstrator Derivation Variant model is used together with feature mapping and component diagram to derive variant specific component diagram AutomaDc Variant DerivaDon

76 Lessons Learned Feature models form a graphical, logic-based DSL (LDSL) for specification of software product lines Conciseness: Concise feature model (DSL, boolean expressions) Automatic checking Communicative: Unified and clarified terminology used in communication Interactivity: Interactive and graphical tooling helped visualising the mapping without interfering with UML syntax Logic-based DSL provide simple configurability Uniformity: Extension of feature model were quite similar for each demonstrator Harmlessness: Component-based infrastructure reduced threat of feature interaction Evolvability: External mapping model helped extending the architecture without breaking the mapping Stability: Unique identifier for solution space elements required to provide stable mapping Complexity: Complex mappings with terms hard to visualise

77 2.6 A Feature-Modeled Family of Ontology Languages Christian Wende and Florian Heidenreich, TU Dresden (MDPLE Workshop, Twente, 2009)

78 Causes of the Scalability Problem Use Case implies? Computational Complexity language expressiveness language features Language Customisation Combined Data Complexity facts size axioms size queries complexity Queries uses Ontology Language uses Knowledge Base Logic-Based DSL 78

79 Existing Approaches to Achieve Scalability Language Design Reasoning Infrastructure OWL-Full SHOQ(D) Syntactic Approximation RACER Pellet FaCT++ OWL2 OWL-Lite EL++ OWL-FA Semantic Approximation OWL-DL TrOWL Minerva DL-Lite Sesame RDF(S) Logic-Based DSL 79

80 Existing Approaches to Address Complexity Current Status: An Ontology Language Hierarchy Most Expressive OWL2 OWL-Lite OWL-Full EL++ OWL-FA Subset-of relationships w.r.t syntax and semantics Trade-off between expressiveness and reasoning complexity Implemented mostly independent Goal: An Ontology Language Family Problem Space Systematic organisation of family members Specific expressiveness and reasoning requirements can be addressed by recombining existing language features Most Efficient OWL-DL DL-Lite RDF(S) Systematic reuse of common language features Generating language tooling (e.g., dedicated parsers, printers, editors, and reasoners) Language evolution by contributing new features Solution Space Logic-Based DSL 80

81 Language Customisation Realising an Ontology Language Family Feature-based Family Specification Mapping Model-Based Language Specification Language Family Engineering Language Instantiation Use Case Requirements Feature-based Variant Selection Transformation of Language Specification Requirements Specific Language Logic-Based DSL 81

82 Problem Space of Ontology Language Family Feature Model to specify Ontology Language Families Ontology languages are classified by logical constructors (language features) they provide Feature Model restricts combinatorial variability to valid variation space (language family) Expressiveness and Computational Complexity (Scalability) can be derived from used constructors Concepts DescriptionLogics Roles R Datatypes (D+) AL Minimal TransitiveRoles R+ RoleHierarchy H Union U Top Bottom ConceptNegation C Nominals O FunctionalProperties F Intersection ValueRestriction InverseProperties I ExistentialQualification E AtomicNegation ALCR+ == S CardinalityRestriction N QualifiedCardinalityRestriction Q SHOIN(D+) == OWL DL Reduced feature models describe specific ontology language family member Logic-Based DSL 82

83 Solution Space of Ontology Language Family Dimensions of a Language Specification Abstract Syntax domain concepts relations and properties (OWL metamodel) Concrete Syntax (OWL parser) Language Semantics (OWL reasoner) Benefits of a Model-based Approach Provides means for transformation (Variant Refinement) Provides means for code generation (Tool Generation) Provides infrastructure based on metamodels (Tool Concrete Syntax Abstact Syntax Interoperability) Ontology: Class: Pizza Class: Spiciness ObjectProperty: hasspiciness Range: Spiciness OWL Property Ontology frames Frame OWLClass Semantics

84 Mapping Features to Language Specifications Mapping between Problem and Solution Space During Family Engineering single Ontology features are mapped to artefacts in the language specification models This mapping is stored in a Mapping Model Problem Space Solution Space OWL Metamodel OWL Featuremodel ObjectProperty Concepts DescriptionLogics Roles R property inverse Minimal ObjectPropertyReference Top Bottom Intersection AtomicNegation ValueRestriction InverseProperties I OWL Syntax Specification ObjectProperty ::= "ObjectProperty:" iri[iri]!1 ((annotations!1)... OWL Mapping Model )*; ( "InverseOf:" inverseproperties ("," inverseproperties)*!1) Logic-Based DSL Christian Wende, TU Dresden 84

85 FeatureMapper: Tool Support for Mapping Mapping between Problem and Solution Space Logic-Based DSL Christian Wende, TU Dresden 85

86 Language Instantiation Transformation Process for Language Instantiation FeatureMapper Model Transformation EMFText Code Generation OWL Feature Model < variant of > < maps to > OWL Metamodel OWL Variant Metamodel OWL Variant Parser OWL Variant Model < maps to > < refers to > < refers to > OWL Textual Syntax OWL Variant Concrete Syntax OWL Variant Printer OWL Variant Editor Logic-Based DSL 86

87 Conclusion Feature-Based Customisation for Families of Ontology Languages Ontology Languages are used for different Use Cases Use Cases imply data complexity Use Cases should also guide computation complexity Feature-Based Customisation provides means for Use Case driven language customisation Feature-Based Customisation is also supports Ontology Language Extension Ontology Language Evolution Ontology Language Integration Research Questions How can we compose reasoners w.r.t. language features? How to get from Use Case to required features? Logic-Based DSL 87

88 2.7 LDSL as Language Families

89 How do I teach Chuck to bring me a coffee? with a family of Gesture-LDSD Logic-Based DSL 89

90 Gesture DSL will be Domain-Specifc and should be Logic Based Gestures in Cars Context modeling Gestures in Public User editable Gestures in Factories Semantics Logic-Based DSL 90

91 Logic-Based DSLs 2015 OWLGraphics OWLGestures LDSL Families Family LDSL OWLText Logic-Based DSL Attribute-Grammar based Compiler environments Product families Eclipse based toolkits 1980 Parsing environments for DSL Hand implementation of DSL 1950 Logic-Based DSL 91

92 Engineering LDSL Families Logic-Based DSL Families Gestural Logic-Based DSL Graphical Logic-Based DSL Textual Logic-Based DSL Ontology-controlled Product families Technical Space Bridging Logic-Based DSL 92

93 LDSL need Bridging between Logics and Software Engineering Product family engineering Logic-based Semantics DSL LDSL Families Adequate Logic languages Logic-Based DSL 93

Textual Modeling Languages

Textual Modeling Languages Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics

More information

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl VICCI Visual and Interactive Cyber-Physical Systems Control and Integration The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview Dipl.-Inf. Christoph Seidl Overview of

More information

JastEMF: Reference Attribute Grammars for EMF-based DSLs

JastEMF: Reference Attribute Grammars for EMF-based DSLs Fakultät Informatik Institut Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie JastEMF: Reference Attribute Grammars for EMF-based DSLs Sven Karol, Christoff Bürger ACSE 17.12.2012 What s

More information

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics: Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations

More information

Model-Driven Development - From Frontend to Code

Model-Driven Development - From Frontend to Code Model-Driven Development - From Frontend to Code Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de Markus Völter voelter@acm.org www.voelter.de -1- Model Driven

More information

Domain Models and Product Lines

Domain Models and Product Lines Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Domain Models and Product Lines Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software-

More information

CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology

CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology Jendrik Johannes, Mirko Seifert, Christian Wende, Florian Heidenreich, and Uwe Aßmann DevBoost GmbH D-10179,

More information

Megamodels as models of the linguistic architecture of software products and software technologies

Megamodels as models of the linguistic architecture of software products and software technologies 19 April 2012 Megamodels as models of the linguistic architecture of software products and software technologies Ralf Lämmel (Software Languages Team) on behalf of Jean-Marie Favre, Thomas Schmorleiz,

More information

Language Family Engineering

Language Family Engineering Language Family Engineering with Features and Role-Based Composition Dissertation zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.) vorgelegt an der Technischen Universität Dresden Fakultät

More information

Development of Tool Extensions with MOFLON

Development of Tool Extensions with MOFLON Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de

More information

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

The ADOxx Metamodelling Platform Workshop Methods as Plug-Ins for Meta-Modelling in conjunction with Modellierung 2010, Klagenfurt The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt Dr. Harald Kühn 24.03.2010 Agenda 1 Overview 2 Deployment and Integration

More information

Embedded Software Development with MPS

Embedded Software Development with MPS Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,

More information

Evolution in Feature-Oriented Model-Based Software Product Line Engineering

Evolution in Feature-Oriented Model-Based Software Product Line Engineering Diploma Thesis Evolution in Feature-Oriented Model-Based Software Product Line Engineering submitted by Christoph Seidl born December 5, 1982 in Freiburg im Br. Technische Universität Dresden Faculty of

More information

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects. Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez pa.gomez398@uniandes.edu.co Hector Florez ha.florez39@uniandes.edu.co ABSTRACT The linguistic conformance and the ontological

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Rushiraj Heshi Department of Computer Science and Engineering Walchand College of Engineering, Sangli Smriti

More information

Semantic-enabled Software Engineering and Development

Semantic-enabled Software Engineering and Development Semantic-enabled Software Engineering and Development Bernhard Bauer, Stephan Roser Programming of Distributed Systems, University of Augsburg, 86135 Augsburg [bauer roser]@informatik.uni-augsburg.de Abstract:

More information

Simplifying e Business Collaboration by providing a Semantic Mapping Platform

Simplifying e Business Collaboration by providing a Semantic Mapping Platform Simplifying e Business Collaboration by providing a Semantic Mapping Platform Abels, Sven 1 ; Sheikhhasan Hamzeh 1 ; Cranner, Paul 2 1 TIE Nederland BV, 1119 PS Amsterdam, Netherlands 2 University of Sunderland,

More information

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems 1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing

More information

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1 Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra

More information

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More Taking Subversion to a Higher Level Branching/Merging Support Component Management Support And More About Impact CM Impact CM is a Service AddOn that facilitates software configuration management (CM)

More information

Designing Round-Trip Systems by Change Propagation and Model Partitioning

Designing Round-Trip Systems by Change Propagation and Model Partitioning Designing Round-Trip Systems by Change Propagation and Model Partitioning Dissertation zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.) vorgelegt an der Technischen Universität Dresden

More information

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Business-Driven Software Engineering Lecture 3 Foundations of Processes Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster jku@zurich.ibm.com Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary

More information

Institut für Software- und Multimediatechnik

Institut für Software- und Multimediatechnik Fakultät Informatik Technische Berichte Technical Reports ISSN 1430-211X TUD-FI12-01-Januar 2012 C. Wilke, A. Bartho, J. Schroeter, S. Karol, U. Aßmann Institut für Software- und Multimediatechnik Extended

More information

Implementing reusable software components for SNOMED CT diagram and expression concept representations

Implementing reusable software components for SNOMED CT diagram and expression concept representations 1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed

More information

Eindhoven University of Technology

Eindhoven University of Technology Eindhoven University of Technology Department of Mathematics and Computer Science Software Engineering and Technology Group Master Thesis mlbnf A Syntax Formalism for Domain Specific Languages M.W. Manders

More information

Roles in Software Development using Domain Specific Modelling Languages

Roles in Software Development using Domain Specific Modelling Languages Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,

More information

An Approach for the Systematic Development of Domain-Specific Languages

An Approach for the Systematic Development of Domain-Specific Languages An Approach for the Systematic Development of Domain-Specific Languages Mark Strembeck 1, Uwe Zdun 2 1 Institute of Information Systems, New Media Lab Vienna University of Economics and BA, Austria mark.strembeck@wu-wien.ac.at

More information

COCOVILA Compiler-Compiler for Visual Languages

COCOVILA Compiler-Compiler for Visual Languages LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618

More information

25.1 Translational Frameworks (MDA with transformations)

25.1 Translational Frameworks (MDA with transformations) Literature TU Dresden Fakultät für Informatik Institut für Software- und Multimediatechnik 25. From Code Frameworks to Model-Driven Architecture (MDA) and Component-Based Software Development (CBSD) Prof.

More information

An eclipse-based Feature Models toolchain

An eclipse-based Feature Models toolchain An eclipse-based Feature Models toolchain Luca Gherardi, Davide Brugali Dept. of Information Technology and Mathematics Methods, University of Bergamo luca.gherardi@unibg.it, brugali@unibg.it Abstract.

More information

MDE Adoption in Industry: Challenges and Success Criteria

MDE Adoption in Industry: Challenges and Success Criteria MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314

More information

Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)

Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF) Bridging the Generic ing Environment () and the Eclipse ing Framework (EMF) Jean Bézivin (), Christian Brunette (2), Régis Chevrel (), Frédéric Jouault (), Ivan Kurtev () () ATLAS Group (INRIA & LINA,

More information

What is a metamodel: the OMG s metamodeling infrastructure

What is a metamodel: the OMG s metamodeling infrastructure Modeling and metamodeling in Model Driven Development Warsaw, May 14-15th 2009 Gonzalo Génova ggenova@inf.uc3m.es http://www.kr.inf.uc3m.es/ggenova/ Knowledge Reuse Group Universidad Carlos III de Madrid

More information

Aplicando enfoque MDE a aplicaciones WEB-SOA

Aplicando enfoque MDE a aplicaciones WEB-SOA Aplicando enfoque MDE a aplicaciones WEB-SOA María Consuelo Franky lfranky@javeriana.edu.co Dpto. Ingeniería de Sistemas Universidad Javeriana Bogotá - 2010 http://sophia.javeriana.edu.co/~lfranky/ 1 Temario

More information

An Eclipse plug-in for Public Administration software system modelling and simulation

An Eclipse plug-in for Public Administration software system modelling and simulation An Eclipse plug-in for Public Administration software system modelling and simulation Riccardo Cognini, Damiano Falcioni, Andrea Polini, Alberto Polzonetti, and Barbara Re University of Camerino, School

More information

Winery A Modeling Tool for TOSCA-based Cloud Applications

Winery A Modeling Tool for TOSCA-based Cloud Applications Institute of Architecture of Application Systems Winery A Modeling Tool for TOSCA-based Cloud Applications Oliver Kopp 1,2, Tobias Binz 2, Uwe Breitenbücher 2, and Frank Leymann 2 1 IPVS, 2 IAAS, University

More information

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor Klaus Krogmann, Steffen Becker University of Karlsruhe (TH) {krogmann, sbecker}@ipd.uka.de Abstract: The actual benefits

More information

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development * for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This

More information

A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software

A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software Luigi Pomante Sante Candia Emilio Incerto Università degli Studi dell Aquila Center of Excellence DEWS - ITALY luigi.pomante@univaq.it

More information

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1 The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions

More information

A domain specific language for extracting models in software modernization

A domain specific language for extracting models in software modernization A domain specific language for extracting models in software modernization Javier Luis Cánovas Izquierdo and Jesús García Molina University of Murcia {jlcanovas,jmolina}@um.es Abstract. Model-driven engineering

More information

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data Tatjana Kutzner, Andreas Donaubauer Chair of Geoinformatics kutzner@tum.de INSPIRE KEN Schema Transformation Workshop,

More information

Designing a Semantic Repository

Designing a Semantic Repository Designing a Semantic Repository Integrating architectures for reuse and integration Overview Cory Casanave Cory-c (at) modeldriven.org ModelDriven.org May 2007 The Semantic Metadata infrastructure will

More information

today 1,700 special programming languages used to communicate in over 700 application areas.

today 1,700 special programming languages used to communicate in over 700 application areas. today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin

More information

Towards a Common Metamodel for the Development of Web Applications

Towards a Common Metamodel for the Development of Web Applications Towards a Common Metamodel for the Development of Web Applications Nora Koch and Andreas Kraus Ludwig-Maximilians-Universität Munich, Germany Motivation Overwhelming diversity of Web methodologies Goal:

More information

Tool chain (BRIDE) delivered as BRICS software distribution

Tool chain (BRIDE) delivered as BRICS software distribution Best Practice in Robotics (BRICS) Grant Agreement Number: 231940 01.03.2009-28.02.2013 Instrument: Collaborative Project (IP) Tool chain (BRIDE) delivered as BRICS software distribution Hugo Garcia, Herman

More information

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context

More information

Linked Data Interface, Semantics and a T-Box Triple Store for Microsoft SharePoint

Linked Data Interface, Semantics and a T-Box Triple Store for Microsoft SharePoint Linked Data Interface, Semantics and a T-Box Triple Store for Microsoft SharePoint Christian Fillies 1 and Frauke Weichhardt 1 1 Semtation GmbH, Geschw.-Scholl-Str. 38, 14771 Potsdam, Germany {cfillies,

More information

Process Implications of Model-Driven Software Development

Process Implications of Model-Driven Software Development Process Implications of Model-Driven Software Development Author: Jorn Bettin Version 1.0 September 2004 Copyright 2003, 2004 SoftMetaWare Ltd. SoftMetaWare is a trademark of SoftMetaWare Ltd. All other

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

An approach for the systematic development of domain-specific languages

An approach for the systematic development of domain-specific languages SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2009; 39:1253 1292 Published online 28 August 2009 in Wiley InterScience (www.interscience.wiley.com)..936 An approach for the systematic development

More information

Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges

Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges Heiko Kern and Stefan Kühne Business Information Systems, University of Leipzig Johannisgasse 26, 04103 Leipzig,

More information

Modellrepository @ T-Mobile Umsetzung und Einsatz

Modellrepository @ T-Mobile Umsetzung und Einsatz 1 Modellrepository @ T-Mobile Umsetzung und Einsatz ix CeBIT Forum 2009 Carsten Sensler, T-Mobile Deutschland GmbH 3/9/09 1 Table of Contents!! SOA Backplane overview!! Model repository @ T-Mobile!! Domain

More information

Towards Collaboration on Accessible UML Models

Towards Collaboration on Accessible UML Models his is a draft version of the full paper to be presented at the AI4VIP workshop colocated with MuC'15. owards Collaboration on Accessible UML Models Stephan Seifermann, Henning roenda Software Engineering,

More information

A Common Metamodel for Code Generation

A Common Metamodel for Code Generation A Common Metamodel for Code Generation Michael PIEFEL Institut für Informatik, Humboldt-Universität zu Berlin Unter den Linden 6, 10099 Berlin, Germany piefel@informatik.hu-berlin.de ABSTRACT Models can

More information

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany AhmetDemir@gmx.de

More information

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

More information

MDE Basics with a DSL Focus

MDE Basics with a DSL Focus MDE Basics with a DSL Focus Suzana Andova, Mark G.J. van den Brand, Luc J.P. Engelen, and Tom Verhoeff Eindhoven University of Technology, Den Dolech 2, NL-5612 AZ Eindhoven {s.andova,m.g.j.v.d.brand,l.j.p.engelen,t.verhoeff}@tue.nl

More information

Using Ontologies in the Domain Analysis of Domain-Specific Languages

Using Ontologies in the Domain Analysis of Domain-Specific Languages Using Ontologies in the Domain Analysis of Domain-Specific Languages Robert Tairas 1, Marjan Mernik 2, Jeff Gray 1 1 University of Alabama at Birmingham, Birmingham, Alabama, USA {tairasr,gray}@cis.uab.edu

More information

Enterprise Architecture at Work

Enterprise Architecture at Work Marc Lankhorst et al. Enterprise Architecture at Work Modelling, Communication and Analysis Third Edition 4y Springer Contents 1 Introduction to Enterprise Architecture 1 1.1 Architecture 1 1.2 Enterprise

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl

Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl Domain Specific Languages for Business Users Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl Sheet 2 Background Experience Business DSLs Insurance Product Modeling (structure) Pattern

More information

A Product Line and Model Driven Approach for Interoperable EMR Messages Generation

A Product Line and Model Driven Approach for Interoperable EMR Messages Generation A Product Line and Model Driven Approach for Interoperable EMR Messages Generation Deepa Raka December, 2010 Department of Computer Science California State University, Fresno A Product Line and Model

More information

Mapping between Levels in the Metamodel Architecture

Mapping between Levels in the Metamodel Architecture Mapping between Levels in the Metamodel Architecture José Álvarez, Andy Evans 2, Paul Sammut 2 Dpto. de Lenguajes y Ciencias de la Computación, University Málaga, Málaga, 2907, Spain alvarezp@lcc.uma.es

More information

UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts

UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts Banu Aysolmaz 1 and Onur Demirörs 2 1, 2 Informatics Institute, Middle East Technical University, Ankara,

More information

From Business World to Software World: Deriving Class Diagrams from Business Process Models

From Business World to Software World: Deriving Class Diagrams from Business Process Models From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254

More information

Developing a Web-Based Application using OWL and SWRL

Developing a Web-Based Application using OWL and SWRL Developing a Web-Based Application using OWL and SWRL Martin J. O Connor, Ravi Shankar, Csongor Nyulas, Samson Tu, Amar Das Stanford Medical Informatics, Stanford University, Stanford, CA 94305-5479 {martin.oconnor,

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

Formal Ontologies in Model-based Software Development

Formal Ontologies in Model-based Software Development Formal Ontologies in Model-based Software Development Hele-Mai Haav, Andres Ojamaa, Vahur Kotkas, Pavel Grigorenko, Jaan Penjam Institute of Cybernetics at TUT About In general, ontologies as formal models

More information

The Ontological Approach for SIEM Data Repository

The Ontological Approach for SIEM Data Repository The Ontological Approach for SIEM Data Repository Igor Kotenko, Olga Polubelova, and Igor Saenko Laboratory of Computer Science Problems, Saint-Petersburg Institute for Information and Automation of Russian

More information

Geospatial Information with Description Logics, OWL, and Rules

Geospatial Information with Description Logics, OWL, and Rules Reasoning Web 2012 Summer School Geospatial Information with Description Logics, OWL, and Rules Presenter: Charalampos Nikolaou Dept. of Informatics and Telecommunications National and Kapodistrian University

More information

Models of Meaning and Models of Use: Binding Terminology to the EHR An Approach using OWL

Models of Meaning and Models of Use: Binding Terminology to the EHR An Approach using OWL Models of Meaning and Models of Use: Binding Terminology to the EHR An Approach using OWL AL Rector MD PhD 1, R Qamar MSc 1 and T Marley MSc 2 1 School of Computer Science, University of Manchester, Manchester

More information

Object-Oriented Systems Analysis and Design

Object-Oriented Systems Analysis and Design Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS

More information

Model-Driven Development: A Metamodeling Foundation

Model-Driven Development: A Metamodeling Foundation Model-Driven Development: A Metamodeling Foundation Colin Atkinson University of Mannheim 68161 Mannheim, Germany atkinson@informatik.uni-mannheim.de Thomas Kühne Darmstadt University of Technology 64283

More information

Architectural Design

Architectural Design Software Engineering Architectural Design 1 Software architecture The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural

More information

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components

More information

Research Topics 2009. MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com

Research Topics 2009. MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com Research Topics 2009 MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com About innoq Technology Consultancy Focus: Efficient software development & Service-oriented architecture Ratingen, Darmstadt, Munich,

More information

Quality Assurance of Textual Models within Eclipse using OCL and Model Transformations

Quality Assurance of Textual Models within Eclipse using OCL and Model Transformations Quality Assurance of Textual Models within Eclipse using OCL and Model Transformations Thorsten Arendt, Gabriele Taentzer, Alexander Weber Philipps-Universität Marburg, Germany {arendt,taentzer,weber87}@informatik.uni-marburg.de

More information

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling Budapest University of Technology and Economics Department of Measurement and Information Systems Business Process Modeling Process, business process Workflow: sequence of given steps executed in order

More information

A Collaborative System Software Solution for Modeling Business Flows Based on Automated Semantic Web Service Composition

A Collaborative System Software Solution for Modeling Business Flows Based on Automated Semantic Web Service Composition 32 A Collaborative System Software Solution for Modeling Business Flows Based on Automated Semantic Web Service Composition Ion SMEUREANU, Andreea DIOŞTEANU Economic Informatics Department, Academy of

More information

All you need are models Anneke Kleppe, Klasse Objecten

All you need are models Anneke Kleppe, Klasse Objecten Model Driven Architecture All you need are models Anneke Kleppe, Klasse Objecten Contents Limited Vision on MDA Modeling Maturity Levels Models Model Driven Development Model Driven Architecture MDA in

More information

Generating Enterprise Applications from Models

Generating Enterprise Applications from Models Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, 54, Industrial estate, Hadapsar, Pune, 411 013, INDIA { vinayk, rvenky,

More information

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de

More information

Information Technology for KM

Information Technology for KM On the Relations between Structural Case-Based Reasoning and Ontology-based Knowledge Management Ralph Bergmann & Martin Schaaf University of Hildesheim Data- and Knowledge Management Group www.dwm.uni-hildesheim.de

More information

Ontological Modeling: Part 6

Ontological Modeling: Part 6 Ontological Modeling: Part 6 Terry Halpin LogicBlox and INTI International University This is the sixth in a series of articles on ontology-based approaches to modeling. The main focus is on popular ontology

More information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu

More information

Java Generation from UML Models specified with Alf Annotations

Java Generation from UML Models specified with Alf Annotations Université de Franche-Comté Supervisers : Fabien Peureux, Isabelle Jacques Java Generation from UML Models specified with Alf Annotations Supervised project report Alexandre Vernotte Jean-Marie Gauthier

More information

A Model-Driven Traceability Framework for Software Product Lines

A Model-Driven Traceability Framework for Software Product Lines The Journal on Software and Systems Modeling manuscript No. (will be inserted by the editor) A Model-Driven Traceability Framework for Software Product Lines Nicolas Anquetil 1, Uirá Kulesza 2, Ralf Mitschke

More information

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Int'l Conf. Software Eng. Research and Practice SERP'15 225 Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Fraunhofer Institute of Optronics, System Technologies and

More information

Controlling Model-Driven Software Development through Composition Systems

Controlling Model-Driven Software Development through Composition Systems Fakultät Informatik, Institut für Software- und Multimediatechnologie, Lehrstuhl Softwaretechnologie Controlling Model-Driven Software Development through Composition Systems Jendrik Johannes, NW-MODE

More information

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda

More information

Large Scale Healthcare Data Integration using the Semantic Web

Large Scale Healthcare Data Integration using the Semantic Web Large Scale Healthcare Data Integration using the Semantic Web John T.E. Timm (presenter) Ariel Farkash Sondra R. Renly Oral Presentation at MIE 2011 August 30 th, 2011 Oslo, Norway Objectives Create a

More information

Clinical Knowledge Manager. Product Description 2012 MAKING HEALTH COMPUTE

Clinical Knowledge Manager. Product Description 2012 MAKING HEALTH COMPUTE Clinical Knowledge Manager Product Description 2012 MAKING HEALTH COMPUTE Cofounder and major sponsor Member and official submitter for HL7/OMG HSSP RLUS, EIS 'openehr' is a registered trademark of the

More information

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation Technical Brief April 2011 The National Consortium for Justice Information and Statistics Model-driven Development of NIEM Information Exchange Package Documentation By Andrew Owen and Scott Came Since

More information

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools Jack Greenfield Keith Short WILEY Wiley Publishing, Inc. Preface Acknowledgments Foreword Parti Introduction to

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

More information

Federated, Generic Configuration Management for Engineering Data

Federated, Generic Configuration Management for Engineering Data Federated, Generic Configuration Management for Engineering Data Dr. Rainer Romatka Boeing GPDIS_2013.ppt 1 Presentation Outline I Summary Introduction Configuration Management Overview CM System Requirements

More information

Automatic generation of optimal business processes from business rules

Automatic generation of optimal business processes from business rules Automatic generation of optimal business processes from business rules Bas Steen, Luís Ferreira Pires and Maria-Eugenia Iacob Centre for Telematics and Information Technology University of Twente Enschede,

More information