Semantic Web in Software Engineering Semantic Web - Fall 2005 Computer Engineering Department Sharif...

66
Semantic Web in Software Engineering Semantic Web - Fall 2005 Computer Engineering Department Sharif University of Technology Salman Mirghasemi salmir19 {at} yahoo
  • date post

    18-Dec-2015
  • Category

    Documents

  • view

    213
  • download

    0

Transcript of Semantic Web in Software Engineering Semantic Web - Fall 2005 Computer Engineering Department Sharif...

Semantic Web in Software Engineering

Semantic Web - Fall 2005

Computer Engineering Department

Sharif University of Technology

Salman Mirghasemisalmir19 {at} yahoo

Semantic web - Computer Engineering Dept. - Fall 2005

2

Outline

Introduction Software Engineering Information

Systems SIS Systems Hyena

Software Integration Software Integration at the FA

O Management Application Integr

ation Middleware

KAON server MDA

MDA Overview ODM

State of the art W3C SW Best Practices-SE task

force ODA

1- Introduction

Semantic web - Computer Engineering Dept. - Fall 2005

4

1- Introduction

We will talk about:

Projects that applied semantic web in software engineering in 3 categories :

• Software Engineering Information Systems• Software Integration • Software Management

Ontology Data Model (ODM) in Model Driven Architecture (MDA) and Ontology Driven Architecture (ODA).

Current state of research process.

2- Software Engineering Information Systems (SEIS)

Semantic Web provides facilities for better storage and retrieval of software engineering Information. In this

section we present two experiences in this area.1- SIS Systems

2- Hyena

2.1- SIS Systems

SIS systems are a series of software applications which developed about one decade ago. Creators of these applications used Description Logic (base of current

semantic web languages, specially OWL) for definition of concepts and query on them. We study them as first

experiences in this area.

Semantic web - Computer Engineering Dept. - Fall 2005

7

2.1- SIS systems

Problem: Maintenance of large software Systems.

60% of the time was spent performing simple searches across the entire software system

Understanding the domain in which the software operates required for understanding the software.

Solution : Software Information System (SIS) : An information system which treats the software

system source code itself as data and help maintainers to find required information faster.

Semantic web - Computer Engineering Dept. - Fall 2005

8

2.1- SIS systems

First developed (1991) by a group in AT&T for managing and maintenance of AT&T’s Definity 75/85 software system. (LaSSIE system)

Created base on the Description Logic. Has 2 main models: Code Model, Domain Model.

Model Code Domain

TBOX (size) 20 200

ABOX (size) thousands few

ExampleWhat is data-type of the variable dial-tone?

What is a dial-tone?

Semantic web - Computer Engineering Dept. - Fall 2005

9

2.1- SIS systems

Code Model Simple ontology of

source code It was derived from

basic kinds of searches maintainers performed.

The knowledge-base was populated automatically from source code.

KB contains : individuals functions, files, data-types, etc.

Semantic web - Computer Engineering Dept. - Fall 2005

10

2.1- SIS systems

Domain Model The domain model was

reverse engineered from code domain experts

Contains knowledge about telephony domain..

The things the software system dealt with : telephone, microphones, cable, cable-trunks ,etc.

Semantic web - Computer Engineering Dept. - Fall 2005

11

2.1- SIS systems

Sample Questions Where is this variable used?

Where is this variable modified? What are the available slots and methods on this

instance? What are the super-classes of this class? Is this data-type used? Which actions initiated by a user?

Semantic web - Computer Engineering Dept. - Fall 2005

12

2.1- SIS systems

After LaSSIE ,more completed SIS systems created: like : CODEBASE , CSIS and CBMS systems.

Path tracing ChangedInFunction instead of ChangedBy o implementationOF (only one click) Subsumption

Most important features :Better PerformanceFull-Scale parse of the codeUsing hyperlinksRole inverse Changes & Changed-By

2.2- Hyena

Hyena (Hypergraph Editor and Navigator) : a tool for model and ontology editing that is geared

towards software engineers. It is based on Eclipse and RDF.

