Semantic Model-driven Engineering
|
|
- Job Ford
- 6 years ago
- Views:
Transcription
1 Web Science & Technologies University of Koblenz Landau, Germany Semantic Model-driven Engineering with Gerd Gröner, Fernando Silva Parreiras, Tobias Walter
2 Who we are Prof. Dr. Staab Prof. Dr. Sure Semantic Web Dr. Janik Web Retrieval Dr. Sizov Interactive Web Dr. Scherp Multimedia Web Dr. Grzegorzek Software Web F. Silva Parreiras GESIS Prof. Sure EU NeOn DFG Multipla EU WeKnowIt EU X-Media EU Most EU WeGov BMBF CollabCloud HP Synth Docs EU WeGov EU kspace EU ASG EU Net2 EU Tagora EU acemedia 2of 84
3 Two Worlds of Models MDA / MDE Description Logics / Ontologies Ingredients Models: representing complementary views of a system Structural Behavioral Metamodeling: Linguistic instantiation of syntactic class descriptions Transformations: Towards target platform Adding refinements Ingredients Ontologies: representing complementary views of a system Structural (Behavioral) Metamodeling: Ontological instantiation of logical class descriptions Transformations: Between knowledge bases/ontologies 3of 84
4 Model-driven Engineering Refinements in several dimensions Refinements along metamodeling levels M3 Framework Developer specifies Metamodeling Language M2 DSL Designer specifies uses DSL Metamodel uses M1 DSL User builds Domain Model 4of 84
5 Model-driven Engineering Refinements in several dimensions Refinements along metamodeling levels Refinements along model specification From business developer to software developer 5of 84
6 Model-driven Engineering Refinements in several dimensions Refinements along model specification From business developer to software developer Refinements along metamodeling levels Refinements along platform specification For Ontology Translations UML UML JAVA PIM PSM Code Classical MDA 6of 84
7 Model-driven Engineering Refinements in several dimensions Refinements along metamodeling levels Refinements along model specification From business developer to software developer Refinements along platform specification For Ontology Translations Refinements along time Metamodel evolution Suggesting changes to transformations by DL reasoning Ontology API Co-evolution 7of 84
8 Agenda Description Logics Reasoning by Example Model-driven engineering with OWL Refinements in several dimensions Refinements along metamodeling levels [Models 2009, ECMFA 2010] Refinements along model specification [DL 2009, EKAW 2010] From business developer to software developer Refinements along platform specification [ER 2008] For Ontology Translations Refinements along time Metamodel evolution [ISWC2010] Suggesting changes to transformations by DL reasoning Ontology API Generation/Co-evolution[ICSC 2009] 8of 84
9 Description Logics Description Logics (DLs) are logics designed to represent and reason on structured knowledge The domain of interest is structured into (TBox): concepts, which correspond to classes, and denote sets of individuals roles, which correspond to associations, and denote binary relations on individuals The knowledge is asserted through so-called assertions (ABox) They provide formal semantics DLs provide the foundations for standard ontology languages, like OWL2 BUT: Why should a software engineer care? 9of 84
10 Model-driven Software Development using DL General Problems from Knowledge Representation (KR) perspective Representational View Lack of formal semantics in modeling languages metamodel to check syntax but not semantics of a model If there is a formal semantics, modeling languages are often too expressive to have sound and complete, full-fledged, general purpose reasoner Operational View Reasoning Tasks are not well automated Transformations from Models to Description Logics as an asset, not as a silver bullet 10 of 84
11 Example: Satisfiability Checking in the MDE Process Reasoning on UML class diagrams OWL [Calvanese et al, AIJ 2005] Translation UML UML JAVA PIM PSM Code Classical MDA 11 of 84
12 Example: Satisfiability Checking UserAccount Unsatisfiable Owns WebPortalAccount 0..n Uses 1..n User {complete, disjoint} Researcher Every WebPortalAccount is used by at most one Researcher if Researcher is empty, User and Student will be redundant Student Researcher is disjoint from Student 12 of 84
13 Example: Satisfiability Checking UserAccount Unsatisfiable Owns 0..n 1 User Uses {complete, disjoint} WebPortalAccount n Researcher Student Advantage for software engineering: Models with provably higher quality 13 of 84
14 Ontology Driven Software Development (ODSD) Using ontologies to formalize models Modeling relationships between artifacts Inferring relationships between artifacts, e.g. traceability relationships Ensuring semantic correctness by constraint validation Guiding the development by reasoning (reasoning in process/model development) 14 of 84
15 Agenda Description Logics Reasoning by Example Model-driven engineering (with OWL) Refinements in several dimensions Refinements along metamodeling levels [Models 2009, ECMFA 2010] Refinements along model specification [DL 2009, EKAW 2010] From business developer to software developer Refinements along platform specification [ER 2008] For Ontology Translations Refinements along time Metamodel evolution [ISWC2010] Suggesting changes to transformations by DL reasoning Ontology API Generation/Co-evolution[ICSC 2009] 15 of 84
16 A note on Software Languages as a field of research Grammarware Modelware Ruby Java OCL UML MOF Scala C# C Lisp Haskell Fortran Software Language Engineering Ecore ER diagrams BPMN BPEL Petrinets F-Logic RIF OWL-DL OntoWare 16 of 84
17 Objectives Context Software Languages Ontology Languages Language Bridges Transforming Software Languages to OWL Integrating Software Languages with OWL Services Reasoning Services Querying Services 17 of 84
18 MDE/MDA is based on Metamodeling Model hierarchy Ecore Metametamodel instanceof Language Designer Language User Ecore based Metamodel instanceof instanceof Model Model representationof representationof Real World Systems 18 of 84
19 Ecore vs. UML MOF simplifies UML Class Diagrams No n-ary associations No association classes Used for metamodeling Ecore: two aspects implements MOF as part of Eclipse Specification language like MOF (minus some bugs) 19 of 84
20 Example for 4-layered architecture Example: Process modeling Ecore Metametamodel conformsto Language Designer Ecore based Metamodel conformsto Model Language User 20 of 84
21 Example: Process Model Model (Activity Diagram) designed by language user Language User [order rejected] Receive Order [order accepted] Fill Order Ship Order Close Order Send Invoice Make Payment Accept Payment Invoice 21 of 84
22 Example: Metamodel for Process Models M2 metamodel (Activity Diagram) Language Designer conforms to Ecore M3 metametamodel visualized using concrete syntax of UML class diagrams 22 of 84
23 Example: Metamodel for Process Models (2) Ecore-based metamodel (Activity Diagram) conforms to Ecore M3 metametamodel visualized using textual concrete syntax abstract class ActivityNode { reference incoming [0-*] : ActivityEdge oppositeof target; reference outgoing [0-*] : ActivityEdge oppositeof source; } class ObjectNode extends ActivityNode { } class Action extends ActivityNode { attribute name : String; } Language Designer abstract class ControlNode extends ActivityNode { } class Initial extends ControlNode { } class Final extends ControlNode { } class Fork extends ControlNode { } class Join extends ControlNode { } class Merge extends ControlNode { } class Decision extends ControlNode { } abstract class ActivityEdge { reference source [1-1] : ActivityNode; reference target [1-1] : ActivityNode; } class ObjectFlow extends ActivityEdge { } class ControlFlow extends ActivityEdge 23 { of 84 }
24 Example: Metametamodel for Process Models Ecore M3 metametamodel 24 of 84
25 Exercise Take 10 minutes Write down a metamodel for Java method declarations (or for your other favorite language) Suggestion: write down 3 example method declarations first 25 of 84
26 Exercise 2 Take 5 minutes Write down a metametamodel i.e. a metamodel language for the metamodel describing Java method declarations 26 of 84
27 General Scheme for Metametamodel based Transformations 27 of 84
28 So far Metamodels as abstract grammar for our models Abstract grammar defines what is related to what Undefined: word order Undefined: semantics Undefined: visual syntax (e.g. textual or diagrammatic syntax) Now: ontologies are models, too! 28 of 84
29 Ontologies as Target Software Models OWL2 Metamodel (excerpt) 29 of 84
30 Ontologies as Target Software Models Linguistic instantiation of the OWL2 metamodel in OWL2 Functional Style Syntax (axiom-based) SubClassOf(ActivityEdge owl:thing) SubClassOf(ActivityNode owl:thing) ObjectPropertyDomain(to ActivityEdge) ObjectPropertyRange(to ActivityNode) ObjectPropertyDomain(outgoing ActivityNode) ObjectPropertyRange(outgoing ActivityEdge) ObjectPropertyDomain(from ActivityEdge) ObjectPropertyRange(from ActivityNode) ObjectPropertyDomain(incoming ActivityNode) ObjectPropertyRange(incoming ActivityEdge) ClassAssertion(action1 Action) 30 of 84
31 Ontologies as Target Software Models OWL2 Manchester Style Syntax (frame-based) requires a different metamodel Class: ActivityEdge SubClassOf: owl:thing Class: ActivityNode SubClassOf: owl:thing ObjectProperty: to Domain: ActivityEdge Range: ActivityNode ObjectProperty: outgoing Domain: ActivityNode Range: ActivityEdge ObjectProperty: from Domain: ActivityEdge Range: ActivityNode ObjectProperty: incoming Domain: ActivityNode Range: ActivityEdge Individual: action1 Types: Action 31 of 84
32 Translating ontology syntaxes OWL2 Functional Syntax metamodel define mapping OWL2 Manchester Syntax metamodel SubClassOf(ActivityEdge owl:thing) SubClassOf(ActivityNode owl:thing) ObjectPropertyDomain(to ActivityEdge) ObjectPropertyRange(to ActivityNode) ObjectPropertyDomain(outgoing ActivityNode) ObjectPropertyRange(outgoing ActivityEdge) ObjectPropertyDomain(from ActivityEdge) ObjectPropertyRange(from ActivityNode) ObjectPropertyDomain(incoming ActivityNode) ObjectPropertyRange(incoming ActivityEdge) ClassAssertion(action1 Action) derive translation Class: ActivityEdge SubClassOf: owl:thing Class: ActivityNode SubClassOf: owl:thing ObjectProperty: to Domain: ActivityEdge Range: ActivityNode ObjectProperty: outgoing Domain: ActivityNode Range: ActivityEdge ObjectProperty: from Domain: ActivityEdge Range: ActivityNode ObjectProperty: incoming Domain: ActivityNode Range: ActivityEdge Individual: action1 32 of 84 Types: Action
33 Comparing Ecore with OWL Many similar constructs Ecore package class instance and literals reference, attribute data types enumeration multiplicity Opposite reference Reasoners use logic-based language Representation of software models in a logic-based language We need bridges! OWL ontology class individual and literals object, data property data types enumeration cardinality Inverse object properties 33 of 84
34 Software Language Bridges 2 kinds of Language Bridges M3 Transformation bridge M3 Integration bridge Just one (of many) possible pictures 34 of 84
35 M3 Transformation Bridge Transformation of Ecore Technical Space with Ontology Language OWL2 Transformation of Ecore-based Metamodels Transformation of conforming Models Transformation Definition Transformation Use 35 of 84
36 M3 Transformation Bridge OWLizer Transforming Software Metamodels to Ontology TBox Transforming Software Models to Ontology ABox Language Designer OWLizing Language User 36 of 84 Just one (of many) possible pictures
37 Example: Ecore to OWL - OWLizer Language Designer Language User Definition of Transformation Bridge Model transformation rules according to mappings of constructs similar in Ecore and OWL2 37 of 84
38 Example: Ecore to OWL - OWLizer SubClassOf(ActivityEdge owl:thing) SubClassOf(ActivityNode owl:thing) use of transformation bridge Language Designer Language User use of transformation bridge ObjectPropertyDomain(to ActivityEdge) ObjectPropertyRange(to ActivityNode) ObjectPropertyDomain(from ActivityEdge) ObjectPropertyRange(from ActivityNode)... ClassAssertion(A Action) ClassAssertion(B Action) ClassAssertion(C Action) ClassAssertion(e1 ObjectFlow) ClassAssertion(e2 ObjectFlow) ObjectPropertyAssertion(to e1 B) ObjectPropertyAssertion(from e1 A) of 84
39 Video Transforming Ecore Models and Metamodels into OWL using the OWLizer.mp4 39 of 84
40 Some observations Transforming some class-like structures to OWL is sort of trivial But: A metamodel-based approach saves work if multiple output formats are expected Reasoning on the output/input structures may be helpful The demonstrations neglect (so far) the distinction between: Ecore: Linguistic instantiation The way how things may be phrased in a sentence is constrained OWL: Semantic instantiation The way how things are factually related in the world is constrained 40 of 84
41 How it works: Extending Software Metamodels Integration of Ecore Technical Space with Ontology Language OWL2 Integration of abstract Syntax OWL2 metamodel Create Ecore-based + Metametamodel metamodels with integrated Integration of concrete OWL2 Syntax axioms OWL2 concrete OWL2 syntax expressions + Ecore concrete Syntax 41 of 84
42 How it works: Integration of abstract Syntax Metamodel Integration by using Integration Operations Merge of concepts Relation of concepts by Specialization Relationship Association 42 of 84
43 How it works: Ecore Metametamodel + OWL2 Metamodel Integration of abstract Syntax Result: Integrated Metametamodel 43 of 84
44 How it works: Ecore concrete syntax Textual Concrete Syntax for Coding Metamodels Simple Syntax, similar to Java Grammar (concrete Syntax): class ::= ["abstract"] "class" name [supertypes] "{" features "}";... feature ::= attribute reference;... attribute ::= "attribute" name multiplicity ":" typeref ";";... reference ::= "reference" name multiplicity [iscontainer] ": typeref ["oppositeof" name] ";"; of 84
45 How it works: Example of Ecore Textual Concrete Syntax (textual) Activity Diagram Metamodel abstract class ActivityNode { reference incoming [0-*] : ActivityEdge oppositeof target; reference outgoing [0-*] : ActivityEdge oppositeof source; } class ObjectNode extends ActivityNode { } class Action extends ActivityNode { attribute name : String; } abstract class ControlNode extends ActivityNode { } class Initial extends ControlNode { } class Final extends ControlNode { } class Fork extends ControlNode { } class Join extends ControlNode { } class Merge extends ControlNode { } class Decision extends ControlNode { } abstract class ActivityEdge { reference source [1-1] : ActivityNode; reference target [1-1] : ActivityNode; } class ObjectFlow extends ActivityEdge { } class ControlFlow extends ActivityEdge { } 45 of 84
46 How it works: Extension of textual concrete syntax New non-terminals: classaxioms: produces a list of OWL Class Axioms objectpropertyaxioms: produces a list of OWL Object Property Axioms datapropertyaxioms: produces a list of OWL Data Property Axioms class ::= ["abstract"] "class" name [supertypes] [classaxioms] "{" features "}"; classaxioms ::= ClassAxiom { "," ClassAxiom}; reference ::= "reference" name multiplicity iscontainer ":" typeref "oppositeof name [objectpropertyaxioms] ";"; objectpropertyaxioms ::= ObjectPropertyAxiom { "," ObjectPropertyAxiom}; attribute ::= "attribute" name multiplicity ":" typeref [datapropertyaxioms] ";"; datapropertyaxioms ::= DataPropertyAxiom { "," DataPropertyAxiom}; 46 of 84
47 How it works: Example Extended Metamodel of Activity Diagram (excerpt) class ActivityNode equivalentwith restrictionon edge with some Final{ reference incoming [0-*] : ActivityEdge oppositeof target; reference outgoing [0-*] : ActivityEdge oppositeof source; } transitive reference edge [0-*] : ActivityNode ischain(outgoing, target);... class Initial extends ControlNode, subclassof restrictionon outgoing with some (restrictionon with some (Action or ControlNode)) { } 47 of 84
48 Transforming software model to OWL Why? Its the reasoning, stupid! 48 of 84
49 Video extending ecore models with owl annotations.mp4 49 of 84
50 Reasoning Services 50 of 84
51 Consistency Checking Name Consistency Checking Signature boolean consistency (Ontology O) Description Pattern Input Output Checks if the given ontology O is consistent, i.e. if there exists a model (a model-theoretic instance) for O. If ontology O is consistent, then return true. Otherwise return false. b = consistency (O) An Ontology O b = true iff O is consistent, b = false otherwise 51 of 84
52 Consistency Checking in Software Modeling Accomplished Service Ensures that a Model does not contain any contradictory facts with regard to its Language Metamodel Requirements for Language Designers Possibility to define Constraints and Restrictions Define Axioms Benefits for Language User Sound Models 52 of 84
53 Consistency Checking (be aware of OWA!) M2 Metamodel class ActivityNode equivalentwith restrictionon edge with some Final{ reference incoming [0-*] : ActivityEdge oppositeof target; reference outgoing [0-*] : ActivityEdge oppositeof source; } transitive reference edge [0-*] : ActivityNode ischain(outgoing, target); M1 Model Inconsistency: Disallowed Edge to Initial Action Receive Order 53 of 84
54 Satisfiability Checking Name Satisfiability checking Signature Set<Concept> GetUnsatisfiable (Ontology O) Description Pattern Input Output Find all unsatisfiable concepts in given ontology O. A concept in an ontology is unsatisfiable if it is an empty set. Return NULL if there is not any unsatisfiable concept. b = GetUnsatisfiable (O) An Ontology O b = NULL iff there is no unsatisfiable concept b = a set of unsatisfiable concepts otherwise 54 of 84
55 Satisfiability Checking in Software Modeling Accomplished Service Finds unsatisfiable classes in a metamodel Benefits for Language Designers Higher quality metamodels, where all classes can be instantiated Benefits for Language Users Less inconsistencies in models (because instances of unsatisfiable classes lead to inconsistencies) 55 of 84
56 Satisfiability Checking (Example) M2 Metamodel class ActivityNode equivalentwith restrictionon edge with some Final{ reference incoming [0-*] : ActivityEdge oppositeof target; reference outgoing [0-*] : ActivityEdge oppositeof source; } transitive reference edge [0-*] : ActivityNode ischain(outgoing, target); class Final extends ControlNode subclassof (restrictionon edge with some ActivityNode) and not(restrictionon edge with some ActivityNode) { } Unsatisfiable Class: two contradictory restrictions 56 of 84
57 Classification Name Classification Signature boolean classifiesas (Ontology O, concept A, individual i) Description Checks if the given individual i is an instance of concept A in the ontology ref, then return true. Otherwise return false. Pattern b = classifiesas ( O, A, i) Input An Ontology O, Concept A and Individual i Output b = true iff i is an instance of A, b = false otherwise 57 of 84
58 Classification in Software Modeling Accomplished Service Determines the most specific type an Model Element belongs to With respect to all Attributes and Properties in the Context of the Model Element Requirements for Language Designers Define Axioms Possibility to define Constraints and Restrictions Benefits for Language Users Automatically Refinement of Model Elements Suggestions of suitable domain concepts to be used 58 of 84
59 Classification (Example) M2 Metamodel class ObjectNode extends ActivityNode equivalentwith ((restrictionon incoming with some ObjectFlow) and (restrictionon outgoing with some ObjectFlow)) { } M1 Model Send Invoice Invoice Make Payment Classify Invoice Node Result: It is of type ObjectNode 59 of 84
60 Subsumption Checking Name Subsumption Checking Signature boolean subsumes (Ontology O, concept A, concept B) Description Pattern Input Output Checks whether the interpretation of A is a subset of the interpretation of B in the given ontology O. If the interpretation of A is a subset of the interpretation of B, then return true. Otherwise returns false. b = subsumes (O,A,B) An Ontology O and concepts A, B b = true iff the interpretation of A is a subset of the interpretation of B in the ontology O, b = false otherwise 60 of 84
61 Subsumption Checking in Software Modeling Accomplished Service Computes a Subsumption Hierarchy of all Classes based on all Class Expressions and Axioms in the Ontology Requirements for Language Designers Define Axioms Possibility to define Expressions and Restrictions 61 of 84
62 Explanation Name Signature Description Pattern Input Output Explanation Set<Axiom> getexplanation (Ontology O, axiom Ax) Retrieve the set of axioms that entail axiom Ax in the given ontology, then return them. b = getexplanation (O,Ax) An Ontology O and axiom Ax b = set of axioms that entail the given axiom Ax. b = NULL otherwise 62 of 84
63 Explanation for Software Modeling Accomplished Service Explanations for subsumptions and unsatisfiable classes in metamodels Explanations for inconsistencies in models Benefits for Language Designers Debugging of metamodels Benefits for Language Users Debugging of models 63 of 84
64 Explanation (Example Unsatisfiability) M2 Metamodel class ActivityNode equivalentwith restrictionon edge with some Final{ reference incoming [0-*] : ActivityEdge oppositeof target; reference outgoing [0-*] : ActivityEdge oppositeof source; } transitive reference edge [0-*] : ActivityNode ischain(outgoing, target); class Final extends ControlNode subclassof (restrictionon edge with some ActivityNode) and not(restrictionon edge with some ActivityNode) { } Explanation from TwoUse Toolkit Unsatisfiability of Final: Explanation: Final equivalentto not edge some ActivityNode and edge some ActivityNode 64 of 84
65 Querying Name Query answering Signature Set answering (Ontology O, query q) Description checks the answer sets of a query q to ontology O. Pattern res = answering (Ontology O, query q) Input Output An Ontology O, and a query q res = a set of answers of the query to the ontology iff there is a answer set res = NULL if there is not any answer 65 of 84
66 Querying Service for Software Modeling Accomplished Service Query for model elements and metamodel element Use of OWL2 entailment regime Benefits for Language Designers Retrieving information on concepts Benefits for Language Users Retrieving existing and complex parts of models E.g. [Tappolet-2010]. 66 of 84
67 Querying (Example) Find all actions, that are executed before Ship Order : Query ( ClassAssertion(?i Action), ObjectPropertyAssertion(InverseInverseObjectProperties(edge)?i shiporder)) Results: c ================= fillorder receiveorder M1 Model [order rejected] Receive Order [order accepted] Fill Order Ship Order Close Order Send Invoice Make Payment Accept Payment Invoice 67 of 84
68 Querying (Example) Find all unsatisfiable classes: Query ( SubClassOf(?c owl:nothing) ) Results: c ============ Nothing Final Find all concepts that do not go via edge to Final: Query ( EquivalentClasses(?c Not(ObjectSomeValuesFrom(edge Final)))) Results: c =================== ActivityDiagram of 84
69 Special notes: Open vs. Closed World Mapping to: Abox: Incomplete vs. Complete models Tbox: no problem Tools support: Open World yes Closed Domain yes Closed World not really 69 of 84
70 Conclusion for this part OWL Ontologies are software models Metamodeling facilitates life: Use of established modeling tools definition of translations Reasoning not restricted to UML Class Diagrams Translation Classical MDA Model Model Software PIM PSM Code 70 of 84
71 Discussion Questions? 71 of 84
72 Semantic Model-driven Engineering Improving Design Patterns by Description Logics: An integration bridge with Gerd Gröner, Fernando Silva Parreiras, Tobias Walter 72 of 84
73 Agenda Description Logics Reasoning by Example Model-driven engineering with OWL Refinements in several dimensions Refinements along metamodeling levels [Models 2009, ECMFA 2010] Refinements along model specification [DL 2009, EKAW 2010] From business developer to software developer Refinements along platform specification [ER 2008, DKE2010] For Ontology Translations Refinements along time Metamodel evolution [ISWC2010] Suggesting changes to transformations by DL reasoning Ontology API Generation/Co-evolution [ICSC 2009] 73 of 84
74 This part of the tutorial is about Weaving features of Description Logics into the Strategy Pattern under the variant management subset of software design patterns. Description Logics (OWL) Classification Inference Variant Management Algorithm Encapsulation Factorization of common functionality Choice of implementations Sel ec tor Pa tter n Software Design Patterns 74 of 84
75 Running Example An order-processing system for an international e- commerce company in the United States This system must be able to process sales orders in many different countries, like the USA and Germany, and handle different tax calculations. 75 of 84
76 Strategy Pattern context TaskController::getRulesForCountry():Tax body: if so.customer.country.name = 'USA' then USTax.new() else if so.customer.country.name = 'GERMANY' then GermanTax.new() endif endif Client How to improve it? TaskController so : SalesOrder getrulesforcountry() : Tax process() Coupling 3. Customer Country name : String SalesOrder process(tax : Tax) USTax Tax taxamount() 4. GermanTax Drawbacks: Tangling Context Strategies 76 of 84
77 Building Blocks -The TwoUse solution Uses an Ontology to describe Context and Strategies Classifies dynamically the Context - Hybrid Diagram - Metamodel - Transformation Process Client TaskController so : SalesOrder getrulesforcountry(): Tax process() Customer SalesOrder process(tax : Tax) Tax taxamount() Context Country name:string USTax GermanTax Strategies 77 of 84
78 Hybrid Diagram: Strategy Pattern + OWL No Coupling No Tangling TaskController process() «owlclass» Customer context SalesOrder::getRulesForCountry():OclType body: Select?T where?self directtype?t «owlclass» Country «owlclass» SalesOrder process() getrulesforcountry() «rdfsubclassof» «owlclass» (USSalesOrder) USTax «equivalentclass» «owlrestriction» Tax taxamount() «rdfsubclassof» «owlclass» (GermanSalesOrder) GermanTax «equivalentclass» «owlrestriction» UML OWL TwoUse Dynamic Classification Reuse «owlvalue» {somevaluesfrom=uscustomer} hascustomer «owlrestriction» USCustomer «owlvalue» {hasvalue = USA} country : Country «owlrestriction» GermanCustomer «owlvalue» {hasvalue = GERMANY} hascountry : Country «owlvalue» {somevaluesfrom=germancustomer} hascustomer 78 of 84 Flexibility
79 TwoUse Metamodels Organization M3 MOF InstanceOf UML OWL M2 TwoUse SPARQL 79 of 84
80 Transformation Process Abstract Syntax M2 M1 UML Metamodel TwoUse Metamodel UML TwoUse 1. OWL Metamodel InstanceOf OWL Metamodel Grammar Ontology Java Metamodel Java 3. Java OWL Concrete Syntax UML Profiled 4TwoUse UML Profiled 4 OWL UML Profiled 4Java Java Reasoner API PIM PSM PSM Source Code OWL RDF XML Syntax 80 of 84
81 Key Messages The Ontology can be: reused independently of platform; modeled and evolved independently of the execution logic; tested automatically by logical unit tests. Changes required for adoption are minor. 81 of 84
82 References Software Language Engineering, 3rd Int. Conf, October 2010, Eindhoven Applying model-driven engineering for the Semantic Web S. Brockmans, R. Volz, A. Eberhart, and P. Löffler. Visual modeling of OWL DL ontologies using UML. In Proc. of ISWC 2004, pages , Gasevic, D., Djuric, D., Devedzic, V.: Model Driven Engineering and Ontology Development, 2nd Ed. Springer (2009) F. S. Parreiras, G. Gröner, T. Walter, S. Staab. A model-driven approach for using templates in OWL ontologies. In: Proc. of the European Conference on Knowledge Acquisition and Management EKAW Lisbon, Portugal, October 2008, LNCS, Springer. F. Silva Parreiras, C. Saathoff, T. Walter, T. Franz, S. Staab: APIs `a gogo: Automatic Generation of Ontology APIs. In: IEEE Int. Conference on Semantic Computing, IEEE Press, F. Silva Parreiras, S. Staab, S. Schenk, A. Winter. Model Driven Specification of Ontology Translations. ER th International Conference on Conceptual Modeling, LNCS, Springer, Applying RDF/OWL querying for software engineering Jonas Tappolet, Christoph Kiefer, Abraham Bernstein, Semantic web enabled software analysis, Journal of Web Semantics: Science, Services and Agents on the World Wide Web 8, July 2010 G. Gröner, S. Staab. Modeling and Query Patterns for Process Retrieval in OWL. In: Proc. of ISWC-2009 International Semantic Web Conference, Westfield, USA, Oct 25-29, of 84
83 References Applying ontology reasoning for software engineering G. Gröner, S. Staab. Specialization and Validation of Statecharts in OWL. In: Proc. of the European Conference on Knowledge Acquisition and Management EKAW October 2008, LNCS, Springer. F. Silva Parreiras, S. Staab, A. Winter. Improving Design Patterns by Description Logics: An Use Case with Abstract Factory and Strategy. In: Proc. of Modellierung LNI, Gi e.v, März Wang, H., Li, Y., Sun, J., Zhang, H., Pan, J.: Verifying Feature Models using OWL. J of Web Semantics 5(2) (2007) Y. Ren, G. Gröner, J. Lemcke, T. Rahmani, A. Friesen, Y. Zhao, J. Z. Pan, S. Staab. Validating Process Refinement with Ontologies. In: The 22nd International Workshop on Description Logics (DL2009). 27 to 30 July 2009, Oxford, United Kingdom. 83 of 84
84 References Integrating software and ontology engineering practices: F. Silva Parreiras, S. Staab, A. Winter. On Marrying Ontological and Metamodeling Technical Spaces. In: ESEC/ACM FSE-2007 Proceedings of the 6th joint meeting of the European software engineering conference and the 14th ACM SIGSOFT symposium on Foundations of software engineering, September 03-07, 2007, Dubrovnik, Croatia. ACM 2007, pp F. S. Parreiras, S. Staab. Using Ontologies with UML Class-based Modeling: The TwoUse Approach. In: Data & Knowledge Engineering, Elsevier, to appear. Integrating software and ontology engineering practices: Creating Domain-specific languages with OWL T. Walter, F. S. Parreiras, S. Staab, J. Ebert. Joint Language and Domain Engineering. In: B. Selic & T. Kühne (eds.). Proc. of ECMFA th European Conference on Modelling Foundations and Applications (formerly ECMDA-FA), LNCS, Springer, Paris, France, June T. Walter, F. Silva Parreiras, S. Staab. OntoDSL: An Ontology-based Development Environment for Domain-specific Languages. In: Proc. of Models ACM/IEEE 12th Int. Conference on Model Driven Engineering Languages and Systems. Denver, Colorado, October 4-9, Upcoming books Uwe Assmann, Jeff Pan,, Yuting (eds.) Marrying ontology and software technologies, book, by Springer, 2011 F. Parreiras, TwoUse book, by Wiley, early of 84
Semantic Model-driven Engineering
Web Science & Technologies University of Koblenz Landau, Germany Semantic Model-driven Engineering Acknowledgements to students and colleagues@most project http://most-project.eu New level in Software
More information<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany
Information Systems University of Koblenz Landau, Germany Joint Metamodels for UML and OWL Ontologies & Software Tech: Starting Point @Koblenz IST Institute for Software Technology @Koblenz OWL Model theory
More informationModel Driven Engineering with Ontology Technologies
Model Driven Engineering with Ontology Technologies Steffen Staab, Tobias Walter, Gerd Gröner, and Fernando Silva Parreiras Institute for Web Science and Technology, University of Koblenz-Landau Universitätsstrasse
More informationSEMANTIC WEB AND MODEL-DRIVEN ENGINEERING
SEMANTIC WEB AND MODEL-DRIVEN ENGINEERING IEEE Press 445 Hoes Lane Piscataway, NJ 08854 IEEE Press Editorial Board Lajos Hanzo, Editor in Chief R. Abhari M. El-Hawary O. P. Malik J. Anderson B-M. Haemmerli
More informationAutomation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1
Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:
More informationTrOWL: Tractable OWL 2 Reasoning Infrastructure
TrOWL: Tractable OWL 2 Reasoning Infrastructure Edward Thomas, Jeff Z. Pan, and Yuan Ren Department of Computing Science, University of Aberdeen, Aberdeen AB24 3UE, UK Abstract. The Semantic Web movement
More informationPresented By Aditya R Joshi Neha Purohit
Presented By Aditya R Joshi Neha Purohit Pellet What is Pellet? Pellet is an OWL- DL reasoner Supports nearly all of OWL 1 and OWL 2 Sound and complete reasoner Written in Java and available from http://
More informationOntoDSL: An Ontology-Based Framework for Domain-Specific Languages
OntoDSL: An Ontology-Based Framework for Domain-Specific Languages Tobias Walter 1,2, Fernando Silva Parreiras 1, and Steffen Staab 1 1 ISWeb Information Systems and Semantic Web, Institute for Computer
More informationStatic analysis and testing of executable DSL specification
Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:
More informationchallenges in domain-specific modeling raphaël mannadiar august 27, 2009
challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing
More informationThe OWL API: An Introduction
The OWL API: An Introduction Sean Bechhofer and Nicolas Matentzoglu University of Manchester sean.bechhofer@manchester.ac.uk OWL OWL allows us to describe a domain in terms of: Individuals Particular objects
More informationIntegrating TwoUse and OCL- DL
Integrating TwoUse and OCL- DL Studienarbeit in computer science presented by David Saile Advisor: Fernando Silva Parreiras, FB4 Koblenz, january 2010 Contents 1 Introduction...................................................
More informationModel Driven Engineering (MDE)
Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering
More informationMetamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1
Metamodeling The slides 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 Group) 16. April 2012
More informationTransformational Design with
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität
More informationA Tool for Storing OWL Using Database Technology
A Tool for Storing OWL Using Database Technology Maria del Mar Roldan-Garcia and Jose F. Aldana-Montes University of Malaga, Computer Languages and Computing Science Department Malaga 29071, Spain, (mmar,jfam)@lcc.uma.es,
More informationTowards using OWL DL as a metamodelling framework for ATL
Towards using OWL DL as a metamodelling framework for ATL Dennis Wagelaar Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussels, Belgium dennis.wagelaar@vub.ac.be Abstract. Ontologies have become increasingly
More informationNetworked Ontologies
Networked Ontologies Information Systems & Semantic Web Universität Koblenz-Landau Koblenz, Germany With acknowledgements to S. Schenk, M. Aquin, E. Motta and the NeOn project team http://www.neon-project.org/
More informationSemantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau
Semantic Web Ontology Pattern Gerd Gröner, Matthias Thimm {groener,thimm}@uni-koblenz.de Institute for Web Science and Technologies (WeST) University of Koblenz-Landau July 18, 2013 Gerd Gröner, Matthias
More informationSimplified Approach for Representing Part-Whole Relations in OWL-DL Ontologies
Simplified Approach for Representing Part-Whole Relations in OWL-DL Ontologies Pace University IEEE BigDataSecurity, 2015 Aug. 24, 2015 Outline Ontology and Knowledge Representation 1 Ontology and Knowledge
More informationATL TRANSFORMATION EXAMPLE
1. ATL Transformation Example 1.1. Example: KM3 Problem The example describes a transformation a KM3 metamodel [1] in a Problem model. The generated Problem model contains the list of non-structural errors
More informationTransforming models with ATL
The ATLAS Transformation Language Frédéric Jouault ATLAS group (INRIA & LINA), University of Nantes, France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The present courseware has
More informationOverview of lectures today and Wednesday
Model-driven development (MDA), Software Oriented Architecture (SOA) and semantic web (exemplified by WSMO) Draft of presentation John Krogstie Professor, IDI, NTNU Senior Researcher, SINTEF ICT 1 Overview
More informationExtracting Finite Sets of Entailments from OWL Ontologies
Extracting Finite Sets of Entailments from OWL Ontologies Samantha Bail, Bijan Parsia, Ulrike Sattler The University of Manchester Oxford Road, Manchester, M13 9PL {bails,bparsia,sattler@cs.man.ac.uk}
More informationDresden OCL2 in MOFLON
Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology
More informationThe TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations
The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations Agris Sostaks, Elina Kalnina, Audris Kalnins, Edgars Celms, and Janis Iraids Institute of Computer Science and Mathematics,
More informationH1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services.
1. (24 points) Identify all of the following statements that are true about the basics of services. A. If you know that two parties implement SOAP, then you can safely conclude they will interoperate at
More informationTowards Ontology-driven Requirements Engineering (ODRE)
Towards Ontology-driven Requirements Engineering (ODRE) Katja Siegemund 1, Edward J. Thomas 2, Uwe Aßmann 1, Jeff Pan 2, Yuting Zhao 2 1 Technische Universität Dresden, Germany 2 University of Aberdeen,
More informationSoftware Language Engineering of Architectural Viewpoints
Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr
More informationAn Architecture for Semantic Enterprise Application Integration Standards
An Architecture for Semantic Enterprise Application Integration Standards Nenad Anicic 1, 2, Nenad Ivezic 1, Albert Jones 1 1 National Institute of Standards and Technology, 100 Bureau Drive Gaithersburg,
More informationRepresenting Product Designs Using a Description Graph Extension to OWL 2
Representing Product Designs Using a Description Graph Extension to OWL 2 Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. Product development requires
More informationComputation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):
viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information
More informationSemantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique
Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique Minal Bhise DAIICT, Gandhinagar, Gujarat, India 382007 minal_bhise@daiict.ac.in Abstract. The semantic web offers
More informationOntological Modeling: Part 7
Ontological Modeling: Part 7 Terry Halpin LogicBlox and INTI International University This is the seventh in a series of articles on ontology-based approaches to modeling. The main focus is on popular
More informationBridging EMF applications and RDF data sources
Bridging EMF applications and RDF data sources Guillaume Hillairet, Frédéric Bertrand, Jean Yves Lafaye {guillaume.hillairet01, fbertran, jylafaye}@univ-lr.fr Laboratoire Informatique Image Interaction
More informationMDA & Semantic Web Services Integrating SWSF & OWL with ODM
MDA & Semantic Web Services Integrating SWSF & OWL with ODM Elisa Kendall Sandpiper Software March 30, 2006 Level Setting An ontology specifies a rich description of the Terminology, concepts, nomenclature
More informationl A family of logic based KR formalisms l Distinguished by: l Decidable fragments of FOL l Closely related to Propositional Modal & Dynamic Logics
What Are Description Logics? Description Logics l A family of logic based KR formalisms Descendants of semantic networks and KL-ONE Describe domain in terms of concepts (classes), roles (relationships)
More informationCompositional Model Based Software Development
Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability
More informationSemantics. KR4SW Winter 2011 Pascal Hitzler 1
Semantics KR4SW Winter 2011 Pascal Hitzler 1 Knowledge Representation for the Semantic Web Winter Quarter 2011 Pascal Hitzler Slides 5 01/20+25/2010 Kno.e.sis Center Wright State University, Dayton, OH
More informationSemantic Web Test
Semantic Web Test 24.01.2017 Group 1 No. A B C D 1 X X X 2 X X 3 X X 4 X X 5 X X 6 X X X X 7 X X 8 X X 9 X X X 10 X X X 11 X 12 X X X 13 X X 14 X X 15 X X 16 X X 17 X 18 X X 19 X 20 X X 1. Which statements
More informationGenTax: A Generic Methodology for Deriving OWL and RDF-S Ontologies from Hierarchical Classifications, Thesauri, and Inconsistent Taxonomies
Leopold Franzens Universität Innsbruck GenTax: A Generic Methodology for Deriving OWL and RDF-S Ontologies from Hierarchical Classifications, Thesauri, and Inconsistent Taxonomies Martin HEPP DERI Innsbruck
More informationOntological Modeling: Part 11
Ontological Modeling: Part 11 Terry Halpin LogicBlox and INTI International University This is the eleventh in a series of articles on ontology-based approaches to modeling. The main focus is on popular
More informationGuiding System Modelers in Multi View Environments: A Domain Engineering Approach
Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Arnon Sturm Department of Information Systems Engineering Ben-Gurion University of the Negev, Beer Sheva 84105, Israel
More informationDescription Logics and OWL
Description Logics and OWL Based on slides from Ian Horrocks University of Manchester (now in Oxford) Where are we? OWL Reasoning DL Extensions Scalability OWL OWL in practice PL/FOL XML RDF(S)/SPARQL
More informationModelling in Enterprise Architecture. MSc Business Information Systems
Modelling in Enterprise Architecture MSc Business Information Systems Models and Modelling Modelling Describing and Representing all relevant aspects of a domain in a defined language. Result of modelling
More informationOntologies and OWL. Riccardo Rosati. Knowledge Representation and Semantic Technologies
Knowledge Representation and Semantic Technologies Ontologies and OWL Riccardo Rosati Corso di Laurea Magistrale in Ingegneria Informatica Sapienza Università di Roma 2016/2017 The Semantic Web Tower Ontologies
More informationDescription Logic. Eva Mráková,
Description Logic Eva Mráková, glum@fi.muni.cz Motivation: ontology individuals/objects/instances ElizabethII Philip Philip, Anne constants in FOPL concepts/classes/types Charles Anne Andrew Edward Male,
More informationIntegrating SysML and OWL
Integrating SysML and OWL Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. To use OWL2 for modeling a system design one must be able to construct
More information52. Staged Software Architectures with Staged Composition
52. Staged Software Architectures with Staged Composition Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnologie Version 14-1.0, 12.07.14 1) Web programming
More informationPlan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language
Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.
More informationObject-Oriented Theories for Model Driven Architecture
Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University
More informationLanguage engineering and Domain Specific Languages
Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.
More informationModel driven Engineering & Model driven Architecture
Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software
More informationFirst Steps Towards Conceptual Schema Testing
First Steps Towards Conceptual Schema Testing Albert Tort and Antoni Olivé Universitat Politècnica de Catalunya {atort,olive}@lsi.upc.edu Abstract. Like any software artifact, conceptual schemas of information
More informationLocal Closed World Reasoning with OWL 2
Local Closed World Reasoning with OWL 2 JIST 2011 Tutorial Jeff Z. Pan Department of Computing Science University of Aberdeen, UK Agenda 1. Brief introduction to Ontology and OWL 2 (10m) 2. Open vs. Closed
More information2 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 informationOntology-based Model Synchronisation
Ontology-based Model Synchronisation Federico Rieckhof, Mirko Seifert, and Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik D-01062, Dresden, Germany federico.rieckhof
More informationSemantic Recognition of Ontology Refactoring
Semantic Recognition of Ontology Refactoring Gerd Gröner, Fernando Silva Parreiras, and Steffen Staab WeST Institute for Web Science and Technologies University of Koblenz-Landau {groener, parreiras, staab}@uni-koblenz.de
More informationDescription Logics as Ontology Languages for Semantic Webs
Description Logics as Ontology Languages for Semantic Webs Franz Baader, Ian Horrocks, and Ulrike Sattler Presented by:- Somya Gupta(10305011) Akshat Malu (10305012) Swapnil Ghuge (10305907) Presentation
More informationStarting Ontology Development by Visually Modeling an Example Situation - a User Study
Starting Ontology Development by Visually Modeling an Example Situation - a User Marek Dudáš 1, Vojtěch Svátek 1, Miroslav Vacura 1,2, and Ondřej Zamazal 1 1 Department of Information and Knowledge Engineering,
More informationSequence Diagram Generation with Model Transformation Technology
, March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,
More informationRaDON Repair and Diagnosis in Ontology Networks
RaDON Repair and Diagnosis in Ontology Networks Qiu Ji, Peter Haase, Guilin Qi, Pascal Hitzler, and Steffen Stadtmüller Institute AIFB Universität Karlsruhe (TH), Germany {qiji,pha,gqi,phi}@aifb.uni-karlsruhe.de,
More informationCOMP718: Ontologies and Knowledge Bases
1/38 COMP718: Ontologies and Knowledge Bases Lecture 4: OWL 2 and Reasoning Maria Keet email: keet@ukzn.ac.za home: http://www.meteck.org School of Mathematics, Statistics, and Computer Science University
More informationAn Introduction to MDE
An Introduction to MDE Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila alfonso@di.univaq.it. Outline 2 2» Introduction» What is a Model?» Model Driven Engineering Metamodeling
More informationExplaining Subsumption in ALEHF R + TBoxes
Explaining Subsumption in ALEHF R + TBoxes Thorsten Liebig and Michael Halfmann University of Ulm, D-89069 Ulm, Germany liebig@informatik.uni-ulm.de michael.halfmann@informatik.uni-ulm.de Abstract This
More informationApplying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages
Applying Model Driven Technologies in the Creation Model Driven Development Language Editor Generator Abstraction Model Driven Development Refinement of Domain Specific Modeling Languages Bruce Trask Angel
More informationIntroduction to Dependable Systems: Meta-modeling and modeldriven
Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software
More informationjcel: A Modular Rule-based Reasoner
jcel: A Modular Rule-based Reasoner Julian Mendez Theoretical Computer Science, TU Dresden, Germany mendez@tcs.inf.tu-dresden.de Abstract. jcel is a reasoner for the description logic EL + that uses a
More informationDetailed Description and User Guide
Overview The aim of this Use Case is to implement a set of mappings already defined between a pair of metamodels using the ATL language. More specifically, we want to implement the transformation for obtaining
More informationThe Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling
UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive
More informationThe Eclipse Modeling Framework and MDA Status and Opportunities
The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:
More informationOntology Development and Engineering. Manolis Koubarakis Knowledge Technologies
Ontology Development and Engineering Outline Ontology development and engineering Key modelling ideas of OWL 2 Steps in developing an ontology Creating an ontology with Protégé OWL useful ontology design
More informationUML is still inconsistent!
Department of Computer Science Institute for Software and Multimedia Engineering, Software Technology Group UML is still inconsistent! How to improve OCL Constraints in the UML 2.3 Superstructure Claas
More informationBLU AGE 2009 Edition Agile Model Transformation
BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation
More informationMain topics: Presenter: Introduction to OWL Protégé, an ontology editor OWL 2 Semantic reasoner Summary TDT OWL
1 TDT4215 Web Intelligence Main topics: Introduction to Web Ontology Language (OWL) Presenter: Stein L. Tomassen 2 Outline Introduction to OWL Protégé, an ontology editor OWL 2 Semantic reasoner Summary
More informationDRAOn: A Distributed Reasoner for Aligned Ontologies
DRAOn: A Distributed Reasoner for Aligned Ontologies Chan Le Duc 1, Myriam Lamolle 1, Antoine Zimmermann 2, and Olivier Curé 3 1 LIASD Université Paris 8 - IUT de Montreuil, France {chan.leduc, myriam.lamolle}@iut.univ-paris8.fr
More informationMetamodeling. Janos Sztipanovits ISIS, Vanderbilt University
Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages
More informationWHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG
WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES Christian de Sainte Marie ILOG Introduction We are interested in the topic of communicating policy decisions to other parties, and, more generally,
More informationInstitute of Automatics AGH University of Science and Technology, POLAND. Hybrid Knowledge Engineering.
Institute of Automatics AGH University of Science and Technology, POLAND Hybrid Knowledge Engineering http://hekate.ia.agh.edu.pl and the process and (AGH-UST) 1 / 57 Outline 1 2 3 4 and the process and
More informationIntroduction to MDE and Model Transformation
Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and
More informationDescription Logic Systems with Concrete Domains: Applications for the Semantic Web
Description Logic Systems with Concrete Domains: Applications for the Semantic Web Volker Haarslev and Ralf Möller Concordia University, Montreal University of Applied Sciences, Wedel Abstract The Semantic
More informationAdvanced Topics in Software Engineering (02265) Ekkart Kindler
Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax
More informationWeek 4. COMP62342 Sean Bechhofer, Uli Sattler
Week 4 COMP62342 Sean Bechhofer, Uli Sattler sean.bechhofer@manchester.ac.uk, uli.sattler@manchester.ac.uk Today Some clarifications from last week s coursework More on reasoning: extension of the tableau
More informationModel Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)
Model Driven Engineering (MDE) and Department of Computer Engineering Faculty of Engineering Bergen University College NORWAY 06.06.2008 Institute of Mathematics and Informatics, Vilnius, LITHUANIA Project
More informationDeveloping Web-Based Applications Using Model Driven Architecture and Domain Specific Languages
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain
More informationExtracting knowledge from Ontology using Jena for Semantic Web
Extracting knowledge from Ontology using Jena for Semantic Web Ayesha Ameen I.T Department Deccan College of Engineering and Technology Hyderabad A.P, India ameenayesha@gmail.com Khaleel Ur Rahman Khan
More informationOntology mutation testing
Ontology mutation testing February 3, 2016 Cesare Bartolini Interdisciplinary Centre for Security, Reliability and Trust (SnT), University of Luxembourg Outline 1 Mutation testing 2 Mutant generation 3
More informationModel Migration Case for TTC 2010
Model Migration Case for TTC 2010 Louis M. Rose, Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, UK. [louis,dkolovos,paige,fiona]@cs.york.ac.uk
More information<is web> 1 st Face to Face Meeting of the W3C XG Multimedia Semantics XG MMSEM. Thomas Franz. ISWeb - Information Systems & Semantic Web
University of Koblenz-Landau, Germany 1 st Face to Face Meeting of the W3C XG Multimedia Semantics ISWeb @ XG MMSEM ISWeb Interests by Books Ontologies Text & Multimedia P2P Webservices Projects Ontologies
More informationModeling the Evolution of Aspect Configurations using Model Transformations
Modeling the Evolution of Aspect Configurations using Model Transformations Uwe Zdun, Mark Strembeck Institute of Information Systems, New Media Lab Vienna University of Economics, Austria {uwe.zdun mark.strembeck}@wu-wien.ac.at
More informationCISC836: Models in Software Development: Methods, Techniques and Tools
CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF
More informationKnowledge Representations. How else can we represent knowledge in addition to formal logic?
Knowledge Representations How else can we represent knowledge in addition to formal logic? 1 Common Knowledge Representations Formal Logic Production Rules Semantic Nets Schemata and Frames 2 Production
More informationTechnische Universität Dresden Institut für Software- und Multimediatechnik
On the Use of Ontologies in the Software Process Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik uwe.assmann@inf.tu-dresden.de Suppose you were Mr Bernhard... REWERSE.net
More informationOn the Reduction of Dublin Core Metadata Application Profiles to Description Logics and OWL
On the Reduction of Dublin Core Metadata Application Profiles to Description Logics and OWL Dimitrios A. Koutsomitropoulos High Performance Information Systems Lab, Computer Engineering and Informatics
More informationModel Driven Ontology: A New Methodology for Ontology Development
Model Driven Ontology: A New Methodology for Ontology Development Mohamed Keshk Sally Chambless Raytheon Company Largo, Florida Mohamed.Keshk@raytheon.com Sally.Chambless@raytheon.com Abstract Semantic
More informationA Heuristic Approach to Explain the Inconsistency in OWL Ontologies Hai Wang, Matthew Horridge, Alan Rector, Nick Drummond, Julian Seidenberg
A Heuristic Approach to Explain the Inconsistency in OWL Ontologies Hai Wang, Matthew Horridge, Alan Rector, Nick Drummond, Julian Seidenberg 1 Introduction OWL IS COMING!! Debugging OWL is very difficult
More informationScalability via Parallelization of OWL Reasoning
Scalability via Parallelization of OWL Reasoning Thorsten Liebig, Andreas Steigmiller, and Olaf Noppens Institute for Artificial Intelligence, Ulm University 89069 Ulm, Germany firstname.lastname@uni-ulm.de
More informationIndex. business modeling syntax 181 business process modeling 57 business rule 40
OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity
More informationModel Driven Development of Context Aware Software Systems
Model Driven Development of Context Aware Software Systems Andrea Sindico University of Rome Tor Vergata Elettronica S.p.A. andrea.sindico@gmail.com Vincenzo Grassi University of Rome Tor Vergata vgrassi@info.uniroma2.it
More informationExecutable UML the silver bullet or maybe not Dr. Joel Henry October 22, 2008
Executable UML the silver bullet or maybe not Dr. Joel Henry October 22, 2008 Background Overview Model Driven Development (MDD) Unified Modeling Language (UML) Executable UML (xuml) Testing challenges
More information