Semantic Model-driven Engineering

Size: px
Start display at page:

Download "Semantic Model-driven Engineering"

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

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

<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 information

Model Driven Engineering with Ontology Technologies

Model 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 information

SEMANTIC WEB AND MODEL-DRIVEN ENGINEERING

SEMANTIC 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 information

Automation 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 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 information

TrOWL: Tractable OWL 2 Reasoning Infrastructure

TrOWL: 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 information

Presented By Aditya R Joshi Neha Purohit

Presented 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 information

OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

OntoDSL: 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 information

Static analysis and testing of executable DSL specification

Static 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 information

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

challenges 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 information

The OWL API: An Introduction

The 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 information

Integrating TwoUse and OCL- DL

Integrating 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 information

Model Driven Engineering (MDE)

Model 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 information

Metamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1

Metamodeling. 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 information

Transformational Design with

Transformational 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 information

A Tool for Storing OWL Using Database Technology

A 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 information

Towards using OWL DL as a metamodelling framework for ATL

Towards 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 information

Networked Ontologies

Networked 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 information

Semantic 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. 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 information

Simplified Approach for Representing Part-Whole Relations in OWL-DL Ontologies

Simplified 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 information

ATL TRANSFORMATION EXAMPLE

ATL 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 information

Transforming models with ATL

Transforming 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 information

Overview of lectures today and Wednesday

Overview 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 information

Extracting Finite Sets of Entailments from OWL Ontologies

Extracting 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 information

Dresden OCL2 in MOFLON

Dresden 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 information

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations

The 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 information

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services.

H1 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 information

Towards Ontology-driven Requirements Engineering (ODRE)

Towards 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 information

Software Language Engineering of Architectural Viewpoints

Software 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 information

An Architecture for Semantic Enterprise Application Integration Standards

An 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 information

Representing Product Designs Using a Description Graph Extension to OWL 2

Representing 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 information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation 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 information

Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique

Semantic 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 information

Ontological Modeling: Part 7

Ontological 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 information

Bridging EMF applications and RDF data sources

Bridging 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 information

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

MDA & 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 information

l A family of logic based KR formalisms l Distinguished by: l Decidable fragments of FOL l Closely related to Propositional Modal & Dynamic Logics

l 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 information

Compositional Model Based Software Development

Compositional 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 information

Semantics. KR4SW Winter 2011 Pascal Hitzler 1

Semantics. 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 information

Semantic Web Test

Semantic 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 information

GenTax: A Generic Methodology for Deriving OWL and RDF-S Ontologies from Hierarchical Classifications, Thesauri, and Inconsistent Taxonomies

GenTax: 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 information

Ontological Modeling: Part 11

Ontological 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 information

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach

Guiding 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 information

Description Logics and OWL

Description 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 information

Modelling in Enterprise Architecture. MSc Business Information Systems

Modelling 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 information

Ontologies and OWL. Riccardo Rosati. Knowledge Representation and Semantic Technologies

Ontologies 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 information

Description Logic. Eva Mráková,

Description 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 information

Integrating SysML and OWL

Integrating 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 information

52. Staged Software Architectures with Staged Composition

52. 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 information

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Plan. 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 information

Object-Oriented Theories for Model Driven Architecture

Object-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 information

Language engineering and Domain Specific Languages

Language 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 information

Model driven Engineering & Model driven Architecture

Model 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 information

First Steps Towards Conceptual Schema Testing

First 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 information

Local Closed World Reasoning with OWL 2

Local 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 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

Ontology-based Model Synchronisation

Ontology-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 information

Semantic Recognition of Ontology Refactoring

Semantic 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 information

Description Logics as Ontology Languages for Semantic Webs

Description 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 information

Starting Ontology Development by Visually Modeling an Example Situation - a User Study

Starting 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 information

Sequence Diagram Generation with Model Transformation Technology

Sequence 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 information

RaDON Repair and Diagnosis in Ontology Networks

RaDON 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 information

COMP718: Ontologies and Knowledge Bases

COMP718: 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 information

An Introduction to MDE

An 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 information

Explaining Subsumption in ALEHF R + TBoxes

Explaining 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 information

Applying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages

Applying 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 information

Introduction to Dependable Systems: Meta-modeling and modeldriven

Introduction 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 information

jcel: A Modular Rule-based Reasoner

jcel: 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 information

Detailed Description and User Guide

Detailed 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 information

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

The 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 information

The Eclipse Modeling Framework and MDA Status and Opportunities

The 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 information

Ontology Development and Engineering. Manolis Koubarakis Knowledge Technologies

Ontology 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 information

UML is still inconsistent!

UML 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 information

BLU AGE 2009 Edition Agile Model Transformation

BLU 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 information

Main topics: Presenter: Introduction to OWL Protégé, an ontology editor OWL 2 Semantic reasoner Summary TDT OWL

Main 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 information

DRAOn: A Distributed Reasoner for Aligned Ontologies

DRAOn: 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 information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. 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 information

WHY 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. 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 information

Institute 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. 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 information

Introduction to MDE and Model Transformation

Introduction 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 information

Description Logic Systems with Concrete Domains: Applications for the Semantic Web

Description 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 information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced 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 information

Week 4. COMP62342 Sean Bechhofer, Uli Sattler

Week 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 information

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)

Model 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 information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing 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 information

Extracting knowledge from Ontology using Jena for Semantic Web

Extracting 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 information

Ontology mutation testing

Ontology 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 information

Model Migration Case for TTC 2010

Model 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

<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 information

Modeling the Evolution of Aspect Configurations using Model Transformations

Modeling 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 information

CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: 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 information

Knowledge 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? 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 information

Technische Universität Dresden Institut für Software- und Multimediatechnik

Technische 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 information

On 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 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 information

Model Driven Ontology: A New Methodology for Ontology Development

Model 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 information

A 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 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 information

Scalability via Parallelization of OWL Reasoning

Scalability 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 information

Index. business modeling syntax 181 business process modeling 57 business rule 40

Index. 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 information

Model Driven Development of Context Aware Software Systems

Model 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 information

Executable 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 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