Semantic web - Computer Engineering Dept. - Fall 2005

14

2.2- Hyena

Hyena is a platform for integrated software engineering model management (ISEMM) that uses RDF for principled model manipulation and storage.

Requirements for the ISEMM: Modularization Annotation Querying Multi-dimensional categorization

Semantic web - Computer Engineering Dept. - Fall 2005

15

2.2- Hyena

Vision

Model integration: Construct a software system by assembling and integrating models, structured domain-specific data.

Structure-driven: we put an emphasis on structure which makes the ideas mentioned here complementary to domain-specific languages.

Examples of models: Source code (static), Software architecture (dynamic), Documentation, A web site (wiki)

Ontologies: Model-creation and manipulation will be supported by ontologies which also serve as a point of reference for documenting model semantics. We use ontologies in a very pragmatic way, more akin to schemas and meta-models.

Semantic web - Computer Engineering Dept. - Fall 2005

16

2.2- Hyena

Hyena Components Vodules (vocabulary modules): provide complete support for one

kind of model. In addition to declarative data from an RDF ontology, vodules support model editing via an API, GUI components and/or web services.

Application programming interface (API): The core API of Hyena provides infrastructure functionality, everything else is added via vodules. Vodules are thus both clients and providers of API functionality. The API of Hyena is even useful for stand-alone programs.

Web service framework: Each model managed by Hyena can be exposed as a web service, in a model-dependent manner. For example, an RDF model encoding a wiki web site will be displayed as a series of web pages.

Graphical user interface (GUI) components: Hyena is itself integrated in the Eclipse integrated development environment and extends rather than replaces its facilities. RDF-specific functionality such as bookmarks and interactive filtering are the foundation on which vodules base their own GUI contributions. These contributions are essential for shielding the user from many complexities of RDF when editing a custom model.

Semantic web - Computer Engineering Dept. - Fall 2005

17

2.2- Hyena

Standard Vodules

JTube, Java source code management: makes Java artifacts accessible toHyena. Other models can now provide a lightweight semantic layer on topof Java source code. JTube tracks changes to the code and co-evolves linkedmodels. Furthermore, JTube allows one to move back and forth betweencode and associated RDF data in Eclipse. PeerStorm, collaborative conceptual brainstorming: enables a group ofpeople to work together on conceptual sketches such as requirements, designideas, outlines and task lists. Editing is distributed and changes aredisplayed in real time. Concepts are expressed as snippets, an RDF-encodeddata structure that is similar to topic maps. Wikked, web-based publishing and editing: a vodule for storing a wiki inan RDF graph. Displaying and editing the wiki is implemented as a webservice, as is uploading of new data. JTube uses Wikked to publish Javasource code; PeerStorm displays snippets in various ways.

3- Software Integration

Now, Ontology languages make it possible for us to share knowledge between different applications easier than before.In this section we present two experiences in using semantic

web for software integration.1- Software Integration at the FAO

2- Management Application Integration

3.1- Software Integration at the FAO

It is a nice example of using a lightweight layer for data sharing and software integration in a heterogeneous

environment. Web services and semantic web have a main role in this

experience.

Semantic web - Computer Engineering Dept. - Fall 2005

20

3.1- Software Integration at the FAO

About FAO

Food and Agriculture Organization of the United Nations (FAO)

leads international efforts to defeat hunger. helps developing countries modernize and expand

agriculture, forestry and fisheries and ensure good nutrition for all.

One of its most important functions is to collect, analyze and disseminate information to assist governments to fight hunger and achieve food security.

Towards this effort FAO has established the World Agricultural Information Centre (WAICENT) for agricultural information management and dissemination.

Semantic web - Computer Engineering Dept. - Fall 2005

21

3.1- Software Integration at the FAO

BackgroundIn WAICENT large amount of data generated In various distinct format In many different languages Handled by several metadata structures Different type of data sourcesFAO has about 200 systems , deployed using different technologies

(J2EE, .NET,…).

Semantic web - Computer Engineering Dept. - Fall 2005

