A COMPUTATIONAL TOOL TO MODEL INTELLlGENT SYSTEMS · input 1 to v I; eutput 1 to v2; network Sam pl...

6
4o. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999 A COMPUTATIONAL TOOL TO MODEL INTELLlGENT SYSTEMS José A. S. Guerrero" Antônio S. R. Gemes'" Ricardo R. Gudwín" DCA-FEEC-UNICAMP Caixa Postal 6101-13.083-970-Campinas, SP-Brasil {jasg'.asrgomes''.gudwin"]@dca.fee.unicamp.br Abstract: This paper presents the implernentation of a computational tool for modeling intelligent systems under the paradigms of computationaI semiotics. It uses, as a modeling artifact, the framework given by object networks and mathematical objects (Gudwin 1996). Several aspects of the system dynamics, characteristic topology and selection mechanisms are tackled in detail, airning at a robust architecture for object network simulation in real-world applications. Keywords: Computational Serniotics, Modeling Intelligent System, übject Network. 1 INTAODUCTION The role of Semiotics within intelligent systems development and implementation is being recently studied as an important foundation paradigm able to provide a future basis for a general theory ofintelligent systems (Albus 1997). Within many possible interactions between Semiotics and lntelligent Systems, we detach Computational Serniotics, i.e., the attempt of emulating the semiosis cycle within a digital computer. The rnain paradigm behind computational semiotics is "serniotic synthesis", i.e. the ability to use sign-processes and semiosis cycles from an engineering point of view, as a design platform for deveJopment of intelligent systems. Among other things, using computational serniotics paradigms we are targeting the construction of autonomous intelligent systems able to perform intelligent behavior, including perception, world modeling, vaIue judgement, and behavior generation (Albus 1991). There is a claim that most part of intelligent behavior should be due to semiotic processing within autonomous systems, in the sense that an intelligent system should be comparable to a serniotic system. Mathematically modeling such semiotic systems is currently being the target for a group of researchers studying the interactions encountered between serniotics and intelligent systems. The key issue in this study is the implementation of a computational toei in order to enable us to model intelligent systems and to study serniotic processes on computers. In this work we adopted a theoretic tool known as object networks. Object networks were first introduced by Gudwin (Gudwin 1996), and have been used as formal background for the 227 development of Computational Serniotics (Gudwin and Gomide 1997a, Gudwin and Gomide 1997b, Gudwin and Gomide Sep. 1997) in computer systems. More recently, object networks were also used within the context of computationaJ intelligence, soft computing (Gudwin and Gomide Oct. 1997, Gudwin and Gomide 1998a), and computing with words (Gudwin and Gornide 1998b). 2 A COMPUTATIONAL MODEL FOR OBJECT NETWORKS An object network is a mathematical tool structured in several sub-elements, such as objects, places, ports, relationships between places and the network operation mechanism itself. Its formal specifications and comparisons with other modeling tools can be found in (Gudwin, 1996). Other modeling tools using objects in Petri-nets-like structure can be seen e.g. in (Ceska & Janousek 1996,1997), or in (Newman et. ai. 1998) 2.1 Objects Objects are the elements that define the dynamic behavior of the network. They are the fundamental actors in the process of creation, elimination and modification of information that is encoded through existing objects. There are two types of objects. The first, acts solely as information containers (figure 1), exhibiting passive behavior. The second type, known as aclive, also contains information as a passive object, but it aIso includes a set of internai transforrning functions that operate over its internai data (figure 2). Actually, active objects are responsible for generation, destructive or non-destructíve assimilation, and modification of its own state. , ..--------- ... . . , , I -v-:s. I , . I : ",i; : , I " ... _---- ----,' Fignre 1. The conceptual passive object. Interactions between objects are regulated by a mechanism called triggering, and are performed by active objects. This mechanism, its behavior, and its formal definition are described in depth in (Gudwin 1996, Gudwin and Gomide 1998a, Gudwin and Gornide 1998b, Gudwin and Gomide May 1998),

Transcript of A COMPUTATIONAL TOOL TO MODEL INTELLlGENT SYSTEMS · input 1 to v I; eutput 1 to v2; network Sam pl...

