Professional Documents
Culture Documents
On The Design of A Mobile Agent Web For Supporting Virtual Enterprises
On The Design of A Mobile Agent Web For Supporting Virtual Enterprises
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.