22

3.1- Software Integration at the FAO

Problem It is important to share data between systems quickly

and easily. Existing data sharing approaches (global schema,

using wrappers, …) can not be useful. most of them are not easy to implement when the

number of databases rises. They dose not guarantee the autonomy of participating

database systems. There are almost no tools to automate ,translation of

data between different formats. Data transmission is also difficult to implement. It is important to have a technology that is

inexpensive, easy to implement, easy to maintain and based on open standards.

Semantic web - Computer Engineering Dept. - Fall 2005

23

3.1- Software Integration at the FAO

Solution

Wrapping each data source with a web service Standardization on input and output of each web

service in XML. Using similar formats for all data related to country,

language, currency (ISO 3166, ISO 630-1, ISO 4217). Using RDF, RDF schema, Dublin Core and Topic Map

for definition of metadata. Using an information bus that all data passed through

it is represented in standard XML formats.

Semantic web - Computer Engineering Dept. - Fall 2005

24

3.1- Software Integration at the FAO

Architecture of the Information Bus

3.2- Management Application Integration

We will describe integration of two management applications, OpenView Operations/Service Navigator and

SOA Manager inside HP by using semantic web technologies.

Semantic web - Computer Engineering Dept. - Fall 2005

26

3.2- Management Application Integration

HP OpenView Operations (OVO) is a distributed management application that offers management of networks, systems, databases, applications and internet services.

Semantic web - Computer Engineering Dept. - Fall 2005

27

3.2- Management Application Integration

HP SOA Manager is a management application that provides management of Service-Oriented Architectures that are based on Web Services.

Semantic web - Computer Engineering Dept. - Fall 2005

28

3.2- Management Application Integration

Model Transformation

4- Middleware

We will describe works done to apply semantic web technologies in middleware technologies.

(Application Server, Web Service)

4.1- KAON Server

KAON Server is an ontology based application server which developed to display benefits of using semantic web

technologies in solving development and administration of middleware applications.

Semantic web - Computer Engineering Dept. - Fall 2005

31

4.1- KAON Server

Complexity Of Management

Application Server Components Dependency Checking, Versions,

Licenses Multiple Configuration Files

Web Services Detection Of Loops Multiple Configuration Files

We define a coherent formal model, i.e. an ontology, and put it into action in an Application Server in order to reduce the complexity of management.

Semantic web - Computer Engineering Dept. - Fall 2005

32

4.1- KAON Server

Ontology Modules in KOAN Server

Semantic web - Computer Engineering Dept. - Fall 2005

33

4.1- KAON Server

KOAN Server Architecture

Semantic web - Computer Engineering Dept. - Fall 2005

34

4.1- KAON Server

Browsing the Ontology at Runtime

Semantic web - Computer Engineering Dept. - Fall 2005

35

4.1- KAON Server

Example : Context Switch Problem

Applying an inference engine allows us to query for user-resource-pairs that are deduced by the rules above at runtime.

5-MDA

Model Driven Architecture

1- MDA Overview

2- ODM

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

38

5.1- MDA Overview

Modeling has had a major impact on software engineering, and it is critical to the success of every enterprise scale solution.

There is great variety in what the models represent and how they are used.

Which of these approaches can we describe as “model-driven”?

The most authoritative view is provided by the Object Management Group (OMG), an industry consortium of more than 800 companies, organizations, and individuals.

Semantic web - Computer Engineering Dept. - Fall 2005

39

OMG Milestones

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

40

Four principles underlie the OMG’s view of MDA:

Models expressed in a well-defined notation are a cornerstone to understanding systems for enterprise scale solutions.

The building of systems can be organized around a set of models by imposing a series of transformations between models, organized into an architectural framework of layers and transformations.

A formal underpinning for describing models in a set of metamodels facilitates meaningful integration and transformation among models, and is the basis for automation through tools.

Acceptance and broad adoption of this model-based approach requires industry standards to provide openness to consumers, and foster competition among vendors.

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

41

5.1- MDA Overview

