Semantic Web

Document Sample
Semantic Web Powered By Docstoc
					Semantic Web in
Software Engineering

            Semantic Web - Fall 2005
    Computer Engineering Department
      Sharif University of Technology
                 Salman Mirghasemi
                     salmir19 {at} yahoo
          Outline

   Introduction                                       State of the art
   Software Engineering Information                           W3C SW Best Practices-SE task
    Systems                                                     force
       SIS Systems                                            ODA
       Hyena
   Software Integration
       Software Integration at the
        FAO
       Management Application
        Integration
   Middleware
       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

                    What is data-type of                         What is a dial-
    Example
                    the variable dial-tone?                      tone?

        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                         Path tracing
Full-Scale parse of the code                ChangedInFunction instead of
Using hyperlinks                            ChangedBy o implementationOF
Role inverse                                (only one click)
     Changes & Changed-By                    Subsumption




         12             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 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.


         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-resource-
   pairs 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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:9
posted:1/7/2012
language:
pages:66
jianghongl jianghongl http://
About