of our research proved that if ontologies are to
significantly and seriously contribute to production-
grade, system-scale engineering effort, they must
become an integral part of the system, in the same
way as data models are. In the case of a data model,
a physical component, i.e. the database, binds the
data model with the system that uses it. There is no
such equivalence in knowledge engineering.
Our research has proven that it is possible to
generate Web Services directly from domain
ontologies designed by Subject Matter Experts.
While still in its infancy, this research has the
potential to significantly impact distributed
computing, at least in some domains, where
collaborating Service-Oriented components can be
generated based on domain ontologies. If proven
scalable, the work may lead to ushering of a new
paradigm in software development with a significant
shift to knowledge engineering as the foundation of
software design, with the potential of replacing
requirements engineering.
While we were extremely successful in
demonstrating automatic generation of web services
based on domain ontologies, the research also
revealed a number of challenges.
In our opinion the foundational challenge is the
lack of standard knowledge engineering
methodologies. We believe knowledge engineering,
as a discipline, needs a level of practicable
systemization similar to Object Oriented Design.
Lack of such accepted methodologies will not only
lead to repeat of the “islands of technology”
phenomenon that the community experienced with
databases and operating systems, but also will create
interoperability and utility issues. A key dictum of
any knowledge engineering methodology should in
our opinion be componentization and reuse – two
objectives the software engineering community is
now actively pursuing. Finally, knowledge
engineering, in our opinion, requires tools that can
be used by Subject Matter Experts with little or no
knowledge of programming.
Our research also revealed a number of
challenges that are unique to using knowledge as the
foundational driver for software: because services
are generated automatically, the ontology will have a
multiplying effect in either the utility or dysfunction
of the resulting code. As such, tools that simulate
ontologies and help “debug” the ontology are
extremely important (Easterbrook, 1991).
Furthermore, because Services are not collocated,
the distributed aspect of the system becomes a key
issue in operations that orchestrate existing web
services for a new purpose. As such, versioning,
audit, validation, and identity management take an
entirely new and complex role. Finally, because
different experts can have different views of the
world, an ontology conflict resolution mechanism
must be incorporated in the underlying platform.
Because we use numerous small ontolgies to model
the world, we also need to research conflict
resolution strategies. While the automation adds a
new level of complexity, this however is not a new
concept in computing (Easterbrook, 1991); (Klein,
1991); (Sycara, 1993); (Fang et al., 1993). The key
research challenge here is the real-time, mission-
critical aspect of conflict resolution.
Our immediate future direction is two-fold:
Our first goal is to study scalability issues in
both deployment and maintainability. There are, for
example, active questions in dealing with the
“weakest link” in an environment where the
operation being executed is orchestrating web
services that are not collocated. The key question
here is whether or not a mechanism can be created
to negotiate and maintain a level of service between
collaborating web services. If so, what does that
mechanism look like in practical terms? Can it be
automatically negotiated or do we need humans in
the loop, at least in parts of the process?
Secondly, we plan to study the next generation
of our service-runner that may generate Java classes
that are directly executable. To be a feasible
operational solution, the research would have to
address a number of additional challenges, ranging
from Java Virtual Machine (JVM) compatibility to
dealing with updates of statically linked code.
ACKNOWLEDGEMENTS
This work was supported in part by a Small
Business Innovation Research award from the US
Air Force, under contract number FA8750-05-C-
0085. The views and opinions presented in this
paper represent the views of the authors and do not,
necessarily, represent the views of the DoD.
REFERENCES
Dourandish, R., Zumel, N., Manno, M., “Automated
Military-Civilian Information Sharing”, Military
Communications Conference (MILCOM), 2nd IEEE
Workshop on Situation Management (SIMA),
Washington, D.C., 2006.
A DESIGN PATTERN FOR AUTOMATIC GENERATION OF WEB SERVICES FROM DOMAIN ONTOLOGIES
347