15. SW in Software Engineering.ppt

Semantic Web in
Software Engineering
Semantic Web - Fall 2005
Computer Engineering Department
Sharif University of Technology
Salman Mirghasemi
salmir19 {at} yahoo
Outline


Introduction
Software Engineering Information
Systems





SIS Systems
Hyena
W3C SW Best Practices-SE task
force
ODA
Management Application
Integration
Middleware


State of the art
Software Integration
 Software Integration at the FAO



KAON server
MDA
 MDA Overview

ODM
2
Semantic web - Computer Engineering Dept. Fall 2005
1- Introduction
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.
4
Semantic web - Computer Engineering Dept. Fall 2005
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.
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.
7
Semantic web - Computer Engineering Dept. Fall 2005
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
Example
What is data-type of
the variable dial-tone?
What is a dialtone?
8
Semantic web - Computer Engineering Dept. Fall 2005
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.
9
Semantic web - Computer Engineering Dept. Fall 2005
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.
10
Semantic web - Computer Engineering Dept. Fall 2005
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?
11
Semantic web - Computer Engineering Dept. Fall 2005
2.1- SIS systems
After LaSSIE ,more completed SIS systems created:
like : CODEBASE , CSIS and CBMS systems.
Most important features :
Better Performance
Full-Scale parse of the code
Using hyperlinks
Role inverse
Changes & Changed-By
12
Path tracing
ChangedInFunction instead of
ChangedBy o implementationOF
(only one click)
 Subsumption
Semantic web - Computer Engineering Dept. Fall 2005
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.
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
14
Semantic web - Computer Engineering Dept. Fall 2005
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 domainspecific 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.
15
Semantic web - Computer Engineering Dept. Fall 2005
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.
16
Semantic web - Computer Engineering Dept. Fall 2005
2.2- Hyena
Standard Vodules
JTube, Java source code management: makes Java artifacts accessible to
Hyena. Other models can now provide a lightweight semantic layer on top
of Java source code. JTube tracks changes to the code and co-evolves linked
models. Furthermore, JTube allows one to move back and forth between
code and associated RDF data in Eclipse.

PeerStorm, collaborative conceptual brainstorming: enables a group of
people to work together on conceptual sketches such as requirements, design
ideas, outlines and task lists. Editing is distributed and changes are
displayed in real time. Concepts are expressed as snippets, an RDF-encoded
data structure that is similar to topic maps.

Wikked, web-based publishing and editing: a vodule for storing a wiki in
an RDF graph. Displaying and editing the wiki is implemented as a web
service, as is uploading of new data. JTube uses Wikked to publish Java
source code; PeerStorm displays snippets in various ways.

17
Semantic web - Computer Engineering Dept. Fall 2005
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.
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.
20
Semantic web - Computer Engineering Dept. Fall 2005
3.1- Software Integration at the
FAO
Background
In WAICENT large amount of data generated

In various distinct format

In many different languages

Handled by several metadata structures

Different type of data sources
FAO has about 200 systems , deployed using different technologies (J2EE,
.NET,…).
21
Semantic web - Computer Engineering Dept. Fall 2005
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.
22
Semantic web - Computer Engineering Dept. Fall 2005
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.
23
Semantic web - Computer Engineering Dept. Fall 2005
3.1- Software Integration at the
FAO
Architecture of the Information Bus
24
Semantic web - Computer Engineering Dept. Fall 2005
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.
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.
26
Semantic web - Computer Engineering Dept. Fall 2005
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.
27
Semantic web - Computer Engineering Dept. Fall 2005
3.2- Management Application
Integration
Model Transformation
28
Semantic web - Computer Engineering Dept. Fall 2005
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.
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.
31
Semantic web - Computer Engineering Dept. Fall 2005
4.1- KAON Server
Ontology Modules in KOAN Server
32
Semantic web - Computer Engineering Dept. Fall 2005
4.1- KAON Server
KOAN Server Architecture
33
Semantic web - Computer Engineering Dept. Fall 2005
4.1- KAON Server
Browsing the Ontology at Runtime
34
Semantic web - Computer Engineering Dept. Fall 2005
4.1- KAON Server
Example : Context Switch Problem
Applying an inference engine allows us to query for user-resourcepairs that are deduced by the rules above at runtime.
35
Semantic web - Computer Engineering Dept. Fall 2005
5-MDA
Model Driven Architecture
1- MDA Overview
2- ODM
5.1- MDA Overview
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.
38
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
OMG Milestones
39
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
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.
40
Semantic web - Computer Engineering Dept. Fall 2005
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
41
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
2- Increasing the level of reuse and composition in system
construction.
42
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview



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.
43
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
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).
44
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
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
45
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview

PIM to PSM transformation
46
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview

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
47
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
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
48
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
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
49
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
50
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
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)
51
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
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
52
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
Automation in software development
53
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
Development Process
54
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview
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.
55
Semantic web - Computer Engineering Dept. Fall 2005
5.1- MDA Overview



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”
56
Semantic web - Computer Engineering Dept. Fall 2005
5.2- ODM
Ontology Definition Metamodel
5.2- ODM
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, is
concerned with automating the physical management and
interchange of metadata, while knowledge representation is
focused on the semantics embodied in the content of the
metadata as well as on automated reasoning over that content.
58
Semantic web - Computer Engineering Dept. Fall 2005
5.2- ODM
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.
59
Semantic web - Computer Engineering Dept. Fall 2005
5.2- ODM
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.
60
Semantic web - Computer Engineering Dept. Fall 2005
5.2- ODM


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.
61
Semantic web - Computer Engineering Dept. Fall 2005
5.2- ODM
ODM Architecture
62
Semantic web - Computer Engineering Dept. Fall 2005
6- State of The Art
6- State of The Art

W3C best practices.

Ontology Driven Architecture (ODA)
64
Semantic web - Computer Engineering Dept. Fall 2005
6- References




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.
65
Semantic web - Computer Engineering Dept. Fall 2005
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/
66
Semantic web - Computer Engineering Dept. Fall 2005