500 likes | 517 Views
Fundamentals. Semantic Web & Model Driven Engineering. Semantic Web. Semantic Web. To create a universal medium for the exchange of data.
E N D
Fundamentals Semantic Web & Model Driven Engineering
Semantic Web To create a universal medium for the exchange of data. It is envisaged to smoothly interconnect personal information management, enterprise application integration, and the global sharing of commercial, scientific and cultural data. Facilities to put machine-understandable data onthe Web are quickly becoming a high priority for many organizations, individuals and communities. (Semantic Web Activity Statement, 2006)http://www.w3.org/2001/sw/Activity WWW2007, AB, Canada
What is an ontology? • Classic definitions (Gruber, 1993), (Guarino, 1994) • a specification of a conceptualization • an explicit specification of some topic • a formal and declarative representation of some subject area WWW2007, AB, Canada
What is an ontology? • Other important definitions (Swartout and Tate, 1999) • the basic structure or armaturearound which a knowledge base can be built WWW2007, AB, Canada
What is an ontology? • Other important definitions (Hendler, 2001) • a set of knowledge terms, including the vocabulary, the semantic interconnections, and some simple rules of inference and logic for some particular topic – linguistically view • this definition is currently predominant in the Semantic Web community WWW2007, AB, Canada
Domain Ontologies • ALOCoM ontology (Jovanović et al, 2005) • Learning object content structure • ProLearn NoE, LORNET (excerpt) WWW2007, AB, Canada
Examples of Ontologies • Upper-Level Ontologies WWW2007, AB, Canada
Why Ontologies? • The role of ontologies in the architecture of The Semantic Web • to establish further levels of interoperability (semantic interoperability) on the Web • syntactic interoperability: reusability in parsing the data • semantic interoperability: mappings between terms within the data, which requires content analysis WWW2007, AB, Canada
recommendation recommendation recommendation Semantic Web "Layer Cake" • Sharing knowledge • additional level of interoperability – semantic • ontologies and rules Web Ontology Language (OWL) WWW2007, AB, Canada
name John created_by http://www.w3.org/ 47782 phone RDF • Example OBJECT ATTRIBUTE VALUE http://www.w3.org/ created_by #anonymous_resource1 #anonymous_resource1 name "John" #anonymous_resource1 phone "47782" WWW2007, AB, Canada
RDF Schema • Example <rdfs:Class rdf:ID="herbivore"> <rdfs:subClassOf rdf:resource=”#animal”/> <rdfs:subClassOf> ... </rdfs:subClassOf> </rdfs:Class> RDF and RDFS define a standard way for knowledge representation WWW2007, AB, Canada
Web Ontology Language • Good starting point: Roger L. Costello, David B. Jacobs, "A Quick Introduction to OWL Web Ontology Language", presentation, The MITRE Corporation, 2003.http://www.xfront.org WWW2007, AB, Canada
RDF OWL OWL Lite OWL DL OWL Full Web Ontology Language OIL DAML All were influenced by RDF DAML = DARPA Agent Markup Language OIL = Ontology Inference Layer DAML+OIL Credit: Roger L. Costello OWL OWL is now a W3C Recommendation!
Web Ontology Language • Speaking in terms of XML (a concrete syntax) • OWL is a set of XML elements and attributes, with well-defined meaning, that are used to define terms and their relationships Credit: Roger L. Costello WWW2007, AB, Canada
Class equivalentProperty sameIndividualAs ... OWL OWL Vocabulary subClassOf resource ID ... RDF/RDF Schema Web Ontology Language • OWL extends RDF and RDF Schema Credit: Roger L. Costello WWW2007, AB, Canada
Web Ontology Language • Musician ontology <owl:Class rdf:ID="Event"/> <owl:Class rdf:ID="Album"/> <owl:Class rdf:ID="Instrument"/> <owl:Class rdf:ID="Musician"/> <owl:Class rdf:ID="Admirer"/> <owl:ObjectProperty rdf:ID="plays"> <rdfs:range rdf:resource="#Musician"/> <rdfs:domain rdf:resource="#Instrument"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="loudness"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:domain rdf:resource="#Instrument"/> </owl:ObjectProperty> <!--…--> WWW2007, AB, Canada
Tools for Building Ontologies • Ontology-development tools • Protégé • OntoEdit • OilEd • Chimaera • … WWW2007, AB, Canada
Ontology-development environments • Protégé WWW2007, AB, Canada
recommendation recommendation recommendation Semantic Web "Layer Cake" • Sharing knowledge • additional level of interoperability – semantic • ontologies and rules Semantic Web Rule Language (SWRL) Web Ontology Language (OWL) WWW2007, AB, Canada
Semantic Web Rules • Efforts in two directions • General rule interchange standard • Rule Interchange Format • Semantic Web reasoning layer over the Semantic Web ontologies • Semantic Web Rule Language WWW2007, AB, Canada
General Rule Interchange • Rule Interchange Format (RIF) • W3C initiative • Identified ten use-cases the standard should support • A buyer must provide credit card information together with delivery information (address, postal code, city, and country). • A wireless device can transmit on a 5 GHz band if no priority user is currently using that band. • If inspector believes vehicle is repairable then process as repair otherwise process as total loss. • Main efforts related • RWERSE Rule Interchange Format (R2ML) • RuleML WWW2007, AB, Canada
Semantic Web Rules A brother of a person’s parent is the person’s uncle. • There is no standard • There is no consent whether this language should based on • Open-world assumption • Close-world assumption • Semantic Web Rule Language (SWRL) • “…a combination of the OWL DL and OWL Lite sublanguages with the Unary/Binary Datalog RuleML sublanguages…” <ruleml:imp> <ruleml:_rlab ruleml:href="#example1"/> <ruleml:_body> <swrlx:individualPropertyAtom swrlx:property="hasParent"> <ruleml:var>x1</ruleml:var> <ruleml:var>x2</ruleml:var> </swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property="hasBrother"> <ruleml:var>x2</ruleml:var> <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_body> <ruleml:_head> <swrlx:individualPropertyAtom swrlx:property="hasUncle"> <ruleml:var>x1</ruleml:var> <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_head> </ruleml:imp> WWW2007, AB, Canada
Modeling-Driven (Software) Engineering Modeling-Driven Engineeringaddresses platform complexity and the inability of third-generation (programming) languages to alleviate this complexity and express domain concepts effectively. Modeling is the future … And the promise here is that you write a lot less code, that you have a model of the business process … (Bill Gates, 2004) (Schmidt, 2006) WWW2007, AB, Canada
Model Driven Development (Mellor et al, 2003) Model Driven Engineering • Developing in parallel with Semantic Web • Object Modeling Group effort • The latest paradigm shift in software engineering (Bézivin, 2002) • from OO technology… • …to model technology WWW2007, AB, Canada
Model-Driven Engineering • [Favre, 2004] • Model engineeringis the disciplined and rationalized production of models • MDEis a subset of system engineering in which the process heavily relies on the use of models and model engineering • Model Driven (Software) Developmentis the intersection between MDE and software engineering, that is, it is the subset of MDE which is concerned with software production WWW2007, AB, Canada
Model-Driven Engineering • Key concepts • Rising level of abstraction • From platform specific low-level details tohigh level concepts closely related to domains under study • Domain Specific Modeling Languages (DSMLs) • Language engineering by using metamodeling • Contrary to general purpose modeling languages such as UML • Model transformations • Model to model • Model to Text and Text to Model – round-trip engineering WWW2007, AB, Canada
What is a model? • Model – a simplified view of reality • More formally: A model is a set of statements about some system under study • (Seidewitz, 2003) • OMG is about models WWW2007, AB, Canada
Why do we need models? We express models using concepts that are much less bound to the underlying implementation technology and are much closer to the problem domain relative to most popular programming languages. Selic, 2003 WWW2007, AB, Canada
Model characteristics • To be useful and effective, a model must have the following characteristics: • abstraction • understandability • accuracy • predictiveness • inexpensive WWW2007, AB, Canada
1 1 1 1 1 1 Models • Example WWW2007, AB, Canada
Why do we need models? J2EE .NET WS … • Use of platform independent models (PIM) as specifications • Transform specifications into platform specific models (PSM) using tools WWW2007, AB, Canada
What is a metamodel? A metamodel makes statements about what can be expressed in the valid models of a certain modeling language. Seidewitz, 2003 WWW2007, AB, Canada
What is a metamodel? • In fact, a metamodel: • is a model of a modeling language, or • makes statements about what can be expressed in the valid models of a certain modeling language • The correspondence between a model, a metamodel, a modeling language, a system under study WWW2007, AB, Canada
Metametamodel • Example WWW2007, AB, Canada
EMF (Modeling Framework) • Ecore <=> MOF Model-Driven Architecture: The most known MDE incarnation Model transformations: MOF2 Query/View Transformation (QVT) Object Constraint Language (OCL) WWW2007, AB, Canada
UML Profiles • Extension mechanism • stereotypes, tagged values, and OCL constraints • UML2 improved support for profiles WWW2007, AB, Canada
UML Profiles • Why do we need UML Profiles? • we can develop a new domain language (i.e. a metamodel) using MOF • it is rather expensive to develop new tools • so, we try to use existing, well-known tools • most of MDA tools are oriented towards UML WWW2007, AB, Canada
UML Profiles • Example – UML Profile for XML Schema WWW2007, AB, Canada
Object Constraint Language (OCL) • Example WWW2007, AB, Canada
XML Metadata Interchange (XMI) • XMI Schema production rules • see [Grose et al, 2002] for details • some important documents from the OMG’s site • XML schema for MOF metamodels • XMI document of the MOF metamodel • XMI document of the UML metamodel • XML schema for UML models WWW2007, AB, Canada
Model-to-Model Transformations Query / View / Transformation (QVT) Atlas Transformation Language (ATL) Technical Spaces Model-to-Text and Text-To-Model Textual Concrete Syntax (TCS) Model-to-XML and XML-to-Model ATL Injector and ATL Extractor Model Transformations WWW2007, AB, Canada
Why marriage? Credit: Elisa Kendall • Semantic Web – reasoning • MDE – automation WWW2007, AB, Canada
Why marriage? Credit: Elisa Kendall • Knowledge Representation supports reasoning about resources • Supports semantic alignment among differing vocabularies and nomenclatures • Enables consistency checking and model validation, business rule analysis • Allows us to ask questions over multiple resources that we could not answer previously • Enables policy-driven applications MOF provides no help with reasoning • KR is not focused on the mechanics of managing models or metadata • Complementary technologies – despite some overlap WWW2007, AB, Canada
Ontologies and Software Defining a formal domain ontology is a useful and often necessary step in almost any software project. This is because software deals principally with ideas rather than physical artifacts. Whereas the nature of physical artifacts is generally self-evident, this is not the case with conceptual entities, which are products of the mind. As we all know, different minds see the same thing differently. Bran Selic, IBM Rational Software, 2006 WWW2007, AB, Canada
Ontologies and Software engineering • An approach • Ontology Driven Architecture (ODA) • Trying to improve the state of the art in software engineering by using ontologies • W3C’s effort • http://www.w3.org/2001/sw/BestPractices/SE/ • Ontology Driven Architectures and Potential Uses of the Semantic Web in Software Engineering • A Semantic Web Primer for Object-Oriented Software Developers • Still, vague and unclear definition WWW2007, AB, Canada
Ontologies in Software engineering • Happel, H.J. & Seedorf, S., “Applications of Ontologies in Software Engineering,” In Proceedings of the 2nd International Workshop on Semantic Web Enabled Software Engineering, Athens, GA, USA, Nov 6, 2006. • Start from the SE definition • application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software • captures software life-cycle WWW2007, AB, Canada
ODD OBA Software OED OEA Infrastructure Development time Run-time Ontologies in Software engineering • Ontology-driven development (ODD) • Using ontologies instead of MOF-based models • Ontology-based architectures (OBA) • Ontologies are used in run-time • Business logic based on OWL classes and/or business rules • Ontology-enabled development (OED) • Using ontologies to enable software development – collaboration, documentation, search for components • Ontology-enabled architectures (OEA) • Ontologies for the run-time infrastructure • Semantic Web Services WWW2007, AB, Canada
So, where do we go today?! • The focus of the tutorial • How to integrate Semantic Web technologies into (model-driven) software engineeringdevelopment process • How to use MDE principles to manage definitions of Semantic Web technologies • How to use MDE principles to develop Semantic service-oriented architectures • How to employ MDE principles to develop semantic service-oriented Web applications WWW2007, AB, Canada