Download as ps, pdf, or txt
Download as ps, pdf, or txt
You are on page 1of 6

On the Design of a Mobile Agent Web for Supporting Virtual Enterprises

Ad Aerts, Nick Szirbik, Dieter Hammer, Jan Goossenaerts, Hans Wortmann


Eindhoven University of Technology, Postbus 513, 5600 MB Eindhoven, The Netherlands
{a.t.m.aerts ; d.k.hammer}@tue.nl, {n.b.szirbik ; j.c.wortmann ; j.b.m.goossenaerts}@tm.tue.nl

Abstract assume that the participants are willing to cooperate


and share data.
In this paper we discuss the design of a mobile
agent based infrastructure for monitoring and 2.1 Two examples of Virtual Enterprising
controlling activities in a Virtual Enterprise (VE). We
define the concepts of the Virtual Enterprise and the Consider the case of a commercial jet that needs
Mobile Agent Web (MA-web). replacement of a high-value part like an undercarriage,
because the old one was damaged in a rough landing.
International regulations prohibit the airline to repair
1. Introduction this part of the plane by replacing only the severely
damaged components and tinker with the slightly
New organizational concepts pose new challenges to damaged ones. They ask for a full replacement of the
the ICT systems supporting them. In a Virtual landing gear. Because the airline companies usually do
Enterprise (see section 2) one of the challenges is to not keep spare undercarriages in stock, the airline has
provide flexible support for the co-ordination and to order a new undercarriage in this situation. The
integration of the ICT systems of each of the participant problem is that 80% of the global commercial fleet
enterprises without imposing excessive demands on the consists of aircraft, which are no longer in production.
systems of these participants. In section 3, we discuss a Worse still, many of the companies who built the
design for the integration of the ICT support systems planes are not on the market any more.
for a Virtual Enterprise (VE). The design is based on However, the market of high-value replacement
the mobile software agent paradigm [8] and is one of parts is very active. The manufacturing of such parts
the results of an interdisciplinary research project, requires the collaboration of a number of companies,
named ROVE (Reasoning about Operations in Virtual which join forces for this particular purpose. For an
Enterprises) at the Eindhoven University of undercarriage, about a dozen companies are involved,
Technology. We have started to develop a Concordia which are typically located on different continents.
[1] platform-based prototype named PROVE (Prototype Note that this case is characterised by a one-of-a-kind
for ROVE [10]). The role of the prototype is to identify assemble-to-order style.
the problems, which appear in the Virtual Enterprising Consider now the case of a group of specialized
process, and to find the best architectural patterns for enterprises that sells office furniture, such as desks,
the flexible integration of ICT support systems for filing cabinets, computers, and other accessories, and
VE’s. We do not discuss alternatives for the mobile has started a collaboration to offer complete office
software agent paradigm in this paper (see [8]). Section solutions via the Internet. Through a Web-portal,
4 concludes the paper with some open issues. complete workplaces for one or several office workers
are offered, with a choice of popular colours and styles.
Customers, who want to expand an existing branch
2. The Virtual Enterprise
office or open a new one, can order any number of
workplaces at a time. The order is split at the Web
The concept of the Virtual Enterprise is rather novel
portal into sub-orders for the participant companies,
and there exist different views about it. We will first
depending on such factors as product and availability of
present two examples of Virtual Enterprising and then
resources. The products are assembled and sent to a
discuss the VE and the requirements it poses on its ICT
distribution centre near to the customer, where the
support. The formation of the VE is not a topic of this
order is collected for delivery. This case is batch
paper. We assume it to be in place. In particular, we
oriented.
2.2. A definition of the Virtual Enterprise subcontractors for a specific component. The
decomposition will follow the BOM (Bill of Material)
From the examples above we see that a VE caters to of the product ordered by the customer, until a
markets that the individual participants by themselves component is reached that can be produced by a single
cannot access: they need to collaborate. Moreover, the enterprise. In a VE, one wants to monitor the process of
VE is not their main business, but just a collateral the decomposition of the order of a particular customer
activity that helps them to fill the gaps in the usage of and the production of the product ordered [10]. In
their resources, to participate actively in new, global addition, one wants to provide decision support for the
markets, and to virtually extend their resource types. management of problems, originating for example from
This is due to the fact that opportunities leading to the fact that one enterprise cannot meet its delivery
Virtual Enterprising are hard to forecast. For example, date, and has to be replaced by another one in the VE.
it is impossible to forecast when a landing gear will The resolution of such problems requires co-operation
break and need replacement. The participants thus will among the participants, e.g., to reach an agreement
commit only a small fraction of their resources to the about who will pay for possible additional costs
VE. Virtual Enterprising requires a lot of flexibility and incurred by a tardy delivery [11, 12].
therefore is based on a global agreement, not on In this project, we have chosen to use the mobile
detailed contracts. To increase the flexibility of the VE agent paradigm to implement the support for the
and to avoid orders from being rejected, because the monitoring and control of the activities of the
required resources aren’t available at the right time, enterprises. Mobile agents can migrate from one
some redundancy of resources should exist and more computer to another and execute their code on different
than one company with a given production capability locations, by their own “will”. Because this implies a
should participate in the VE. high degree of portability, mobile agents are usually
Our definition of a Virtual Enterprise is related to coded in Java [5]. To allow the mobile agents to run on
the concept of virtual capability [9]: a computer, we need specialised software, which in
“A group of enterprises, which has the capability of literature is called “mobile agent server”, “mobile agent
realising in a collaborative manner, items or services dock” or “mobile agent platform”. There are now many
from a limited portfolio of products, is a Virtual mobile agent development systems, which provide the
Enterprise.” functionality of the dock and a basic structure for the
The composition of the group is dynamic. agent, such as IBM’s Aglets [3] and the Mitsubishi
Enterprises may join or leave the group. The definition Concordia Mobile Agent Framework [1], which we use
above does not capture the state of a given VE at a in this project. The development and deployment of
certain moment in time. We introduce a new concept agent-based VE integration includes the installation of
for that: docks at all enterprises involved. The integration task
“A group of enterprises, members of a bigger then amounts to making the agents able to identify and
Virtual Enterprise, which is currently involved in the invoke local functionality. The Mitsubishi Concordia
execution of an order for a customer, is a Cluster.” Mobile Agent Framework has specialized skeleton
Many Clusters can be simultaneously active in a modules (Service Bridges) to help making the
Virtual Enterprise. The selection of the members of a interfaces between the agents and the local software.
Cluster depends on how their resources can be used, in The installation of such a service bridge is fairly simple
terms of available time-slots, stocks, past performance, and also the coupling to, e.g. a database, is based on a
prices, and possibly customer preference. broadly accepted standard such as JDBC.
For the ICT support of collaborative processes, we In our project, we have assumed that the members of
need a structured approach to identify the requirements, the VE are all linked to the Internet, and have mobile
the architecture, and the problems of Virtual agent docks installed on their computers. We call such
Enterprising. a group of enterprises an MA-web (Mobile Agent Web).

