Semantic Software Engineering Tools
World Wide Web Internet And Web Information Systems (2003)
- ISBN: 1581137516
- DOI: 10.1145/949344.949364
Available from portal.acm.org
or
Author-supplied keywords
Available from portal.acm.org
Page 1
Semantic Software Engineering Tools
Semantic Software Engineering Tools
Alexander Paar
Universität Karlsruhe
Am Fasanengarten 5
76128 Karlsruhe, Germany
+49 – 700 – 2539 7227
AlexPaar@ieee.org
ABSTRACT
Recently, the paradigm of software engineering has shifted
significantly to service orientation based on Web services. Web
Services Description Language interface specifications provide
sufficient information to physically access a service. However,
these interface descriptions are semantically bleak. This work
introduces a number of tools, which were developed to augment
strict syntactic service descriptions with semantic information in
order to elucidate the meaning of processed data and provided
functionality. Semantic Web technologies such as DAML+OIL
were supplemented with natural language support for usability
improvements both at design- and at runtime.
Categories and Subject Descriptors
D.2.3 [Software Engineering]: Coding Tools and Techniques –
object-oriented programming, program editors, standards,
structured programming, top-down programming.
General Terms
Documentation, Design, Languages.
Keywords
Semantic software engineering, automatic service lookup and
integration, C#, WSDL, DAML+OIL.
1. INTRODUCTION
During the nineties, object orientation of software source code
made possible component orientation of applications. Lately,
novel component oriented runtime environments have paved the
way for service oriented infrastructures. Since there may be a
considerable number of service providers, which offer very
similar functionality, it tends to be difficult to choose the most
appropriate service and to guess the appropriate operations by
interpreting syntactic operation names as provided by state of the
art Web service interface descriptions. We used Semantic Web
technologies like DAML+OIL [1] for constructing ontologies,
which present the meaning of processed data and provided
functionality. These ontologies were used to annotate both
syntactic Web service descriptions as well as object oriented C#
source code. This demonstration introduces the set of tools that
was developed in order to implement the idea of semantic
software engineering. Web Services Description Language [2]
documents were annotated with semantic information using a
WSDL annotator. A Microsoft Visual Studio [3] add-in was
developed in order to annotate C# source code based on a set of
DAML ontologies. The Microsoft SOAP toolkit [4, 5] was
extended to preserve semantic annotations when C# proxy classes
are automatically created from WSDL files as well as when
annotated Web service descriptions are automatically generated
from annotated C# source code. Annotated Web services may be
invoked in a declarative manner both at design- as well as at
runtime. Declarative service requests that are embedded with
common C# source code are resolved by a Visual Studio add-in.
A programmer may even dictate such requests using natural
language input. A service activator was developed in order to
handle declarative requests issued at runtime.
2. ANNOTATION TOOLS
2.1 DAML Annotator
Ontologies representing real-life knowledge may become very
extensive. Hence, it is often difficult to look up particular entities.
A DAML Annotator was developed to supplement DAML
descriptions with natural language information as follows.
<geography:california rdf:ID="california">
<rdfs:phrasing>California|The Golden State
</rdfs:phrasing></geography:california>
The above example shows phrasings for a DAML instance that
presents California. Such phrasings are accepted as input for
service invocation tools introduced in section 3. Multilingual
phrasings could further improve user experience. Future database
servers will support such features by introducing full-text queries
for synonyms. As a result, a DAML+OIL entity would have to
provide only a minimal set of phrasings. The actual vocabulary
would be provided by database servers.
2.2 WSDL Annotator
A WSDL Annotator was developed in order to augment syntactic
interface definitions as provided by WSDL files with semantic
meanings. WSDL port types refer to message definitions in the
messages section. Each port operation’s function signature
comprises one input- and one output message. Such a message
consists of certain XML types. Using the WSDL Annotator,
parameters of Web method signatures may unambiguously be
declared as representing particular ontological entities (e.g. an
input string may be defined as the name of a US state).
Ontological annotations in semantic SWSDL files are incorporated
as XML tags. SWSDL files may then be referenced by UDDI [6]
registries.
Copyright is held by the author/owner(s).
OOPSLA’03, October 26–30, 2003, Anaheim, California, USA.
ACM 1-58113-751-6/03/0010.
90
Alexander Paar
Universität Karlsruhe
Am Fasanengarten 5
76128 Karlsruhe, Germany
+49 – 700 – 2539 7227
AlexPaar@ieee.org
ABSTRACT
Recently, the paradigm of software engineering has shifted
significantly to service orientation based on Web services. Web
Services Description Language interface specifications provide
sufficient information to physically access a service. However,
these interface descriptions are semantically bleak. This work
introduces a number of tools, which were developed to augment
strict syntactic service descriptions with semantic information in
order to elucidate the meaning of processed data and provided
functionality. Semantic Web technologies such as DAML+OIL
were supplemented with natural language support for usability
improvements both at design- and at runtime.
Categories and Subject Descriptors
D.2.3 [Software Engineering]: Coding Tools and Techniques –
object-oriented programming, program editors, standards,
structured programming, top-down programming.
General Terms
Documentation, Design, Languages.
Keywords
Semantic software engineering, automatic service lookup and
integration, C#, WSDL, DAML+OIL.
1. INTRODUCTION
During the nineties, object orientation of software source code
made possible component orientation of applications. Lately,
novel component oriented runtime environments have paved the
way for service oriented infrastructures. Since there may be a
considerable number of service providers, which offer very
similar functionality, it tends to be difficult to choose the most
appropriate service and to guess the appropriate operations by
interpreting syntactic operation names as provided by state of the
art Web service interface descriptions. We used Semantic Web
technologies like DAML+OIL [1] for constructing ontologies,
which present the meaning of processed data and provided
functionality. These ontologies were used to annotate both
syntactic Web service descriptions as well as object oriented C#
source code. This demonstration introduces the set of tools that
was developed in order to implement the idea of semantic
software engineering. Web Services Description Language [2]
documents were annotated with semantic information using a
WSDL annotator. A Microsoft Visual Studio [3] add-in was
developed in order to annotate C# source code based on a set of
DAML ontologies. The Microsoft SOAP toolkit [4, 5] was
extended to preserve semantic annotations when C# proxy classes
are automatically created from WSDL files as well as when
annotated Web service descriptions are automatically generated
from annotated C# source code. Annotated Web services may be
invoked in a declarative manner both at design- as well as at
runtime. Declarative service requests that are embedded with
common C# source code are resolved by a Visual Studio add-in.
A programmer may even dictate such requests using natural
language input. A service activator was developed in order to
handle declarative requests issued at runtime.
2. ANNOTATION TOOLS
2.1 DAML Annotator
Ontologies representing real-life knowledge may become very
extensive. Hence, it is often difficult to look up particular entities.
A DAML Annotator was developed to supplement DAML
descriptions with natural language information as follows.
<geography:california rdf:ID="california">
<rdfs:phrasing>California|The Golden State
</rdfs:phrasing></geography:california>
The above example shows phrasings for a DAML instance that
presents California. Such phrasings are accepted as input for
service invocation tools introduced in section 3. Multilingual
phrasings could further improve user experience. Future database
servers will support such features by introducing full-text queries
for synonyms. As a result, a DAML+OIL entity would have to
provide only a minimal set of phrasings. The actual vocabulary
would be provided by database servers.
2.2 WSDL Annotator
A WSDL Annotator was developed in order to augment syntactic
interface definitions as provided by WSDL files with semantic
meanings. WSDL port types refer to message definitions in the
messages section. Each port operation’s function signature
comprises one input- and one output message. Such a message
consists of certain XML types. Using the WSDL Annotator,
parameters of Web method signatures may unambiguously be
declared as representing particular ontological entities (e.g. an
input string may be defined as the name of a US state).
Ontological annotations in semantic SWSDL files are incorporated
as XML tags. SWSDL files may then be referenced by UDDI [6]
registries.
Copyright is held by the author/owner(s).
OOPSLA’03, October 26–30, 2003, Anaheim, California, USA.
ACM 1-58113-751-6/03/0010.
90
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime
Start using Mendeley in seconds!
Readership Statistics
2 Readers on Mendeley
by Discipline
by Academic Status
100% Ph.D. Student
by Country
50% Germany
50% Brazil