Page 1: A COMPUTATIONAL TOOL TO MODEL INTELLlGENT SYSTEMS · input 1 to v I; eutput 1 to v2; network Sam pl enet {place Place1 type C 1 porta (0,2); place Place 2 type C 2; place Place3 type

4o. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

A COMPUTATIONAL TOOL TO MODEL INTELLlGENT SYSTEMS

José A. S. Guerrero" Antônio S. R. Gemes'" Ricardo R. Gudwín"DCA-FEEC-UNICAMP

Caixa Postal 6101-13.083-970-Campinas,SP-Brasil{jasg'.asrgomes''.gudwin"]@dca.fee.unicamp.br

Abstract: This paper presents the implernentation of acomputational tool for modeling intelligent systems under theparadigms of computationaI semiotics. It uses, as a modelingartifact, the framework given by object networks andmathematical objects (Gudwin 1996). Several aspects of thesystem dynamics, characteristic topology and selectionmechanisms are tackled in detail, airning at a robustarchitecture for object network simulation in real-worldapplications.

Keywords: Computational Serniotics, Modeling IntelligentSystem, übject Network.

1 INTAODUCTIONThe role of Semiotics within intelligent systems developmentand implementation is being recently studied as an importantfoundation paradigm able to provide a future basis for a generaltheory ofintelligent systems (Albus 1997).

Within many possible interactions between Semiotics andlntelligent Systems, we detach Computational Serniotics, i.e.,the attempt of emulating the semiosis cycle within a digitalcomputer. The rnain paradigm behind computational semioticsis "serniotic synthesis", i.e. the ability to use sign-processes andsemiosis cycles from an engineering point of view, as a designplatform for deveJopment of intelligent systems. Among otherthings, using computational serniotics paradigms we aretargeting the construction of autonomous intelligent systemsable to perform intelligent behavior, including perception,world modeling, vaIue judgement, and behavior generation(Albus 1991). There is a claim that most part of intelligentbehavior should be due to semiotic processing withinautonomous systems, in the sense that an intelligent systemshould be comparable to a serniotic system. Mathematicallymodeling such semiotic systems is currently being the targetfor a group of researchers studying the interactions encounteredbetween serniotics and intelligent systems.

The key issue in this study is the implementation of acomputational toei in order to enable us to model intelligentsystems and to study serniotic processes on computers. In thiswork we adopted a theoretic tool known as object networks.

Object networks were first introduced by Gudwin (Gudwin1996), and have been used as formal background for the

227

development of Computational Serniotics (Gudwin andGomide 1997a, Gudwin and Gomide 1997b, Gudwin andGomide Sep. 1997) in computer systems. More recently, objectnetworks were also used within the context of computationaJintelligence, soft computing (Gudwin and Gomide Oct. 1997,Gudwin and Gomide 1998a), and computing with words(Gudwin and Gornide 1998b).

2 A COMPUTATIONAL MODEL FOROBJECT NETWORKS

An object network is a mathematical tool structured in severalsub-elements, such as objects, places, ports, relationshipsbetweenplaces and the network operation mechanism itself. Itsformal specifications and comparisons with other modelingtools can be found in (Gudwin, 1996). Other modeling toolsusing objects in Petri-nets-like structure can be seen e.g. in(Ceska &Janousek 1996,1997), or in (Newman et. ai. 1998)

2.1 ObjectsObjects are the elements that define the dynamic behavior ofthe network. They are the fundamental actors in the process ofcreation, elimination and modification of information that isencoded through existing objects. There are two types ofobjects. The first, acts solely as information containers (figure1), exhibiting passive behavior. The second type, known asaclive, also contains information as a passive object, but it aIsoincludes a set of internai transforrning functions that operateover its internai data (figure 2). Actually, active objects areresponsible for generation, destructive or non-destructíveassimilation, and modification of its own state.

, ..---------.... ., ,I -v-:s. I, .• I: ",i; :, I

"..._--------,'Fignre 1. The conceptual passive object.

Interactions between objects are regulated by a mechanismcalled triggering, and are performed by active objects. Thismechanism, its behavior, and its formal definition are describedin depth in (Gudwin 1996, Gudwin and Gomide 1998a,Gudwin and Gornide 1998b, Gudwin and Gomide May 1998),

Page 2: A COMPUTATIONAL TOOL TO MODEL INTELLlGENT SYSTEMS · input 1 to v I; eutput 1 to v2; network Sam pl enet {place Place1 type C 1 porta (0,2); place Place 2 type C 2; place Place3 type

outputsInputs

Ports are interfaces of communication between places in objectnetworks. According to the topology of the network these portscan be classified in input ports, when another place sendsobjects for this place through this port, or output ports, whenthis place sends objects to another place through this pon, asshown in figure 5.

(:)Figure 5. Classification of ports according to the topology

of the object network.

According to the semantics involved there are two differenttypes of ports (figure 6):

privatsport 1

private port 2 1---1-.1 j l....__---l..l

private ports: these ports have different behaviordepending on whether they are being input or output ports.Input private ports are used to feed active objects stayingwithin an active place, to alIow their triggering. Outputprivate ports are used to deploy generated or transformedobjects to other places. So, private ports are connectedeither to a domain ar to a co-dornain of an internaItransforming function. These ports are part of the internalclass definition and can exist solely on active classes, e.g.,active places .

public ports: these ports are used to put objects to, ar getobjects from a place. So, the use of this port is managed bya place containe r, instead of by an internal object. Publicports are a part of lhe place definition, independently ofthe class type it may host.

The number of private ports a place may have will depend onlhe internaI functions their objects carry on. A place can haveany number of public ports.

Ares (figure 7) are used to create Iinks between places,connecting input ports to output ports . Links are unaware of lhekind of ports they connect, but some combinations are notconsidered valido

Figure 6. Classification of ports, according to the semanticinvolved.

private to private, because it implies a racing conditionbetween the supplier and the consumer.

• public to public, because this is meaningless, due to thefact that there is no transforming function, just an inertpipe. The correct way to do this is by an intermediateactive place that takes the object from the source place andthrows it into the destination place.

,.----------, placa 1----------_.., ," 1 2 1 2 "I ,I II •I I

• II II •I I

, I I

• I· .· ,

place4

outputport

place2

:IIII

,,II,,I.III

\',----------------------------,'

placel

Figure 2. The conceptuaI active object.

inputprivatspor!

Figure 3. Example of an object network.

As for an objects systern, the basic behavior in an objectnetwork is the triggering of active objects. The reader isreferred to the work of Gudwin (Gudwin 1996, Gudwin andGomide 1997a, Gudwin and Gomide 1997b, Gudwin andGomide 1998a, Gudwin and Gomide 1998b, Gudwin andGomide May 1998) for details about the formal definitions.

2.2 Object NetworksAn object network is a special type of object system (Gudwin1996) in which additional constraints concerning interactionsare included. To distinguish an object network from an objectsystem let us assume places and ares (Iinks) whose roles aresimilar to those used in Petri nets context (Murata 1989). Aoobject, in a given place, can only interact with objects in placesconnected through ares. ' , '

Ao object network can be put in a graphical form, with placesbeing represented by circles, ares by arrows and instances ofobjects by tokens , as in figure 3.

parOu. . '< 0 ,.Objeas,v-' zt>,'" . , ', .

passtve ptacc acttvc ptace

2.2.1 PlacesPlaces are the components of an object network where objectsare located. Each place is registered to a unique class, andevery stored object should belong to this class. In this sense,there are passive and active places, named after their class type,as described in section 2.1.

Places are represented graphicaIly by circles, where passiveplaces are depicted by single line circles, and active places bydouble line circles, as illustrated in figure 4. Each place canhave one or more ports, which alIow the interchange of objectswith adjacent places.

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999Every object is instantiated from a predefined class . A class 2.2.2 Parts and ares, represents a general description of how each object of this classshould behave, what kind of intemal data it has, and how itsprivate ports are connected to its internal data.

O

Figure 4. Place types.

228

Page 3: A COMPUTATIONAL TOOL TO MODEL INTELLlGENT SYSTEMS · input 1 to v I; eutput 1 to v2; network Sam pl enet {place Place1 type C 1 porta (0,2); place Place 2 type C 2; place Place3 type

40. SBAI- Simpósio Brasi leiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

3.2 Object Network Specification Language

including lhe communication with adjacent places and lhecontroller.

Figure 9. Externai communication between client and theMTON subsystem.

Place3

network• places• arcs

kernel

The design requirements for a robust specification andindependence of platform specific issues led us to a definitionof an Object Network Specification Language (ONSL). Thislanguage provides basic building blocks for each component ofan object network:classes• variables• functions

private inputloutput ports

Place 1

NetManager

Basically, there are two fundamental class types. The first isriamed internaI class and contains, in its internai definition ,only ONSL classes. The second type works as a shelí ,importing an externai native language class (in this case a Javaclass) to lhe MTON envíronment, This type of class is calledexternaI class, and is extremely useful because it reusespreviously available Java classes.

Figure 10 represents lhe network definition sample filecorresponding to the object network shown in figure 3.

Figure 8. Diagram for the network from figure 3. Each boxruns on its own thread. Arrows indicate communicating

messages between distinct uníts .From lhe user viewpoint, lhe interface with lhe externaI clíent,such as lhe graphical user interface, is also implemented in amessage passing protocol (figure 9). This protocol links theclient thread with lhe object network controller.

ClientApplication

3.3 Object Network Compiler (ONC)The Object Network Compiler (ONC) is lhe tool that processesONSL input files, performing syntactic and semantic analysis,generating lhe specific Java stub for each user defined class.

r , ' 1\public I I I I private

\ I11III,' \ 11'\ j \ /"..... ./

Figure 7. Graphical symbology adopted for ares

Active places must have, by its own definition, at least oneprivate porto They may or may not have public ports. Passiveplaces, on lhe other hand, must have ar least one public portand no private ports.

3.1 Design issuesThis section will de scribe implementation aspects. Figure 8shows how software objects interact with each other into lheJava Virtual Machine. Each box represents a distinct thread.

The object network controller (Net Manager) is the firstsoftware object instantiated on lhe Java VM. Its main functionsare :

• Processing performance, through automatic generation ofstubs for each user defined class. These stubs are compiledtogether with lhe user code. Externai classes (in this caseJava classes) can be incorporated by lhe network engineand manipulated as typical object network classes.

Scalability, with support to SMp2capable computersthrough multi-thread architecture .

Easy-to-use interface, provided by a graphical userinterface and a specification language for each componenton lhe object network.

Portability, because it is totally implemented in Java (SunMicrosystems, 1998, 1999a, 1999b), it runs on anyhardwareloperating systern that supports the Java VirtualMachine (Gosling et.al., 1999).

3 COMPUTATIONAL MODELThe work described in this section is based on the currentdevelopment of a computational tool , or a set of tools , that cansupply researchers with an easy-to-use interface to modelintelligent systems. This set of tools is a possibleimplementation of the conccpts described in section 2. Our aimhere is to construct a software tool' with lhe following features :

Robostness, through an independent specificationlanguage that isolates lhe object network model from lhehost programming language.

• To defme classes;

• To instantiate places;

To control lhe iteration sequence;

• To provide the externai communication interface with lheclient thread.

Each network place has a special management unit, namedplace manager, responsible for every transaction performed,

J The main simulation engine module is named MTON (Multi-Threaded Object Network).2 SMP stands for Symmetric Multi Processing (Tanenbaum1992).

The abstract Java c1ass NetObject is lhe basic ancestor for alinetwork objects, and provides lhe common behavior for ali ofthem (figure 11). Stubs are generated based on lhe ONSLdefinition. They connect the standard internai interface of lheNetObject base class with the user dcfined class particularities

229

Page 4: A COMPUTATIONAL TOOL TO MODEL INTELLlGENT SYSTEMS · input 1 to v I; eutput 1 to v2; network Sam pl enet {place Place1 type C 1 porta (0,2); place Place 2 type C 2; place Place3 type

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999by providing abstract methods, that are overridden in user Q shareable-vleavets/l} : several objects can read this objectclasses . simultaneously. It will remain the same on its place.

Iimport Samp l e n e t.xFl oa t ;

class Cl is xF l oa t;Iclaaa C2 {var v l type Cl;var v2 type C2;function fI from v I to v2 match from v I ;input 1 to v I ;eutput 1 to v2;

network Samplene t {place Place1 type C1 porta (0,2);place Place2 type C2;place Place3 type C2 ;p1ace Pl a c e 4 type C1 porta (2 , 0 ) ;arc Linkl frem P1ace1(publie 1)

to Pl ace2( p r i v a t e 1) ;arc Link2 from Pla c e 1(public 2)

te Place 3(private 1);arc Link3 frem Place2(private 1)

to Place4(pub1ic l i;are .Li n k 4 frem Pl a ce3 (p r i v a t e 1 )

to Place4(publie 2 ) ;kernel Pl ace l 0 1 , 0 2 ;kernel Place2 0 3 ;kernel Pl ace3 04;

Figure 10. Sample ONSL definition file.

MTONengine

ONSLcompilergenerated

userspecific

Figure 11. Java c1ass structure.

3.4 Network DynamicsOne of the most cruci al features of an object network is itsparallelism capability, in which every object may executeconcurrently with the rest of the network. The MTONarchitecture was designed with the assignment of a runningthread to each place on the network. To do so, it implements amessage passing sub-system to support its internaicommunication protocol.

Every object on the network may be triggered by any inputcombination that satisfies its input domain requirements, butthis is a great problem because there are some dependencyimplications, when an object is activated. The first question .is:from the many available functions within an object, whichinternai function should be selected? Only one internaI functioncan be activated at the same time (Gudwin 1996). The secondproblem is more complex: which objects available on neighborplaces, connected through incorning ares, should be used toactivate the chosen internai function? This problem can eitherbe split into two other problems : the selection of the bestobjects, according to some goals, and a policy to avoidconflicts when the selected objects are desired also by otheractive objects. To implement this policy, we assign thefollowing properties to available objects:

230

shareable+clean(sle): like a shareable, but the lastconsumer will automatically destroy ir.

exclusive-rleavetell): just one object can read this object. Itwill remain the same on its place.

exclusivewcleaniele):just one object (the consumer) canread this object, after which it wiIl be destroyed.

Actually , this problem is a little bit harder than explained,because the algor ithm has to provide: (a) the objects to beactivated, (b) the internai functions to be triggered, and (c) theobjects to be consumed. This process needs to avoid any kindof conflicts that may arise between different objects. Noticethat there is no sense in choosing a function when there is noobject available to feed it, or if the same object is requested atthe same time by different objects. In order to solve the wholeproblem we devised an algorithm to evaluate ali dependencicsamong each object, searching for valid actions.

We use the following concepts:

access mode: rules of use, and the consequences of them,when an object is used by another object;

combination: a combination of possible incoming objectsthat satisfies the type requirements for a specific internaitransforming function of a given c1ass;

local combination: This is a combination with theaddition of a matching interest and access modes . Notethat it does not take into account the rest of the network toavoid contlicts;

global (or valid) combination: it is just like a localcombination, but it takes into account ali externairelationships this decision may involve. Actually, this is avalid combination that can occur in a given context. In agiven network situation we argue that the set of globalcombinations is a subset of the set of local combinations;

We start by building local combinations and evaluating theirfeasibility in order to reach global combinations. This processis performed by a matching procedure, in which each internaifunction of each object expresses its interest in using a givenlocal combination. This interest is expressed either by a fitnessvalue or a more elaborated solution, e.g. using possibility andnecessity measures.

The proposed algorithm is based on an initial set of hypotheses:

I. Every internaI function has one internaI matching sub-function ;

2. There are several possible sets of global combinations, butjust one of them, with the best performance, must befound;

3. The searching for global combinations can be done oncomputing every internaI matching interest of everyfunction of every object on every place for each of theirlocal combinations;

Best Matching Search Algorithm (BMSA-l):

I. Determine the set of local combinations for each place,including its objects.

Page 5: A COMPUTATIONAL TOOL TO MODEL INTELLlGENT SYSTEMS · input 1 to v I; eutput 1 to v2; network Sam pl enet {place Place1 type C 1 porta (0,2); place Place 2 type C 2; place Place3 type

40. SBAI - Simpósio Brasileiro de Automação Inteligente, São SP, 08·10 de Setembro de 1?99

2. Eval the matching interest of every previous localcombinat ion.

3. Group ali previous sets from each place in one global set.

4. Create a list containing ali consumable objects on thenetwork, with no repetition (This is just lhe union of aliobjects used on lhe local combinations from step I) .

5. While number of remaining objects * O and number ofremaining local combinations *Odo:

From the list of local combinations get lhe highe stmatching value, and move its local combination lo lhelist of global combinations.

For each input object in this local combination do:

if the access mode is exclusive remove it from the listof consumable objects and remove ali localcombinations that are using it from lhe respective list.

if the access mode is shareable remove ali localcombinations that use this object in exclusive mode .

if the access mode is self clean mark this object.

After the creation of lhe list of global combinations everyobject is contacted to perform its scheduled task.

3.5 Graphical User InterfaceThe MfON architecture is supported by a graphic userinterface, which offers lo the user tools for design andsimulation, providing an easier way to work on object networksissues. The editor modu le is directly attached to lhe ONSL,e.g., every element in an object network can be designed on it.The simulator module enables the user to verify the dynamicbehavior of the network in different situations. A screenshot ofthe editor module is shown in figure 12.

:ku' i?-!'l!!-ill

1:1"'. .>"t:;4 :.t.t:t

. .... ;llq

Figure 12. Sample screenshot of the graphical userinterface.

4 CONCLUSIONSWith lhe implementation of the proposed software architecture,we upgrade lhe status of object networks from a purelyconceptual tool to a useful , easy-to-use application tool, suitedfor the development of intelligent systems. With it, it becomeseasier to use object networks as a modeling tool, in lhedevelopment of intelligent systems.

Up to the time of writing this article, we were not aware of anyother computational tool that could be compared with the workpresented in this paper. This is the first computationalimplementation of a generic tool to design and build fully

231

workable object networks. So, it is hard to assess specificfea tures of the proposed system against other works. ObjectNetworks were designed with the specific purpose to serve as atool to help designing and building intelligent systems usinglhe Computational Semiotics paradigm as a background. Untilnow, the use of object networks was restricted either totheoretical examples or specific illustration examples,hardcoded into standard computer languages. Now, with theintroduction of MTON, we are able to develop, build and testgeneral applications using the object network paradigm. Due tospace limitations , though , we are not able to show here lhe setof tutorial example s we developped to ilIustrate the pcitentialuse of object networks. We have developped referenceexamples regarding fuzzy systems, neural networks, geneticalgorithms and hybrid systems mixing thern , together with a lotof other examples that are available in order to guide new userswith the first steps in using MTON. Most of these examples,with the full workable system are publicly available. JUSlcontact one of the authors. In the near future our research groupwill be providing the software for free in a dedicated web site .

Despite we are not able to compare MTON with other softwaretools implementing object networks (because it is aetually thefirst one to do it), we are aware that other modeling tools doexist and are actually used in order to model some kind s ofsystems. One of these other modeling tools , that would be (inthesis) compared with object networks is Coloured Petri Nets(CPN) (Jensen, 1990) . There is a computational tool todevelop CPN's, called designlCPN (Meta Software Corporation1993), which is widely used by the Coloured Petri Netscommunity. We understand, though, that a comparison amongdesignlCPN and MTON would be not fair to designlCPN,because the object network paradigm enhances signifi cativelyover the CPN model (Gudwin, 1996) .

At the same time MTON is the consolidation of objectnetworks theory , it is also being used as a prototype for theenhancement of the own object network idea. As soon as ncwreal applications are constructed by its means, we are able toanalyze the demand for new capabilities, which can beincorporated, both to the mathematical/conceptual to01 and tothe application tool we developed. More than this , it is atestbed for computational semiotics, where its models andstructures can be instantiated, tested and evaluated. So , morethan a simple application tool, MTON is actually a researchtool, where the steps to the future are going to be traced.

We see a lot of improvements that are required, though, fromwhat has already been done. Basically, there are two categoriesof improvements. The first is related to the software systembeing deployed, considering new technological solutions, inorder to achieve efficiency and reliability.

Among other things we suggest:

Extension of lhe simulation engine from multiprocessorsystems to a network distributed engine, where each placemay run on a different machine. The way to that will becrossed by CORBA (Cornrnon Object Request BrokerArchitecture) and RMI (Remete Method Invocation)distributed computing architectures.

New selection functions for scheduling the triggeringobjects. The concept of matching may be extended to amore general one .

Page 6: A COMPUTATIONAL TOOL TO MODEL INTELLlGENT SYSTEMS · input 1 to v I; eutput 1 to v2; network Sam pl enet {place Place1 type C 1 porta (0,2); place Place 2 type C 2; place Place3 type

40. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999Introduction of software engineering analysis and design Conference on Systems, Man and Cybemetics -concepts to bring welI-known tools to the arena of object Orlando, FL, USA)networks.

The second is represented by the enhancements that can bemade to the mathematicaIlconceptual model of objectnetworks. These incIude enhancements like:

• Hierarclúcal modeling, in which each object within anobject network can be modeled by an object network itseIf.

• A connection of object networks with semantic networks,aIlowing a better representation of lhe types of objectsused and their relation to each other.

• The use of fielded and fuzzy objects (Gudwin, 1996) in itsstructure.

As we see it, the current implementation is just a step in theambitious goal of creating a general theory of intelligentsystems .

5 REFERENCESAlbus, J.S. (1991). "Outline for a Theory of Intelligence",

IEEE Transactlons on Systems, Man, and Cybemetics,vol 21, no.3.

Albus, J.S. (1997). "Why Now Semiotics? - From Real-TimeControl to Signs and Symbols"» Proceedings of the1997 Intemational Conference on Intelligent Systemand Semíotics, pp. 3-7.

Ceska M.; Janousek V. "Object Orientation in Petri Nets.Object Oriented Modeling and Simulati.on"Proceeding of the 22nd Conference of the ASU,University Blaise pascal, Clermont-Fcrrand, france1996, pp . 69-S0.

Ceska M.; Janousek V. '''A Formal Modelfor Object OrientedPetri Nets Modeling ". Advances in Systems Scienceand Applications, 1997.

Gosling, J.; Joy B.; Steele G., 1999, Javdt LanguageSpecification,httj>:lljava.sun.comldocslbooks/jls/htmIlindex.html

Gudwin, R.R. (1996). "A Contribution to the MathematicalStudy of Intelligent Systems" - PhD Thesis - DCA-FEEC-UNICAMP. (in portuguese)

Gudwin , RR. and Gomíde, F.A.C. (1997a), ComputationalSemiotic: An Approach for the Study of IntelligentSysterns - Part I: Foundations - (Technical Report RT- DCA 09 - DCA-FEEC-UNICAMP, 1997).

Gudwin, R.R. and Gomíde, FAC (1997b)., ComputationalSemiotic: An Approach for the Study of /ntelligentSysterns - Part II: Theory and Application - (fechnicalReport RT - DCA 09 - DCA-FEEC-UNICAMP, 1997).

Gudwin, RR. and Gomíde, F.AC., Sep 1997, Approach toComputational Semiotics" - (Proceedings of the/SAS'97 - Intelligent Systems and Semiotics: ALearning Perspective - International Conference -Gaithersburg, MD) .

Gudwin, RoR and Gomide, FAC., ' Oct. 1997, AComputational Semiotic Approachfor Soft Computing>(proceedings of the IEEE SMC'97 - IEEE Intemational

232

Gudwin, RR and Gomíde, F.A.C.,199Sa, "Object Network: AFormal Model to Develop Intelligent Systems" inComputational /ntelligence and Software Engineering,J. Peters and W. Pedrycz (eds.) - World Scientific.

Gudwin, RR and Gomíde, FAC., 1995b, "Object Nenvork: AComputational Framework to Compute with Words " inComputing with words in InformationllnteIligentSystems, LA Zadeh and J. Kacprzyk (Eds.) - Springer-Verlag.

Gudwin, RR. and Gomide, FAC., May 1998, "ObjectNetworks - A Modeling Tool" - Proceedings ofFUZZY-IEEE98, WCCI'98 - IEEE World Congress 011Computational Intelligence, Anchorage, Alaska, USA,pp.77-82.

Jensen, K. (1990) . "Coloured Petri Nets: A High LevelLanguage for System Design and Analysis" - LectureNotes in Computer Science 483 - Advances in PetriNets , pp. 342-416.

Meta Software Corporation, 1993, DesignlCPN Tutorial for X-Windows, http://www.daimi.aau.dk:ldesignCPN

Murata, T. (1989) "Petri Nets: Properties, Analysis andApplications" -Proceedings ofthe IEEE, vol. 77, n. 4.

Newman A.; Shatz, S.M.; Xie, X. (1998). "An Approach toObject System Modeling by State-Based Object PetriNets " - International Journal of Circuits, Systems andComputer.

Sun Microsystems, 1998, JavaCC Documentation,http://www.sunte st.comlJavaCCIDOC/

Sun Microsystems, 1999a, Java™ Plataform /.2 APISpecification,http://java.sun.comlproducts/jdkll.2/api/index.html

Sun Microsystems, 1999b, Java™ Development Kit 1.2,Documentation,httj>:lljava.sun.comlproducts/jdkll.2/docslindex.html

Tanenbaum, AS., 1992, Modem Operating Svstems - PrenticeHaIl, Inc. .