An Ontology-based Approach for Managing Software Components - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

An Ontology-based Approach for Managing Software Components

Description:

An Ontology-based Approach for Managing Software Components by Vladimir Kolovski – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 15
Provided by: kol119
Category:

less

Transcript and Presenter's Notes

Title: An Ontology-based Approach for Managing Software Components


1
An Ontology-based Approach for Managing Software
Components
  • by
  • Vladimir Kolovski

2
Motivation
  • Using off-the-shelf components has proven
    invaluable
  • development time/production costs dramatically
    decrease
  • usability increases
  • Application servers as component-based middleware
  • platform for deploying components
  • dynamic loading, naming services, load balancing,
    etc.

3
Motivation Use Cases
  • Managing components still a cumbersome task
  • Component dependencies and versioning
  • Licensing
  • Service Classification and Discovery
  • XML configuration files not enough
  • Explicit formal model would help

4
Introduction to Ontologies
  • Ontology is a controlled vocabulary that
    describes objects and the relations between them
    in a formal way
  • May have different structure
  • Logic-based semantics
  • Need to choose a representation language

5
OWL
  • Web Ontology Language (OWL) is a W3C
    Recommendation
  • Based on XML syntax
  • OWL Lite, OWL-DL, OWL-Full
  • OWL-DL decidable subset of First Order Logic
  • Classes, Individuals, Properties, Restrictions

6
Component Ontology
  • Profile
  • Capability descriptions
  • serviceName, serviceParameter, contactInformation
  • Implementation
  • dependsOn, conflictsWith
  • Grounding
  • Mapping between syntactic and semantic metadata

7
Java Management Extensions
  • Open technology for component management
  • Defines interfaces of managed beans
  • MBeans hosted by an MBeanServer which allows
    their run time deployment and manipulation
  • JMX is just a specification, MX4J used as an
    implementation for this project

8
Implementation
  • MBeanServer scans for deployed / undeployed
    components
  • Ontology and reasoner deployed as an MBean
  • Use OWL API for parsing and Pellet for querying

9
Implementation
  • Component has its own metadata (manually entered
    for now)
  • Every component is an instance with properties
  • Query ontology when a component is added, look
    for conflicting ones
  • Also query ontology when a component is removed

10
How do we Query an Ontology?
  • OWL is based on top of RDF
  • RDF model is a graph of triples (Resource,
    Property, Value)
  • Express the component ontology as an RDF graph
  • Use RDQL, SQL-Like language

11
RDQL Example
  • SELECT
  • WHERE (?x, CompconflictsWith, compcomponent1)
  • USING
  • Comp FOR lthttp//www.mindswap.org/dav/ontologi
    es/Comp.owlgt
  • Returns a list of individuals conflicting with
    component1

12
Future Work
  • Short Term
  • Integrate with JBoss Component Loader so it
    would work with MBean dependencies
  • Evaluation (Pet Store)
  • Licensing
  • Long Term
  • Automate retrieving metadata from configuration
    files
  • Component grounding

13
Related Work
  • JBoss
  • JBossMX implementation of JMX
  • MBean dependencies
  • RPM
  • Package management system
  • KaON (JBossMX, focused on run-time support, not
    using OWL)
  • Model Driven Architectures
  • Lack logical formality to query app server at
    runtime

14
Questions Comments
Write a Comment
User Comments (0)
About PowerShow.com