TTU Home
CS Home
SORCER Home
About SORCER
Research
Overview

Domains

Projects

FIPER

Theses
Publications
Events / News
Research Group
Resources
Contact Us
Search


Campus Directory

Research Overview

  How not to get lost in complexities of our own making is still computing's core challenge.
Edsger Dijkstra


Service-Oriented Computing Environment:
from Object Space to Cyberspace


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