2 important techniques in last fifty years, in improving software productivity: 1- Raising the level of abstraction of the languages we

use to express behavior

Semantic web - Computer Engineering Dept. - Fall 2005

42

2- Increasing the level of reuse and composition in system construction.

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

43

MDA takes the ideas of raising the levels of abstraction and reuse up a notch. It also introduces a new idea that ties these ideas together into a greater whole: design-time interoperability.

MDA is an approach to IT system specification that separates the specification of system functionality from the specification of the implementation of that functionality on a specific technology platform.

MDA is more closely associated with approaches in which code is (semi-) automatically generated from more abstract models, and that employ standard specification languages for describing those models.

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

44

OMG identifies four types of models:

Computation Independent Model (CIM)

Platform Independent Model (PIM)

Platform Specific Model (PSM) described by a Platform Model (PM)

Implementation Specific Model (ISM).

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

45

Platform Independent Model (PIM)Separating PIM has benefits:

It is easier to validate the correctness of the model uncluttered by platform-specific semantics.

It is easier to produce implementations on different platforms conforming to the same essential and precise structure and behavior of the system.

Integration and interoperability across systems can be defined more clearly in platform-independent terms.

Platform Specific Model (PSM) Specifies how the functionality specified in a PIM is

realized on a particular platform Expressed using UML extended with platform specific UML profiles

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

46

PIM to PSM transformation

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

47

PIMs and PSMs are relative notions “Someone’s PIM can be

someone else’s PSM” Platform independence is

relative, too, It’s a scoping issue It’s a strategic decision

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

48

MODEL A model is a representation of a part of the function,

structure and/or behavior of a system Does not prescribe a particular types of modeling Well-defined form (“syntax”), meaning (“semantics”),

and possibly rules of analysis, inference, or proof for its constructs

Graphical or textual

Examples Source code is a model CORBA IDL is a model UML-based specification is a model

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

49

Metamodel Meta Object Facility (MOF) is a standard metamodeling

framework for model and metadata driven systems, e.g., Modeling and development tools Data warehouse systems Metadata repositories

• Metadata = data about data, e.g., database schemas; but also: UML models, data transformation rules, APIs expressed in IDL, MIDL, C#, Java, WSDL, etc., business process and workflow models, product configuration descriptors and tuning parameters, information that drives deployment tools and runtime management, …

MOF is the MDA’s basic mechanism for defining modeling languages

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

50

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

51

Always 4 Levels? In general, we can have any number of levels and we

could start counting them anywhere. Most systems use between 2 and 4, e.g., Some reflective systems use 2 levels

(Classes/Objects) XML uses 3 levels (XML Schema for Schemas -> XML

Schema -> XML) MOF is most often used to model modeling languages,

which implies 4 levels .But it doesn’t have to be used for with 4 levels (e.g., MOF /MOF model of XML / XML)

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

52

Benefits of MDA Preserving the investment in knowledge

Independent of implementation platform Tacit knowledge made explicit

Speed of development Most of the implementation is generated

Quality of implementation Experts provide transformation templates

Maintenance and documentation Design and analysis models are not abandoned after

writing 100% traceability from specification to

implementation

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

53

Automation in software development

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

54

Development Process

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

55

Summary Models help people understand and communicate complex

ideas. Many different kinds of elements can be modeled, depending

on the context. These offer different views of the world that must ultimately be reconciled.

We see commonality at all levels of these models – in both the problems being analyzed and the proposed solutions.

Applying the ideas of different kinds of models and transforming them between representations provides a well-defined style of development, enabling the identification and reuse of common approaches.

In what it calls “model driven architecture,” the OMG has provided a conceptual framework and a set of standards to express models, model relationships, and model-to-model transformations.

Tools and technologies can help to realize this approach, and make it practical and efficient to apply.

5.1- MDA Overview

Semantic web - Computer Engineering Dept. - Fall 2005

56

MDA is actually three things: An OMG initiative to develop standards based on the

idea that modeling is a better foundation for developing and maintaining systems