2.3 Requirements for ICT support for a VE 2.4 Design outline

The business process in a VE starts with an order by Figure 1 shows an object diagram, depicting the
a customer for a composite product, be it a landing gear information needed to support the deployment of agents
or the complete furnishing of an office. The order has to provide monitoring and control at a global level (i.e.
to be decomposed into suborders, which are dispatched the level above the enterprises). In a mobile agent
to the participants in the VE, which may be regarded as system, agents need a Trader to tell them which
resources (machines, stock, or operators) can be found business decisions concern the structure the VE
in the system and their availability. Resources may be business process. The VE needs take commonly agreed
Resource Availability Trader
decisions about how co-operation and overall
performance (especially in terms of customer
0..* 1 1 1
1 1 satisfaction) can be improved. The architectural
1
decisions are related to the ICT support development
0..*
for a VE. They are, however, strongly based on the
Scheduler Agent
0..* business decisions that determine the design variables
1
1 1 1 of a software system. The architecture decisions are
taken by the software and system architects in co-
0..* 1 1 operation with the stakeholders.
Global Schedule Target
1 1
3.1 Business decisions
Figure 1. Co-ordination in the VE.
free for specific periods of time (see Figure 2). When an Decision B1: Adopt a mixed initiative interaction
agent wants to use a resource, it is reserved for that system based on human and software agents. This
agent and becomes unavailable for other agents. When decision is the basic idea in ROVE. It entails the
the enterprise in control of the resource agrees to following consequences:
participate in the execution of an order, the resource − Software agents are empowered to take supply
becomes committed and is no longer available. chain control decisions.
resources
..... type 1
− The human-to-human interaction, which underlies
...... current supply-chain control systems, is replaced
.....
type 2
by an agent-mediated scheme in which some of the
....... decisions are initiated by humans and some by the
.....
type 3 software agents.
.... and other types
current future The first consequence implies that humans will trust
moment time

