Invited lectures
Posters
On Scheduling Agents
We discuss the issue of scheduling agents from two aspects: (1) how the concept and technology of intelligent agents can help to model and solve problems of scheduling and, on the other way around, (2) what are the prospects of applying scheduling methods in the coordination of multi-agent systems. Focusing on production scheduling, we analyze the gap between theory and practice, argue for a novel modeling approach, and show that many of the new, mostly practical requirements can be met by autonomous, reactive and distributed agents that are embedded in their execution environment.
Agents endowed with such properties are appropriate not only for capturing relatively fixed resources -- which is quite usual -- but also for modeling items undergoing production. It turns out that this latter, in fact, can help exploring the possibilities of the second aspect (2) of our target.
Intuitively, mobile agents provide the means for realizing items during production, i.e., agents "on the go". However, the application of mobile agents is not without risks: we attempt to determine the motives that call for and the conditions that make possible their use in scheduling.
Emergence and Possible Worlds Semantics for learned agents
We propose a formal semantics for Machine Learning, particularly for
Learning Agents.
We start from the classical definitions in the domain. The basic
point is to state Learning as the building of a visibility
relationship between possible worlds.
We try to use in this framework the basic idea of emergence, which is
to build an upper level which has a causal influence on the lower one.
Multi-agent Systems: A Software Engineering Perspective
Agent based approach provides a new paradigm for analyzing, designing and implementing
complex systems. The main feature of agent oriented modeling is to view systems as a set of
interacting agents within an environment. This provides a natural and intuitive approach to model a
broad variety of applications such as Artificial Life, Collective Robotics, Distributed Problem
Solving and Simulation. Although many Multi-Agent Systems (MAS for short) have been designed,
there is a crucial lack concerning design and development methodologies. A process of
specification is fundamental to handle the complexity related to building such systems and
specifying the desirable behavior of MAS before their implementation phase. The specification
process must fulfill two roles. The first is to provide the underlying rationale for the system under
development. The second is to guide subsequent design, implementation and verification phases. A
variety of specification formalisms are available in the multi-agent field. Such formalisms put the
emphasis on the first role and do not provide a basis to fulfill the second as they are often abstract
and unrelated to concrete computational models. We believe that one way to bridge the gap between
the abstract and concrete level is to build the specification of systems using a prototyping process.
This process provides a support for incremental specification leading to an executable model of the
system being built. Indeed, in many areas of software and knowledge engineering, the development
process putting emphasis on prototyping and simulation of complex systems before their effective
implementation is proven to be a valuable approach.
The purpose of this talk is to present several fundamental issues relating to methods and formalisms
for the specification and development of multi-agent systems.A specification method is essential to
manage MAS complexity by decomposition and abstraction.
We also present an organizational model based on organization, interaction and role to specify
MAS. It allows to go from requirements to a detailed design and helps to decompose a MAS in
terms of roles and organizations.
Distributed Simulation; Methodology, Tools and Applications
The paper is concerned with distributed
and parallel discrete simulation which offers the possibility of
executing time-consuming calculations on computer networks or
parallel computers. Distributed event-driven simulation is proposed
as an alternative to traditional sequential simulation. The paper
discusses some important issues associated with the implementation of
distributed simulation. A particular attention is focused on the
software environment which provide framework for simulation
experiments performed on parallel computers. The paper presents the
software system CSA&S-PV (Complex Systems Analysis &
Simulation - Parallel Version) designed as a software tool which
supports the developers of the control mechanisms for large scale
systems. The program allows to perform multiple simulation
experiments using parallel asynchronous computing. The CSA&S-PV
system was used to investigate several real-life problems. The
application is presented for flow transformation in the river basin
and flood control in multiple reservoir system.
Creating Collective Intention through Dialogue
The process of cooperative problem solving can be divided into
four stages. First, finding potential team members, then forming
a team followed by constructing a plan for that team. Finally,
the plan is executed by the team. Traditionally, very simple
protocols like the Contract Net protocol are used for performing
the first two stages of the process. In an open environment
however, there can be discussion among the agents in order to
form a team that can achieve the collective intention of solving
the problem. For these cases fixed protocols like contract net
do not suffice. In this paper we present an alternative
solution, using structured dialogues, with an emphasis on
persuasion, that can be shown to lead to the required team
formation. The dialogues are described formally using modal
logics and speech acts.
Messages, Clocks and Gravitation
The message system considered in the paper consists of a finite set of
places, each of them capable to store a fixed number of messages. Places
can be joined by links and then they are neighbours. Messages are created
and moved from places to neighbour places until reaching their destinations
and then disappear. The system is supposed to act in a non-terminating way:
newly created messages are flowing through the network and vanishes after
reaching their destinations, making room for creation new messages.
Messages are moving through the network independently of each other;
however, because of limited capacity of places, some messages can stand in
the way of reaching destination by others; in effect of such obstacles some
messages may not reach their target at all. The aim of this paper is to
define a rule of message moving which ensures responsiveness of the system,
i.e. a rule that guarantees any message appearing in the system to reach
eventually its destination. In particular, such a rule should prevent
messages from endlessly circulating in the network, or from being
constantly hampered by others. Such a rule, based on so-called
"potential function" of messages, is found and its adequacy is proved.
Mathematical models of evolutionary algorithms.
Evolutionary algorithms are kind of stochastic iteration schemes uses mostly
to solve difficult optimization problems. In this lecture we discuss the
underlying Markovian models, the concept of convergence to the global
optimum, sufficient criteria for convergence and measures of convergence
rate. A special attention is devoted to the finite-state models.
Multiprocessor Scheduling with Support by Genetic Algorithms - based Learning Classifier System
The paper proposes using genetic algorithms - based learning classifier
system (CS) to solve multiprocessor scheduling problem. For this purpose,
agents - local decision making units are associated with corresponding tasks
of a parallel program, and the program is interpreted as a
multi-agent system. After initial mapping tasks into processors of a parallel
system, the agents perform migration to find an allocation providing the
minimal execution time of the program. Decisions concerning agents' actions
are produced by the CS, upon a presentation by an agent information about its
current situation. The CS is a rule - based system which is able to learn
rules of scheduling during its operation. Actions of agents can be executed
by them sequentially, in a group or in parallel. Results of
experimental study of the scheduler are presented.
Spatial reasoning in distributed systems
Spatial reasoning comprises reasoning under uncertainty about spatial
concepts. Usually, schemes for spatial reasoning make use of ontological
taxonomy of concepts and a mereological calculi based mostly on the
notion of a connection. We will present an alternative approach to
spatial reasoning based on rough mereology, a paradigm for reasoning
under uncertainty extending mereology and especially fit for special
data encoded in spatial information systems. We will demonstrate how
basic constructs for spatial reasoning may be derived in the rough
mereological environment and how they may be synthesized by distributed
or many-agent systems.
Some approach to design and realisation of mass multi-agent systems
Relatively large number of agents in mass multi-agent systems (mMAS) stems
necessity of the new approach to analysis, design and utilisation of such
systems. Their double nature: micro (virtual) -- with respect to internal
phenomena among agents, and macro (real) -- which arises at the interface to
the real world, must be thoroughly considered. In the
paper the V-R decomposition is proposed as the idea that structures the
problem. As an illustration, some results of simulation studies on the
evolutionary predicting system -- an example of mMAS -- are presented and
discussed.
Mathematical Model of Architecture and Learning Process of Artificial Neural Network
We discuss the mathematical model of both architecture and learning process
of artificial neural networks. Dynamical systems theory is used to describe
the learning process of networks consisting of linear, weakly nonlinear and
nonlinear neurons. Conjugacy between a gradient dynamical systen wth a
constant time step and a cascade generated by its Euler method is applied
as well.
Measuring of heterogeneous degree for distributed computing systems
In this paper, we present quantitative estimation of heterogeneous distributed computing systems. It was shown
that known methods for general estimation of heterogeneous distributed computing systems as usual allow to
estimate average deviation for nodes characteristics of distributed computing systems from maximal or minimal
estimation of computing node. We exploit analytical expression which allows to make the quality-quantity
general estimation of the heterogeneous degree for heterogeneous distributed computing system. We consider six
different methods for measuring of heterogeneous degree of heterogeneous distributed system. We propose
model of heterogeneous computing system and apply it to calculation of heterogeneous degree considering
system’s characteristics. Experimental results show that our model can provide parameters of computing system
with more accuracy and consider not only quantitative characteristics of computing nodes but their quality
structure as well.
Model of optimization of data distributing in multiprocessors computing system
In this paper, we consider the problems of time optimization of big data arrays processing in distributed
multiprocessors systems. This optimization is based on analysis of the time spending for data interchange
between computer nodes. We include a comparison of two methods of data distributing. This comparison
shows that the method of preliminary data distributing provides considerable decrease of execution time.
Moreover, at the stage of task mapping the method of preliminary data distributing considers of executing
speeds of each processors that leads to efficient processors loading. We also propose an analytical model
that allows to estimate the volume of data sending between nodes and optimization of whole execution time.
Agent Interoperability in Cyberspace
Background of the research
Overview of Pegaz
Applications implemented on Pegaz
References
Applications of genetic algorithms in finite element computations
Modeling many real life problems requires solving complex systems of difference equations. One
of the most useful methods which is applied to solving such problems is a finite element analysis
(FEA). In this method, the system of difference equations is finally reduced to a linear system,
created for finite number of elements or nodes. Finite element mesh is a part of finite element
model which is created for every domain concerned by a problem.
Joel Quinqueton
L.I.R.M.M at INRIA, France
e-mail: Joel.Quinqueton@inria.fr
Abder Koukam
Belfort University of Technology
France
e-mail: abder.koukam@utbm.fr
Ewa Niewiadomska-Szynkiewicz
Institute of Control and Computation Engineering
Warsaw University of Technology
e-mail: E.Szynkiewicz@ia.pw.edu.pl
Frank Dignum (1), Barbara Dunin-Keplicz (2), Rineke Verbrugge (3)
(1) Faculty of Mathematics and Computing Science
Technical University Eindhoven, The Netherlands
(2) Institute of Informatics
Warsaw University, Poland
(3) Cognitive Science and Engineering
University of Groningen, The Netherlands
e-mail: dignum@win.tue.nl, keplicz@mimuw.edu.pl, rineke@tcw2.ppsw.rug.nl
Antoni Mazurkiewicz
IPI PAN, Warsaw, Poland
e-mail: amaz@ipipan.waw.pl
Kazimierz Grygiel
Institute of Computer Science, Warsaw University, Poland
e-mail: grygiel@mimuw.edu.pl
Franciszek Seredynski
Institute of Computer Science
Polish Academy of Sciences
Warsaw, Poland
e-mail: sered@capricorn.ipipan.waw.pl
Lech Polkowski
Polish-Japanese Institute of Information Technology, Warsaw, Poland
e-mail: Polkow@goblin.pjwstk.waw.pl
Marek Kisiel-Dorohinicki, Edward Nawarecki, Grzegorz Dobrowolski
Institute of Computer Science, Academy of Mining and Metallurgy, Cracow, Poland
e-mail: doroh@uci.agh.edu.pl
Andrzej Bielecki
Institute of Computer Science, Jagiellonian University, Cracow, Poland
e-mail: bielecki@ii.uj.edu.pl
Dmitriy Chvyrov, Svitlana Tkachenko
Faculty of Electronics
Technical University of Koszalin, Poland
e-mail: chvyrov@ie.tu.koszalin.pl
Dmitriy Chvyrov, Svitlana Tkachenko
Faculty of Electronics
Technical University of Koszalin, Poland
e-mail: chvyrov@ie.tu.koszalin.pl
Stanislaw Ambroszkiewicz, Krzysztof Cetnarowicz, Wojciech Penczek, Tomasz Nowak
Institute of Computer Science, Polish Academy of Sciences
e-mail: sambrosz@ipipan.waw.pl
Computer networks offer new application scenarios that cannot be realized on
a single workstation. However, for large computer networks like the cyberspace
(the open world created by the global information infrastructure and facilitated
by the Internet and the Web) the classical programming paradigm is not sufficient.
It is hard to imagine and even harder to realize the control, synchronization and
cooperation of hundreds of processes running on remote hosts.
The idea of mobile software agents inhabiting the cyberspace seems to be a
good solution here. A mobile agent is an executing program that can migrate
from host to host across a heterogeneous network under its own control and
interact with other agents. However, it is clear that a single agent cannot
perform efficiently its tasks in a large open world without cooperation with
other agents.
For large open worlds simple cooperation mechanisms based on bilateral
communication are not sufficient. Sophisticated interaction mechanisms and
services are needed. During the interactions agents communicate, negotiate,
and form organization structures. To realize the concept of mobile agents
together with agents interactions and service infrastructure, a special
middleware called "mobile agent platform" (MAP, for short) is needed.
There are several platforms available over the Internet, for example IBM
Agelets, Concordia, Grasshopper, Mole, and Voyager to mention only some of
them. One of them is Pegaz developed in our Institute. These platforms are
for creating infrastructures on computer networks, so that details of network
functioning are hidden from the users as well as from the agents, see Fig. 1.
This makes programming more easy. A programmer need not manually construct
agent communication, nor agent transportation. This may be viewed as high
level abstraction from network communication protocols, operation systems
(due to Java), and data structures.
Most of the existing mobile agent platforms create similar infrastructures.
However, there is a problem of interoperability between different platforms
if we want agents to migrate from one platform to another. Based on OMG CORBA,
MASIF standard [8] offers interoperability limited to implementation
independent aspects. Agents that migrate from platform A to platform B must
know how to access the internal services and resources offered by the platform
B. Such object-internal aspects are usually not handled by CORBA.
Since most of today's mobile agent platforms are implemented in Java, it is
postulated in [7] to create a new OMG standard to define implementation-specific
(i.e. Java-specific) convention that allows a mobile agent to migrate to any
standard-compilant platform. This concept (a specification of a generic mobile
agent platform) has been developed in GMD FOCUS and IKV++ [3], and realized in
the Grasshopper platform [4].
However, the interoperability limited only to the core functionality offered
by the Grasshopper architecture is not sufficient for a mobile agent to be
able to access internal services and resources (of a remote place) being
beyond the scope of the core functionality. To do so the agent must "know"
how and for what purpose the services and resources can be used, or at least
to be able to learn about that.
In order to assure this, a common language based on the common ontology is
needed. The language is also necessary for defining agent negotiation
protocols, joint plans, and intentions. According to the standard definition,
an ontology is an explicit specification of a conceptualization, see [5].
A conceptualization is an abstract, simplified view of the world. Hence,
in order to define an ontology and a language, a formal representation of
the world is needed. In our case, the world is the environment created by
mobile agent platforms. Let the environment be called cyberspace. Since most
of the existing MAPs create similar infrastructures, it seems that a formal
specification of the cyberspace is possible. In our opinion the common
ontology based on a formal specification of the cyberspace is a way to
achieve a high interoperability level.
There is another effort taken by FIPA [2]. This approach to ontology is based
on a different point of view. It is supposed that each domain (for example,
e-commerce) has its own specification expressed in a formal language.
This specification is identified with the ontology of the domain. So that
the ontology provides a vocabulary for representing and communicating knowledge
about the domain. If two agents wish to converse, they must share a common
ontology for the domain of discourse. Quite recently DARPA has proposed another
approach called DARPA Agent Markup Language (DAML) [1]. DALM is to be a
language (built on XML) that could serve as means for software agents to
dynamically identify, communicate and understand each other. " ... Going far
beyond XML, the goal of this program is to develop a language aimed at
representing semantic relations in machine readable ways compatible with
current and future Internet technologies. ..."
Our approach is a bit different. We construct a representation of cyberspace
(understood as the environment created by MAPs) as the basis for constructing
application domain ontology. This very representation serves also as the basis
for constructing the key aspects of agent architecture, i.e., common ontology,
agent knowledge and a simple agent communication language. Our approach to
ontology follows the idea of Wittgenstein that the meaning of language is in
its use. In the approach of Gruber, et al. [5] and Gaurino [6], the
interpretation (meaning) of concepts is constrained by logical axioms.
Equipping agents with goals and decision making mechanisms, we can construct
multi-agent systems. We also develop a formal theory (based on modal logic)
of such multi-agent systems.
The research is based on our experiences gained during realization of Peagz
- our MAP, and modeling agent virtual organizations as sophisticated agent
interaction mechanisms (see www.ipipan.waw.pl/mas/).
Figure 1: Functioning of a mobile agent platform, e.g. Pegaz
(click the picture to see a full-size version - 66Kb)
Pegaz was designed as a tool for modeling agent virtual organizations.
The platform makes it possible to run real network applications, and to
simulate large computer networks on one or several servers.
The main goal of Pegaz is the creation of a common environment (infrastructure)
for network programming and agent-based programming. The platform assures basic
services for the agents like mobility and communication, and supports dynamic
constructions of new services. There is an interface for users to create
dynamically (mobile) agents without worrying about low level problems like
registration in the network or management of the communication protocol.
Pegaz is composed of System and Environment, see Fig. 1.
System consists of programs: Node (place), Starter, and Monitor.
Node is the basic program of Pegaz. In order to joint a computer to the
infrastructure created by Pegaz, the program Node must be executed on that
computer and connected to another running Nodes on another computers in the
network. Running system consists of a network of running Nodes. Starter is
for introducing new agents into the running system. The program Monitor is
for monitoring the behavior of agents. Environment consists of Java
interfaces and classes needed for agent and service construction by the user.
A service is located on a Node. Agents can migrate (together with their data)
from one Node to another one and use the available services.
The platform is implemented in Java under JDK 1.1.7B. Hence, Pegaz can be ran
on the majority of operation systems like MS Windows 95/NT, SunOS, DEC UNIX,
Linux.
The idea of Pegaz architecture goes along the same lines as the architecture
of Concordia, however there are some basic differences. One of them is that
Concordia has one central Administration Manager for providing remote
administration of the whole system, whereas Pegaz is completely distributed so
that two or more Pegaz systems running independently can be composed into one
just by making at least one connection between a Node of one system and a Node
of the other system. This may be seen as an advantage, however several problems
with naming and communication must be solved. There is one central component of
Pegaz system; it is Monitor. However, it collects the data sent by the agents
and displays them on one window, so that it is a tool only for monitoring the
agents' behavior.
It is important to notice here that the environment by Pegaz is open in the
sense that it can be extended (in the runtime) to include new places and new
agents from another Pegaz infrastructure created by a different programmer
on a different computer network.
Pegaz is still under development although several applications have been
already implemented on it. Among them are implementations of two distributed
algorithms: one for resource allocation and the second for routing in a
computer network. These two implementations (seen as academic applications)
served for testing our platform.
The third application, Personal Office (PO), is a system for users to
facilitate their everyday routine (cooperative) work. The main component of a
PO is secretary-agent. A user of a running PO delegates to the secretary goals
to realize. The secretary has the task-agents at its disposal. To each task
there are associated task-agents designed and responsible for performing this
specific task. The library of specific tasks include currently: meeting
scheduling, voting, workflow management of document processing. The library
is being constantly extended. In order to realize the goals the secretary
distributes the tasks (needed to realize the goals) among the task-agents,
supervises and coordinates the task performance. Usually task-agents are
mobile, and move to other POs to perform their tasks there. Agents
implementation in PO system realize our idea of agent interoperability.
A demo of running our Personal Office system will be available shortly on our
www site.
Roman Wyrzykowski, Jaroslaw Zola
Institute of Mathematics and Computer Science, Technical University of Czestochowa, Poland
e-mail: {roman|rzolau}@matinf.pcz.czest.pl
Generating the finite element mesh is one of the most important tasks in building the
finite element model. Although there are a lot of algorithms developed, very often meshes are
poorly shaped, so the smoothing process is necessary. Smoothing is a technique designed for
element shape optimization. There are many methods of smoothing, but it is hard to describe a
method which would be satisfactory enough for every kind of meshes.
Many applications of FEA have too large computing or/and memory cost for a sequential
implementation. Parallel compuations allow overcoming these bottleneck by dividing a finite
element mesh into a number of sub-domains (or sub-meshes) which can be processed
concurrently over different processors. As a result, the mesh partitoning is a vital part of
implementing the finite element model in parallel.
The task of partitioning unstructured meshes for parallel finite element computations is
not straightforward, since not only the load per sub-domains has to be kept the same. Also,
interprocessor communications have to be minimized. These communications are results of
interaction (or coupling) between boundary nodes of sub-meshes.
Genetic algorithms (GAs), based on mechanisms of natural selection and inheritance, are
known to be one of the best optimization methods. Thanks to their stability, they can be applied
to searching into even very complex search spaces.
This work deals with applications of GAs in finite element computations. Two areas are
considered: mesh smoothing, as well as parallel mesh partitioning and generating.
The goal of finite element shape optimization is to find such coordinates of nodes that
provide the most regular shape of the element containing these nodes. The regularity of element
shape is necessary for the minimization of discretization errors. For triangular meshes, the ideal
shape of element is the equilateral triangle. The optimization algorithm searches for a new
position of a node, and only one node is moved in an iteration. To solve the optimization
problem, the compact GA (shortly cGA) is used. It differs from the classical GA in the
population representation and population processing. The important feature of cGA is that it
needs significantly less memory than the classical GA.
In the paper, an object-oriented software implementation of the algorithm developed is
presented, as well as some results of experiments with mesh smoothing carried out on the SUN
Ultra 10/300 workstation. These results show that the cGA algorithm can be used even for
optimization of very poor-shaped meshes; however, in this case, it is very time-consuming. The
reason is that the algorithm runs many iterations for each optimized node. The goal of future
works is to include the possibility of displacement of boundary nodes. Another idea is to expand
the proposed algorithm in such a way that all nodes of an element will be relocated
simultaneously. In this case, a single chromosome will code positions of several nodes.
When solving the second problem, namely, the finite element mesh partitioning and
generating, it is supposed that a coarse background mesh with data describing the density in the
final mesh are given. There are two possible approaches to the problem of mesh partitioning and
refining. One is to implement two consecutive steps of refining and partitioning on a single
processor, and then send the obtained results to remaining processors. In the opposite case,
refining is made on target processors concurrently. The second approach, which is investigated in
the paper, allows avoiding memory and time bottlenecks, which may take place in the first
approach. In the method presented in the paper, a genetic algorithm with Gray coding and
tournament selection is used to find coordinates of the dividing vector in the basic two-
subdomain partitioning procedure. This procedure is recursively repeated for created sub-
domains, and the number of resulting sub-domains depends on the number of available
processors.