A brand for standards and products that adhere to those standards

A set of technologies and techniques associated with those standards

MDA and the standards that support it allow the same model specifying system functionality to be realized on multiple platforms

Design once, build it on any platform”

5.1- MDA Overview

5.2- ODM

Ontology Definition Metamodel

Semantic web - Computer Engineering Dept. - Fall 2005

58

Goals of creation of ODM: Enabling development of ontologies in UML tools Implementation of such ontologies in OWL without loss

of fidelity Forward and reverse engineering of ontologies

MDA technologies is their focus – MOF, in particular, isconcerned with automating the physical management andinterchange of metadata, while knowledge representation

isfocused on the semantics embodied in the content of themetadata as well as on automated reasoning over that

content.

5.2- ODM

Semantic web - Computer Engineering Dept. - Fall 2005

59

Key objectives of ODM:

Support ontologies expressed in existing description logics (e.g. OWL DL) and a limited set of higher order logic languages (e.g. OWL Full, SCL).

Represent complex objects as aggregations of parts. Support multiple inheritance of complex types. Provide capabilities required to support physical world

concepts, including time, space, bulk or mass nouns like ‘water’, and things that do not have identifiable instances.

Support object concepts that have multiple facets of representations, e.g., conceptual versus representational classes.

5.2- ODM

Semantic web - Computer Engineering Dept. - Fall 2005

60

Key objectives of ODM:

Provide a basis for information systems process descriptions to support interoperability, including such concepts as player, role, action, and object.

Provide support for other generic concepts relevant to particular domains or universes of discourse.

Support interoperation with other MOF and UML-based tools, including, for example, forward and reverse engineering of ontologies.

5.2- ODM

Semantic web - Computer Engineering Dept. - Fall 2005

61

ODM consists of three major components: metamodels, metamodel mappings, and one or more UML profiles for ontology.

Formal first order and description logics, structural and subsumption / descriptive representations, and traditional conceptual or object-oriented software modeling.

5.2- ODM

Semantic web - Computer Engineering Dept. - Fall 2005

62

ODM Architecture

5.2- ODM

6- State of The Art

Semantic web - Computer Engineering Dept. - Fall 2005

64

W3C best practices.

Ontology Driven Architecture (ODA)

6- State of The Art

Semantic web - Computer Engineering Dept. - Fall 2005

65

Franz Baader, Diego Calvanese, Deborah McGuineness, Daniele Nardi, and Peter Patel-Schneider, editors. The Description Logic Handbook. Cambridge University Press, 2003.

Hyena Homepage. http://www.pst.ifi.lmu.de/~rauschma/hyena/ A. Zisman, J.Chelsom, N. Dinsey, S. Katz and F. Servan. Using

Web Services to Interoperate Data at the FAO ,DC-2002 - Metadata for e-Communities: Supporting Diversity and Convergence, Florence, October 2002. (This paper was also presented in XML Conference and Exposition 2002, Baltimore, USA, December 2002).

Tilo Nitsche, Jishnu Mukerji, Dave Reynolds and Elisa Kendall. Using Semantic Web Technologies for Managment Application Integration. Workshop on Semantic Web Enabled Software Engineering (SWESE). Galway, Ireland, 2005.

6- References

Semantic web - Computer Engineering Dept. - Fall 2005

66

6- References

Daniel Oberle, Steffen Staab, Andreas Eberhart. Towards Semantic Middleware for Web Application Development. IEEE Distributed Systems Online.February 2005.

Stephan J. Mellor ,Kendall Scott, Axel Uhl, Dirk Weese. MDA Distilled. Addison Wesley, 2004.

Ontology Definition Metamodel Specification.2005-04-13. Holger Knublauch. Ontology-Driven Software Development in

the Context of the Semantic Web: An Example Scenario with Protégé/OWL. International Workshop on the Model-Driven Semantic Web, Monterey ,CA, 2004.

Semantic Web Best Practices and Deployment Working Group: Software Engineering Task Force (SETF) -http://www.w3.org/2001/sw/BestPractices/SE/