Information Technology Reference
In-Depth Information
The ability to search for alternative applicable plans when a goal is first posted or
when a previously attempted plan has failed is essential to enable these systems to han-
dle dynamic environments. In some situations there can be multiple plan options to
achieve a given goal, but for a given state, only certain combinations of choices will
lead to its successful achievement. In PRS, as in modern BDI systems, the final deliber-
ation of which plan to activate is usually performed using meta-level plans that operate
upon meta-level descriptions of the other plans and the goals in the system. Meta-level
plans are important hooks used by the designer to implement application-specific plan
selection strategies, for example, by considering plan properties, e.g. reflecting qual-
ity of service, or to insure mutual exclusion on critical resources, and optimize their
utilization.
3
Component and Services
The Open Service Gateway Initiative (OSGi), CORBA Component Model, Microsoft
Object Model, Enterprise JavaBeans, and Fractal are some of the mainstream component-
enabling technologies used for the creation of many industrial-strength software sys-
tems. Conceptually, the same technologies also provide a composite model for service
oriented architectures, by helping to design systems in terms of application components
that can expose their public functionality as services as well as invoke services from other
components.
3.1
Component Containers
One of the most important common concepts among component-enabling technologies
is the relationship between a component and its environment, wherein a newly instan-
tiated component is provided with a reference to its container or component context.
The component container can be thought of as a wrapper that deals with technical con-
cerns such as synchronisation, persistence, transactions, security and load balancing.
The component must provide a technical interface so that all components will have a
uniform interface to access the infrastructure services. For instance, a common solution
to implement activity-type components, i.e. components that need to attend to their pro-
cess rather than merely react to events, is to segment these activities in steps, which are
then executed by a scheduler - usually shared among multiple components.
Most relevant for this paper, OSGi defines a standardised component model and
a lightweight container framework, built above the JVM. OSGi is used as a shared
platform for network-provisioned components and services specified through Java in-
terfaces. Each OSGi platform facilitates the dynamic installation and management of
units of deployment, called bundles, by acting as a host environment whereby various
applications can be executed and managed in a secured and modularised environment.
An OSGi bundle organises the frameworks internal state and manages its core function-
alities. These include both container and life cycle operations to install, start, stop and
remove components as well as checking dependencies.
Search WWH ::




Custom Search