Title: Ontology based Software Engineering Software Engineering 2'0
1Ontology based Software Engineering Software
Engineering 2.0
- Prof. T. Dillon, Prof. E. Chang, and
- Dr P. Wongthongtham
- Digital Ecosystems and Business Intelligence
(DEBI) Institute, Curtin University of Technology - 19th Australian Software Engineering Conference
(ASWEC 2008)
2Software Engineering 2.0
- Four dominant factors
- Tsunami of information largely unstructured
- Interactive connectivity
- Domain centred problem solving
- Collaborations creating value
3Software Engineering 2.0
- Tsunami of information largely unstructured
- 161 exabytes (108 TB) of information created /
replicated worldwide, 2006 (Mike Brodie IEEE
DEST 2008) - In 2006 more information created than in previous
5000 years - Around 5 percent of information in enterprises is
Structured Information - Role of semantics is crucial
- Metadata, Ontologies
4Software Engineering 2.0
- Interactive connectivity
- Web 2.0 is an attitude or philosophy
- To think of Web as a platform of services
- Applications are built by composing services
- Users add extra value to these services through
deeper level of participation for their own
benefits
5Software Engineering 2.0
- Domain centred problem solving
- Domain semantics is the key to deal with next
generation technologies - Business services ecosystems (Forrester 2008)
- Semantic specification ? standardization of
business services interfaces - Leverage business services ecosystems to support
business agility
6Software Engineering 2.0
- Collaborations creating values from making
connections - Service oriented architectures
- Mashup is the key for value creation
- Mashup helps to form Virtual Organisation
- We differentiate
- Service mashup (data level)
- User mashup (meta-data level)
7Ontology Definition
- Ontology a shared conceptualization of a domain
that is commonly agreed to by all parties, a
specification of a conceptualization (Gruber
1993) - Ontology means to facilitate knowledge reuse by
different applications, software systems and
human resources. Ontologies are highly expressive
knowledge models ? increase expressiveness and
intelligence of a system
8Ontology based Software Engineering
- Use of ontologies in different aspects of
software engineering - Ontology Based Multi-Site Software Development
- Ontology Mediated Information Access
- Ontology and Semantic Web Services
- Ontology based Multi Agent Systems
9Ontology Based Multi-Site Software Development
Analysis
Design
Implementation
Testing
VV
Local site
Local site
Remote sites
10Software Engineering Ontology (SE Ontology)
- Ways of sharing and reusing knowledge and project
information by remote software engineers / remote
software developers - SE Ontology captures the generic / specific
software engineering concepts as well as software
engineering project information / data /
agreements - Formation of a virtual community, from which
considerable value can be derived based on
certain social network properties
11SE Ontology vs SWEBOK
- Software Engineering Ontology (SE Ontology)
- Defines common shareable software engineering
knowledge - Provides software engineering concepts what the
concepts are, how they are related, and why they
are related - Facilitates common understanding of software
engineering knowledge across multiple development
sites
- SoftWare Engineering Body of Knowledge (SWEBOK)
- A glossary of terms (a definition of each
discrete term) - Not define the concepts or the relationships
between the terms - provide a benefit for a team of people working
together
12Software Engineering Ontology
13Software Engineering Ontology
14Software Engineering Ontology
15Software Engineering Ontology
16Software Engineering Ontology
Design Activities
Design Methods
Component-based Design
Software Requirements
Software Design
Software Tools
Reuse
Configuration Languages
Software Methods
Heuristic Methods
Software Testing
Software Construction
Toolkit Languages
Construction Languages
Formal Methods
Programming Languages
Test Techniques
Test Targets
Prototyping Method
Test Issues
Test Objectives
Test Activities
17Social Network based Approach
- Provide active support and recommendations to
remote software engineers - Access and share software engineering knowledge
when carrying out software development - Integrates the existing SE Ontology and
recommender approach - Recommend useful project information and
tentative solution(s) for project issues - The social network will be an innovative
mechanism for SE Ontology evolution - a
breakthrough in the area
18Social Network based Approach
19Ontology Evolution Methodology
- Ontology Evolution - the timely adaptation of an
ontology to the arisen changes and the consistent
propagation of these changes to dependent
artefacts. (Stojanovic, 2004)
20Recommendation Techniques
- Vote cast by factor of members who actually work
on a task have the best understanding of that
task ? Reputation Value - Dynamic changes in reputation value over a
duration of time ? Markov Model - Determine what could be the most probable future
reputation value in the category of the issue at
a time in which the decision has to be made. - The past sequence of reputation values may
exhibit a trend or seasonality pattern or random
noise - Based on a finite state process (7 trust states)
21Ontology Mediated Information Access
- Varying characteristics using their own
categories for storing data in database - Database interoperability becomes a major problem
22Ontology Mediated Information Access
- Protein Ontology (PO)
- Integrate protein knowledge and provide a
structured and unified vocabulary to represent
protein synthesis concepts - Form a standard on accessing the different
protein data sources - Act as a mediator for accessing not only
relational data but also semi-structured data
such as XML or metadata annotations and
unstructured information
23(No Transcript)
24Ontology and Semantic Web Services
- Web services issues
- Selection of a suitable architecture
- Discovery of suitable services
- Selection of a service
- Composition and coordination of the services to
meet the requirements
Semantically annotate web services
Combination of ontologies and Web 2.0 philosophy
25Ontology and Semantic Web Services
- Service space - a supportive environment where a
collection of Web services gather for the purpose
of fulfilling user demands - Global Space
- Domain Syndication
- Ontology
- Annotation
- Data mining
- Dynamic Alliance
- Web service mashup
- Enclosing semantic web space
- Web service portal
- User mashup
- Virtual syndication
26(No Transcript)
27Service-Oriented Computing
- Creating Value from Making Connections
- Loose-coupling and Interoperability
- Integration and Composability
- Specialisation and Reusability
- IDC (2005) estimates that 14.9 billion will be
spent on SOC applications by 2009 - Several Issues
- Architecting SOC applications is hard
- Quality -major concern of the SOC architecture
- Quality-security, scalability, reliability,
flexibility, performance - Architects need reference in making trade-off
decisions - Little has been done towards formal SOC
architecture study
28The classification scheme
- BM/B Basic Matchmaker/Broker
- LM/B Layered Matchmaker/Broker
- HM/B Hierarchical Matchmaker/Broker
- FM/B Federated Matchmaker/Broker
- FAB Federated Asynchronous Broker
- P2PD/C Peer-to-Peer Discovery/Composition
29Approaches to Semantic Web Services
- WSDL based
- Internal Exploitation (e.g. text mining)
- External References (e.g. WordNet, Domain
ontology, etc.) - OWL-S based
- Service profile
- Service model
- Service grounding
- WSMO based
- Ontology
- Goal
- Mediator
- WSDL-S based
- Annotation
- Extension to standard WSDL
-
30Web Oriented Styles - Motivation
- Success of the Web (e.g. HTTP)
- Simplicity (GET, PUT, POST, DELETE)
- Ubiquity (PC, Laptop, Wireless, PDA, proxy, ,
everywhere!) - Web services are not Web-compliant
- Twist the semantics of HTTP
- getNameById is HTTP POST! (OO brain-washed)
- Web services vs. Web RPC
- Web services do not have much in common with the
Web - potential weakness such as scalability,
performance, flexibility, and implementability - REST vs. WS-
- Increase the complexity exponentially
- WS- specs more than 1000 pages in the past 5
yrs - HTTP1.1 114 pages since 1999 2007
- Public UDDI is shutdown permanently in Jan 2006
- Too complex over 450 pages with 300 function
calls - Driven by big vendors vs. support from the Web
users - No ranking vs. Google PageRank
- No Recommendation vs. Web Links Voting, which
enables Google
31Web-Oriented Style RESTful Web services
- RESTful Web (Fielding 2000)
- REpresentational State Transfer
- Architectural Constraints
- Explicit resource identifier URI (caching
enabled) - Uniform and consistent HTTP interface (similar to
UNIX pipe) - Stateless _at_ server, hence State needs to be
transferred - Putting the Web into Web services (Vinoski
2002) - Refresh RPC-based Web services
- Response from W3C (WSA, 2004)
- acknowledged two classes of Web services
- REST-compliant Web services
- arbitrary Web services
- RESTful Web services vs. arbitrary Web services
- Resource-Oriented vs. Activity-Oriented (Snell
2004) - REST vs. RPC
- CRUD interface vs. custom-defined interface
- HTTP is an application protocol vs. HTTP is an
transport protocol - HTTP is semantic rich for app. vs. HTTP is not
adequate for app.
32Web-Oriented Style Triple Space
- Motivation
- The Read and Write Web is a huge success
- Writers publish to the Web site, from where
readers read - Readers do not need to know Writers, and vice
versa - Web services do not have much in common with the
Web (Krummenacher et al., 2005)
33Web-Oriented Style Triple Space
- Basic techniques
- Tuple Space (Gelernter, 1985)
- for Storage
- Publish/Subscribe model (Eugster et al., 2003)
- for Interaction
- RDF (Klyne and Carroll, 2004)
- for Service matching
- Natural Confluence of
- Asynchronous Broker RESTful Web services
34The evolutionary CUBE
- Three steering principles
- Simplification
- Loose-coupling
- Decentralisation
35Web-Aligned WS-Discovery
- 1. Write via HTTP
- 2. Publish via HTTP Blog/Atom publish protocol
- 3. Read/Notify via HTTP
- 4. Subscribe via RSS/Atom format specification
36Our current work Web-Aligned WS-Discovery
Cluster_at_debii
Aligning with the Web
37Ontology Based Multi Agent Systems
- Coherent and consistent knowledge bases of
different agents - Ontology to share among agents in a given domain
- Collection of agents utilise ontology as their
common knowledge base - Facilitate communication and coordination between
agents
38Future Attraction
- M. Hadzic, T. Dillon, P. Wongthongtham and E.
Chang, - Ontology-based Multi-agent systems,
- to be published this year by Springer in
Series on Computational Intelligence.