Semantic Web in Software Engineering Semantic Web - Fall 2005 Computer Engineering Department Sharif...
-
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
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
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.
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
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
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
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
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
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/