We present an IST project of the 6th Framework Programme, aimed towards intelligent
grid middleware and workflow construction. The project's acronym K-Wf Grid stands
for “Knowledge-based Workflow System for Grid Applications”. The project itself
employs ontologies, artificial reasoning, Petri nets and modern service-oriented
architectures in order to simplify the use of grid infrastructures, as well as
integration of applications into the grid. K-Wf Grid system is composed of a set of
modules. The most visible one is the collaboration portal, from which a user can
control the infrastructure and manage his/her application workflows. Behind this
portal are hidden services doing the workflow management, monitoring of
applications and infrastructure, knowledge extraction, management, and reuse. The
project is behind its prototype phase and a successful review by the Commission.
The idea of the project is based in the observation, that users often have to
learn not only how to use the grid, but also how to best take advantage of its
components, how to avoid problems caused by faulty middleware, application modules
and the inherent dynamic behavior of the grid infrastructure as a whole.
Additionally, with the coming era of resources virtualized as web and grid
services, dynamic virtual organizations and widespread resource sharing, the
variables that are to be taken into account are increasing in number. Therefore we
tried to devise a user layer above the infrastructure, that would be able to handle
as much of the learning and remembering as possible. This layer should be able to
observe what happens during application execution, infer new knowledge from these
observations and use this knowledge the next time an application is executed. This
way the system would - over time - optimize its behavior and use of available
resources.
The realization of this idea has been split into several tasks and formed into the
architecture, that became the K-Wf Grid project.
The main interaction of users with the system occurs through the Web Portal.
Through it, users can access the grid, its data and services, obtain information
stored in the knowledge management system, add new facts to it, construct and
execute workflows. The portal consists of three main parts, the Grid Workflow User
Interface (GWUI), the User Assistant Agent (UAA) interface, and the portal
framework based on GridSphere, including collaboration tools from the Sakai project
and interfaces to other K-Wf Grid modules. GWUI is a Java applet visualization of a
Petri net-modeled workflow of services, in which the user can construct a workflow,
execute it and monitor it. UAA is an advisor, which communicates to the user all
important facts about his/her current context – the services he/she considers to
use, the data he/she has or needs. Apart from automatically generated data, the
displayed information contains also hints entered by other users, which may help
anyone to select better data or services or avoid problems of certain workflow
configurations. This way the users may collaborate together and share knowledge.
Under the Web Portal lies the Workflow Orchestration and Execution module,
composed of several components. These components together are able to read a
definition of an abstract workflow, expand this definition into a regular workflow
of calls to service interfaces, map these calls to real service instances and
execute this workflow to obtain the expected results, described in the original
abstract workflow. This way the user does not need to know all the services that
are present in the grid and he/she is required only to state what result is
required.
To be able to abstract the grid in such a way as described in previous paragraph,
the system has to know the semantics of the grid environment it operates on, and so
we need to employ serious knowledge management, computer-based learning and
reasoning. This is the area of the Knowledge module, which is split into the
storage part – Grid Organization Memory (GOM), and the learning part – Knowledge
Assimilation Agent (KAA). KAA takes observed events from the monitoring system,
maps them to the context of the performed operation and extract new facts from
them. These facts are then stored into GOM, as well as used in later workflow
composition tasks in order to predict service performance. GOM itself stores all
information about the available application services in a layered ontology and new
applications may be easily added into its structure by describing their respective
domains in an ontology, connected to the general ontology layer developed in K-Wf
Grid.
The monitoring infrastructure is integrated into the original grid middleware,
with the Grid Performance Monitoring and Instrumentation Service (GPMIS) as a
processing core. GPMIS receives information from a network of sensors, embedded
into the middleware, application services (where it is possible to instrument the
services) and into the other K-Wf Grid modules. Apart from collecting observations
for the learning modules, the monitoring infrastructure is also a comprehensive
tool for performance monitoring and tuning, with comfortable visual tools in the
user portal.
At the bottom of the architecture lies the grid itself – the application services,
data storage nodes and communication lines. K-Wf Grid has three distinct and varied
pilot applications, which it uses to test the developed modules. One of them is a
flood prediction suite, developed from a previous effort in the CROSSGRID project.
It consists of a set of several simulation models for meteorology, hydrology and
hydraulics, as well as support and visualization tools, all instantiated as WSRF
services. The second application is from the business area – a web service-based
ERP system. The third application is a system for coordinated traffic management in
the city of Genoa.