Figure 2. Availability of resources. the decisions taken by the agents. To ensure this, it is
In addition to a Trader, a Scheduler is needed at a absolutely necessary that the human users understand
global level to support the realisation of the Target. The how the agents work. This puts requirements on the
Target object contains the information about the subsequent architectural decisions (see, e.g., A10).
product that has been ordered: its composition (BOM) In our opinion, the main challenge of the ROVE
and the routing needed to manufacture it. An agent is project is to see how agents can develop more initiative
put in charge of the target and submits the routing data and take some of the routine decision making burden in
to the Scheduler, which combines it with the the VE control system from the human actors.
availability data to produce a (modification to the) Decision B2: For agent-oriented IT support, the
Global Schedule. The global schedule is returned to the parties in a VE rely on a common software provider.
agent in charge of the target. This agent decomposes This SW provider plays a role similar to that of an
the order into components to be manufactured, creates Internet provider or a provider of complex software
an agent to monitor the production of each component, who provide a reliable and trustworthy product. In this
and uses the schedule to send these agents to the case, the agents (dedicated to perform uniform tasks
enterprises in control of the resources reserved to over a large area) are developed by a single provider,
manufacture the particular component. It co-ordinates which we call the SACP (software agent common
the activities of these agents, communicating with them provider). Such a specialized firm can be provider for
to resolve any problem that may arise, until the agents more than one VE. The SACP could be an independent
return with their component and the final product is party, which enjoys a high level of trust and should
assembled. This process repeats itself until a sub- have the following responsibilities:
component is produced as a whole by a single − Develop the required agents and necessary support
enterprise (see also [10]). services and keep record of the parties who are
using them (the VE).
− Help the parties to install the software and teach
3. Design Decisions
users how to use it.
− Maintain and upgrade the system.
We can define two levels of decisions: business and
architecture related decisions, respectively. The
− Help the users with expertise to enact the service natural consequence of Business Decision B4. The
bridges, in order to make local data available to the rationale is that the overall functionality of the system
agents. is simplified. It offers the possibility to have global
Decision B3: The security of the agent system is knowledge about the status of the “controlled” system.
entrusted to a (trusted) third party that provides A central repository allows agents to access necessary
monitoring and detection of hostile activities. Because data (via the Trader) immediately. In addition, Global
of the dynamic composition of the VE and its Scheduling can take place using local data, without the
distributed nature, it is best to contract secure need to collect every time the necessary information.
communication channels as a service, e.g. in the form Also, when the Web portal has access to the global
of a Virtual Private Network, from a trusted, data, it can provide quick order confirmation including
specialized provider. This approach is also used for information about, e.g., delivery dates. If the resources
Extranets. in the VE are almost fully committed, it is very easy to
Decision B4: Centralization of common services. In refuse orders without keeping the customer waiting.
the ROVE framework, a central site has, amongst other Because it always takes a finite amount of time to
things, the following functions: reflect changes of the local resource availability in the
− Maintain a central repository of data about the repository, the latter may not always reflect the latest
available resources in the VE, updated as often as state of the VE (the update mechanism is discussed in
possible. the context of decision A4). This is not a real issue,
− Calculate Global Schedules for orders. because resources must be committed locally before
The rationale behind this decision is that one usage. When an agent finds the information kept in the
consistent body of global information makes it simpler central repository to be outdated or inconsistent with
to generate optimal global schedules, and to avoid the the local reality, (because the local scheduler has
resource conflicts, inconsistencies and inefficiencies assigned the resource to a local production process) an
implied by distributed alternatives. It furthermore exception is raised. The agent can invoke the Trader to
relieves the participant enterprises from the hard task find a new available resource of similar type and time-
of developing and maintaining a distributed version of slot, or it can ask for a calculation of a new Global
these services themselves, and lowers the threshold for Schedule.
participation in the VE. The alternative to centralization is to keep the
Decision B5: Enact a Web portal for the VE for the availability data local (i.e. in the enterprises). In this
interaction with the customers. This portal exposes the case, the scenario of using the agents is quite different.
portfolio of the VE and permits customers to issue Each time a customer issues an order, the portal
orders. The roles of SACP, of trusted third party, and of deploys agents to all sites, where they search and select
maintaining a central site and a Web portal may be the best offers. It is still possible to make a global
attributed to a single company. schedule, but only after the agents have collected the
Central solutions always have the risks of congestion data. In architectures without a central repository, the
(because the central services create bottlenecks) and of main activity of the agent will be searching. For
central system breakdown. We envisage about hundreds instance, when an agent needs a new resource it has to
to thousands of agents to be active at any time. Since send agents throughout the entire VE to find one. Also
the agents invoke the central services only in certain, in case of delay management, in order to obtain the
rare situations, we regard the probability to reach a value of the penalty to be paid to the customer, a Global
state of real congestion as rather low. Also, the system Schedule has to be calculated, which implies collecting
is not subject to real-time constraints. Since the agents all data again. Also the optimization of the Global
rely on an asynchronous interaction mechanism, and Schedules for different products is very difficult,
can wait a while for the Trader to respond, a small because this requires the entire Availability Gantt chart
degree of congestion can be tolerated. to be constructed. Another consequence is that the
The asynchronous nature of the system also helps to agents need more functionality (for searching,
avoid problems if the central site needs to recover in navigating, co-ordination, etc) in order to compensate
case of hardware or software failures. the lack of a central Trader.
Since the Central Repository is only a (redundant)
3.2 Architecture related decisions copy of the local data, this data can easily be
reconstructed after a failure.
Decision A1: Central Repository for Resource Decision A2: Centralized Global Scheduling. One of
Availability Data. This decision can be viewed as a the reasons why Virtual Enterprising exists is better
customer satisfaction, especially in terms of fast order sites send the information at the same time, also in this
execution, which is supported by a central scheduler case congestion can occur. In view of the
that uses global knowledge about the available maintainability of the system, and the ease of
resources to produce optimal schedules with, e.g., installation and use we have chosen the polling
minimal lead-times. approach.
The way the schedules are constructed depends on Decision A5: Use Roaming Agents implementation
architecture decision A1. Without a central repository, of the polling approach. We have chosen for the option
the schedules will have to be calculated by the agents to let the central site send agents to gather the
after they have collected all necessary information information. It is possible to use only one agent for this
about resource availability. Schedules may now be task, when the number of sites is not very high. If
produced concurrently at different sites for different changes have occurred, the agent can send a message to
orders, based on the same availability data. the central site, or it can reduce the communication
Independent construction of schedules can lead to the load by storing the data in his own data repository and
allocation of the same resources to different targets. It uploading the information when it visits the central
is quite difficult to see how these conflicts can be site. If the number of sites is high, the VE can be
avoided or how conflict resolution can be done. partitioned in areas, each one with its own roaming
A Central Repository for Availability data, Global agent. In the event that a site is down, an agent who
Scheduling capabilities and a Trader represent the can wait, until the communication channel is
minimal centralized infrastructure, leaving unaltered operational again, is preferable. Roaming agents have
the inherently distributed nature of the system. been proven an efficient mechanism for collecting data
Decision A3: Serial calculation of schedules. Global in the context of the World Wide Web [4], where they
Schedules can be calculated at the central site in are known as spiders or crawlers.
parallel or serially. The choice depends on the Decision A6: Message Based Communication
scheduling load. The simplest variant is to calculate the between agents. In the Nucleus model [5], the agents
schedules serially. Since the number of sites, of tasks have been able to communicate only through the dock.
per product and of available resources is expected to be When two agents want to communicate, they have to
low, it should be possible to produce the schedules move to the same dock. In most systems, including
within a sufficiently short time. To support parallel Concordia, Grasshopper, Odyssey, Voyager and BOND
scheduling, a concurrency control mechanism must be [3], agents have a unique identity and can communicate
implemented. Also this should not present any via messages between themselves. Because Concordia
problems, because the schedule generation is taking is our target implementation tool, and the architecture
place at a single site based on a single set of data. must be general enough for other implementations,
Decision A4: Use Polling for data collection. There direct messaging between agents is used.
are two basic approaches for collecting the data for the Also, it is logical to use message-based
central repository: polling and publisher/subscriber. In communication for co-ordination tasks. The agents,
a polling approach, the central site has a list of all sites, who participate, are docked at various sites, tracking
and it asks them, via messages or by sending agents, the production of the parts they are responsible for.
whether any changes in the availability of the local There is no need for them to move to another location
resources have occurred within the production horizon just to communicate with another agent.
of the VE. This approach has the disadvantage of Decision A7: Use a pull model for the migration of
complicating the functionality of the central site. It also the agents. There are three possible models [6] for
increases the communication volume between the local mobile agent migration in a distributed environment:
sites and the central one, and thus the possibility of Pull: the agents are sent from buyers (assemblers) to
congestion. A new updating service is needed. suppliers to look for opportunities.
In a publisher/subscriber approach, the local sites Push: the agents are sent from suppliers to buyers
have to send the information about relevant changes to with offers.
the central site. This approach complicates the Broker: both buyers and suppliers are sending agents
functionality of the local service bridges. These service to a virtual marketplace, where agents can participate
bridges are pieces of software, which have to be in auctions and exchange information in various ways.
developed by local programmers and it is better to keep According to [6] the broker model is best suited for
them as simple as possible. The service bridges are e-commerce applications and not for VE support. Since
basically only an interface between docked agents and a VE is a customer (buyer) driven environment, the
local data repositories or humans. Furthermore, if all
best model seems to be the pull model. Also the security, and a central site to provide support for
monitoring task of the agents implies a pull model. trading and scheduling.
Decision A8: Limit the interaction between agents Our future work has two horizons. The short-term
to pair wise interaction. The rationale behind this work will comprise mixed initiative experiments with
decision is simplicity. An alternative is teamwork one-of-a-kind ordering style. In these experiments the
interaction, but this is extremely difficult to model. number of simultaneous targets will be kept low. After
Auction based schemes are using broadcast interaction, that, we will have to deal with batch ordering and
but there is, at present, no need for this in PROVE. conflicting resource allocation for multiple targets.
Decision A9: Use BDI as Agent Behavioral Model.
The BDI (Beliefs - knowledge, Desires - goals, 5. References
Intentions - agenda) model is the most popular model
in the agent researcher community. In our context, it [1] Mitsubishi Concordia Mobile Agent Framework,
has the advantage that the results of the ROVE project http://www.concordia.mea.com/concordia/
can be compared with other similar approaches. [2] “The Java Expert System Shell”,
The agent internal structure has to be developed http://herzberg.ca.sandia.gov/jess/
keeping in mind the process they have to support [7]. In [3] "Agent Construction Tools",
http://agentbuilder.com/AgentTools
our case, timely delivery of the product is a business
[4] Bowman, C. M. et al. The Harvest Information Discovery
goal. This is reflected in the agent by designing it and Access System. Second International World-Wide Web
around the delay management process [12]. Conference, Chicago, 1994.
Decision A10: Rule-Based Systems for the [5] Dalmeijer M., Rietjens E., Soede M., Hammer D.K.,
implementation of Agent Behavior. This design Aerts A.T.M., (1998), MAF: A Java-Based Implementation of
decision de-couples the agent behavior from its a Mobile Agent Architecture 1st IEEE International
implementation. When the behavior is coded directly in Symposium on Object-oriented Real-time distributed
a procedural way (as methods), any modification to the Computing (ISORC), April 1998, Kyoto, Japan.
behavior of the agents implies code re-writing. Using a [6] Dasgupta, P., Narasimhan, N., Moser, L.E., Melliar-
rule interpreter [2], we have the possibility to specify Smith, P.M., (1999), “Mobile Agents for Networked
Electronic Trading”, in IEEE Transactions on Knowledge
the behavior at a level that is understandable by the
and Data Engineering, vol. 11, no. 4, pp.509-525.
human VE controllers. These users then are more likely [7] Goossenaerts, J.B.M., Aerts, A.T.M., Hammer, D.K.,
to trust the agents to take (low level) decisions. The (1998), “Merging a Knowledge Systematisation Framework
main advantage of rules is that they are much easier to with a Mobile Agent Architecture”, in Information
read than code and have clear semantics even for non- Infrastructures for Manufacturing II, (Mills & Kimura, eds.),
programmers. Furthermore, we only have to modify the Kluwer, The Netherlands.
rule base of the agents to change the application we [8] Hammer D.K., Aerts A.T.M., Dalmeijer M., (1998),
want to support. The disadvantage of this approach is Mobile Agents Architectures: What are the design Issues?
that is quite difficult to see if a specific rule base is International Conference on Engineering of Computer Based
Systems (ECBS), Jerusalem, Israel, March 1998.
correct or not. In a later stage of the project a proof
[9] Kornelius, L., (1999), “Inter-Organisational
mechanism will be developed for this purpose. Infrastructures for Competitive Advantage: Strategic
Alignement in Virtual Corporations”, PhD Thesis, Faculteit
4. Conclusions and future work Technologie Management, Eindhoven University of
Technology, The Netherlands.
In this paper we have presented an approach to the [10] Szirbik, N.B., Hammer, D.K., Goossenaerts, J.B.M.,
design of ITC support systems for VE’s, which have as Aerts, A.T.M., (1999), “Mobile Agent Support for Tracking
principal requirement a minimal impact on the local Products in Virtual Enterprises”, in The working papers of
the Workshop on Agent-Based Decision-Support for
systems in terms of additional work load and software
Managing the Internet Enabled Supply-Chain, pp.93-100,
development effort. We have argued that architectures
AGENTS’99 Conference, Seattle.
based on mobile agents are well suited for this task. [11] Szirbik, N., Wortmann, H., Hegge, H., Goossenaerts, J.,
The agents provide support for the dispatching, (1999), “Improving manufacturing cooperation in a virtual
monitoring, tracking and negotiation processes. We enterprise by tracker mobile agents”, in Proceedings of
have given strong arguments that some centralisation EFTA’99, pp.1451-8, Barcelona, IEEE Press.
of data and services for the agents will simplify and [12] Szirbik, N.B., Wortmann, J.C., Hammer, D.K.,
improve the processes and the system structure. We Goossenaerts, J.B.M., Aerts, A.T.M., "Mediating
have identified several of these: a software agent Negotiations in a Virtual Enterprise via Mobile Agents",
common provider, a trusted third party to provide AIWoRC’2000: Mobile Technologies and Virtual
Enterprises", Buffalo, April 2000.

You might also like