|
How not to get
lost in complexities of our own making is still computing's
core challenge.
Edsger Dijkstra |
The structured computing paradigm is a strategy based on a concept that
a system has data and functionality (behavior) separated into two
distinct parts. The object-oriented (OO) paradigm, on the other hand,
defines a system as a collection of interacting active objects
via message exchange. These
objects do things and know things; Or, stated equivalently, they have
functions and data that complement each other as
constituent parts of each active object. The combined functions and data,
called methods, can be activated by received messages
from other objects. Usually an OO system creates its own object space instead of
accessing a data repository. This object space constitutes an
OO program.
Building on the OO paradigm is the
service object oriented
(SOO) paradigm in which the objects are distributed, or more precisely they
are remote objects that play predefined roles. A service provider
is a service object that accepts remote messages from service requestors
to execute an item of work. These messages in SORCER are called service exertions. An exertion is a
network request
that encapsulates data, operations, and control strategy.
These objects do things, know things, and
dynamically federate for execution of their control
strategies. Or, stated equivalently, they are metaprograms
executed by dynamically federating providers. A task exertion is an elementary
service request–a kind of elementary metainstruction (statement)–executed by a service provider or a group of federating
providers. A composite exertion
called a job exertion is defined in terms of tasks and
other jobs–a kind of metaprocedure–executed by federating providers that are managed by the metacompute operating system. The
executing exertion is an SOO program that dynamically bounds to all relevant and
currently available service providers on the network. These providers,
identified in runtime, form an exertion
federation. This federation is also called an exertion space. While this
sounds similar to the OO paradigm, it really isn’t. In the OO
paradigm the object space of local objects is a program itself; here the exertion
space of service objects is the implementation system for the exertion being a
metaprogram in the management system. This changes the game completely. In the
former case the object space is local and hosted by a single computer, but in the latter
case the remote service objects are hosted by the network of computers. The
overlay network of service objects forms the service
grid and an exertion federation forms a
virtual
metaprocessor.
The metainstruction set of metaprocessor
consists of the operation set defined by all service providers in the
grid. Do you remember
the eight fallacies of network computing?
Creating
and executing a SOO program in terms of metainstructions requires completely
different
approach than creating a regular OO program on a single computer. In other words, we apply the
OO concepts directly to the service provider grid. SOO programs are
exertions, domain-specific service
providers execute service tasks and metacompute operating
systems executes service jobs to make solving complex user
problems easier.
The primary difference between exertion and federation is management and implementation. The exertion and the federation distinctions are based on the analogies between the company management and employees: the top-level exertion refers to the central control (the Chairman of company) of the behavior of a federated management system (the Chairman's staff vs. component exertions), while federation refers to a federated implementation system (the company employees vs. the collaborating service providers) which operates according to management rules (the SORCER metacompute OS based on federate method invocation), but without centralized control.
The SORCER environment provides the means to create interactive SOO
programs and execute them without writing a line of
source code. Service exertions can be created using interactive user
interfaces downloaded directly from
providers. Also via interactive interfaces the user can execute and
monitor the execution of exertions in the SOO cyberspace. The exertions
can be persisted for later reuse. This feature allows the
user quickly to create new applications or programs on the fly
in terms of existing service tasks and jobs. Exertions created this way might
be used later with their own custom user interfaces that collect
input from the user and update an exertion accordingly before its
execution as the metaprogram in the cyberspace.
The FIPER (Federated Intelligent
Product Environment) project founded by
NIST is the precursor of the SORCER.
The Laboratory's current research
falls into eight principal domains: Service-Oriented Programming,
Service-Oriented Computing Environment, Service-Oriented
Programming Development Tools, Service-Federated Assurance and
Security, Self-Aware Service Federations, Autonomic Service
Federations, and Service Intergrids.
The current and future projects
and
theses
are
supported by external grants or are graduate thesis research topics.
|
Computer Science
SORCER Lab Box 43104, Boston & 8th, Lubbock, TX 79409, USA
Tel: (806)-742-5851 Fax: (806) 742-3519
Email: sorcer@cs.ttu.edu
|
|
|