A Multi-Agent Architecture for an Intelligent Website in Insurance

合集下载

关于代建制中集中代建方式的思考

关于代建制中集中代建方式的思考

《国务院关于投资体制改革的决定》提出,要在全国范围内推行“代建制”,加快对非经营性政府投资项目(以下简称政府投资项目)实行“代建制”的步伐。

所谓代建制是指将项目建设者与项目使用者分离,经过规定程序由项目投资者委托有相应资质的工程管理公司或具备相应工程管理能力的其他企业、机构进行组织和管理,实现“投资、建设、监管、使用”职能分开,通过专业化项目管理最终达到控制投资,提高投资效益和管理水平的目的。

代建方式主要有集中代建和分散代建两种方式。

集中代建方式是指成立专门承担政府投资项目代建任务的事业性机构实施代建,例如深圳市工务局、东莞市城建工程管理局等。

分散代建方式是指通过有限选定或招标选定具备相应资格的代建企业实施代建,例如上海市的代建模式。

无论集中代建还是分散代建方式,都各有优点和缺陷。

笔者通过对一些地方的代建制方式进行分析,认为在当前我国所处于的社会经济条件下,集中代建方式意义和作用更大,更具有可操作性。

一、集中代建方式适合当前的社会经济条件(一)当前社会经济条件下,两种代建方式优点和缺陷的比较。

1.集中代建方式符合现行行政管理体制的需要。

我国各地方正处于高速发展阶段,由于地方政府一定程度上受政绩观的影响,往往想方设法加快工程建设速度,因此,需要代建机构很好地贯彻政府建设意图。

虽然这样做存在一定的问题,但我们必须要正视现实。

在现行的行政管理体制之下,由于许多地方政府的建设项目前期工作严重不足,没有严格执行基本建设程序,促仓上马,“三边”工程仍然存在,分散代建方式必然阻力重重,委托人、代建人之间容易引起经济纠纷,例如:对超概算的责任界定不清。

2.缺乏配套的法律法规,严重制约了代建制,尤其分散代建方式的发展。

相对于集中代建方式,分散代建方式委托人、代建人存在较大的相对利益关系,其行为的规范性显得尤为重要。

但目前“代建制”既规避了原有的法律调整,又没有新的法律规定出台。

由于有关法规建设滞后,对代建人的管理以及代建行为,没有一套完整的管理规范。

Inter-agent

Inter-agent

Inter-agent communication in a FIPA compliant intelligent distributeddynamic-information systemLuís M. Botelho Rui J. Lopes Manuel M. Sequeira Paulo F. Almeida Sérgio MartinsADETTI/ISCTEAssociation for the Development of Telecommunications and Information Techniques1600 Lisbon PortugalABSTRACTThis paper describes a traffic surveillance system as a particularcase of the class of intelligent distributed dynamic-informationsystems (IDDIS). The Traffic Surveillance System is avision-based FIPA compliant multi-agent system that uses theFIPA Agent Communication Language (ACL) and the FIPASemantic Language (SL). The focus of the work is inter-agentcommunication and coordination. We have extended the SLexpressiveness with respect to the representation of uncertaintyand to the representation of ad hoc MPEG7 descriptions. Wepropose a transport encoding format more suitable fortime-constrained systems than the original textual formatproposed in the FIPA specifications. We show that, within thescope of the FIPA platform, the FIPA ACL is a communicationlanguage powerful enough to achieve multi-agent coordinationthrough communication. This work also suggests that the FIPAplatform is suitable for building surveillance basedapplications.Keywords: Intelligent Agents, Multi-agent communication andcoordination, Intelligent Distributed Dynamic-InformationSystems, IDDIS, Traffic Surveillance System, MODEST,FIPA, Agent communication language, ACL, Semanticlanguage, SL1.INTRODUCTIONThe MODEST project [9] is an ACTS [1] European projectwith two distinct purposes: a development purpose and aresearch purpose. The development purpose is to build avision-based Traffic Surveillance System based on a network ofvideo cameras placed along roads, tunnels, bridges, orhighways. The research purpose is to evaluate and contribute for the work of the FIPA [4] and the MPEG7 [10] standardization bodies. With this goal in mind, the MODESTproject conceived the Traffic Surveillance System as a FIPAcompliant intelligent multi-agent system. We have developed several aspects of the FIPA specifications [5][6] including inter-agent communication and some components of the FIPA platform.Inter-agent communication was addressed with MPEG7 inmind, that is, the agents in the system can exchange messagescontaining ad hoc MPEG7 descriptions. Another concern ofthe project is real-time. Design options were taken consideringthe demanding time-constraints imposed to real-time systems.This paper is essentially devoted to inter-agentcommunication and coordination although it also presents anoverview of the Traffic Surveillance System.Currently, the main goals of the Traffic SurveillanceSystem are to detect abnormal individual behaviors (such as "driving in zigzag"), to determine global traffic patterns (e.g., "traffic jams" and "very intense fast traffic") and to compute traffic macro indicators (e.g., statistics and pollution indexes).In this phase of the project, the Traffic Surveillance System is composed of four cameras placed along a bridge in Brussels. There is no overlap between the visual fields of the cameras. The cameras are fixed in specified locations and, apart from the tilt resulting from strong wind, they don’t move. The cameras don’t zoom nor pan, either. This restricted version of the Traffic Surveillance System can be viewed as a distributed information management system operating in a dynamic environment. Information-management system because it does not control any sensors nor effectors; distributed because each camera is connected to several computational agents acting autonomously in separate computers; dynamic because the vehicles enter the scope of the system in unpredicted instants of time with unpredicted positions and speeds.The Traffic Surveillance System described in this paper can be seen as an example of a class of information management systems hereafter termed Intelligent Distributed Dynamic Information Systems (IDDIS). Instead of operating over a relatively static database (as traditional Information Systems do) an IDDIS operates over dynamic physical processes. Instead of being composed of a single program that accesses and manages a single or multiple sources of information, an IDDIS is composed of several agents that access one or more information sources or distinct views of the same physical source. Besides information management, the main issues in such systems are inter-agent communication and multi-agent coordination. Figure 1 depicts the generic organization of an IDDIS.In general, we view Intelligent Distributed Dynamic Information Systems as a class of real-time systems because it is supposed that they interact with their environment, with their peers and with their clients, in real-time.Intelligent Distributed Dynamic Information Systems have two agent layers: the objective observation layer and the application layer.The agents in the objective observation layer observe the dynamic process(es) and cooperate with each other to build a distributed objective high-level description of the observed process. The agents in the application layer are mostly mutually independent although they may communicate. Each of them communicates with several observation agents in order to get the information required to build its own biased view of the available information. The role of yellow pages agents is obviously very important in an IDDIS. If an application agent wants to get some specific information, first it asks the yellow pages agent what is the name of the agent that provides such information.Examples of observed dynamic processes include highway traffic, Internet traffic, motion pictures, stock markets, plantproduction processes, organizational processes and multimedia animated environments. Examples of applications include traffic surveillance, investments advising, production scheduling and diagnostic systems.Since the MODEST is a very recent project, the preliminary test phase has just started. In this phase, the Traffic Surveillance System is tested off-line: it analyses images stored on tape captured from a single video camera.presents the architecture of the Traffic Surveillance System.Section 3 presents the knowledge representation scheme, the inter-agent communication mechanisms and messages used in the system, and the coordination mechanism adopted. The transport level of the agent inter-communication is described in section 4. Section 5 analysis the contributions of the work to the FIPA and MPEG7 standardization bodies. Finally, section 6 shows conclusions and points directions for future work.2.ARCHITECTURE OF THE TRAFFICSURVEILLANCE SYSTEMThe Traffic Surveillance System is an intelligent multi-agent system in a FIPA compliant platform. The whole system is composed by a collection of agents in the objective observation layer, by a collection of agents in the application layer and by the platform agents. The platform agents perform generic tasks for the other agents: agent management tasks and agent communication tasks.In the Traffic Surveillance System, the agents of the objective observation layer constitute the Camera Assistant subsystem; the agents of the application layer constitute the Application Assistant. Each camera has its own Camera Assistant. Some of the agents in the Application Assistant are associated to each camera whereas some others are not associated to the cameras. Besides these agents, there are other agents that belong to the FIPA Platform. These include the AMS ("Agent Management System"), the ACC ("Agent Communication Channel") and the DF ("Directory Facilitator",a yellow pages agent).Every agent that belongs to the Traffic Surveillance System must register (advertise) its services with the DF. Any agent can ask the DF to tell it the names of the agents that perform some required task.Camera AssistantEach Camera Assistant has a Camera Proxy Agent (CP) that represents the camera, as seen by all other agents. As far asagent and the camera is made via the Camera Proxy. The Camera Proxy uses a set of software tools to analyze the digitized images from the camera and to produce high level ad-hoc MPEG7 descriptions of the images. The CP delivers excerpts of those MPEG7 descriptions to all other agents in the Traffic Surveillance System that want to receive them.Besides the Camera Proxy, each Camera Assistant includes a Local-Site agent, a Classifier Agent, a Behavior Characterizer agent and a Tracker agent. All these agents work on objective,application independent representations of the external environment.The Local Site Agent maintains static representations of the road pertaining to the scope of the camera to which it is associated and the region between the camera and the next one.It also maintains dynamic representations of the typical trajectories of vehicles. The typical trajectories of the vehicles are determined by the Behavior agent.The static information about the road includes the characterization of each lane, the slope of the road, information regarding bends, information regarding legal and typical speeds, and also information used for the calibration of the camera.The Classifier agent classifies the observed mobile objects.For the time being, there are seven classes: car, van, truck,bike, motorcycle, person and very-long-vehicle. A very-long-vehicle is possibly not a vehicle, but the effect produced by several vehicles very close to each other moving with similar speeds.The Behavior agent computes the points of the typical trajectories of vehicles and describes the behavior of individualvehicles. Each point in a typical trajectory includes information regarding the speed and the position of the vehicle. A specific individual behavior description may be something like "very slow vehicle", "constant speed", "same lane". The Local Site agent stores information about typical trajectories computed by the Behavior agent.The Tracker is responsible for the identification of vehicles in two consecutive cameras. It receives descriptions of vehicles in its camera and compares them with descriptions of vehicles in the previous camera. When the descriptions are similar enough, the Tracker assumes they describe the same vehicle. The Tracker also detects new and missing vehicles. Application AssistantThe Application Assistant is composed by a set of agents, some of which are just user agents. The user agents are not associated to the cameras. Besides the user agents, the Application Assistant contains a Level of Service agent in each camera, an Abnormal Behavior agent in each camera, and some Pollution and Statistics agents.The Level of Service agent determines the global pattern of the traffic and its tendency. For instance, one may have an intense traffic with tendency to increase intensity (or to decrease it).The Abnormal Behavior agent associates degrees of alarm to the behaviors of individual vehicles (determined by the Behavior agent of the Camera Assistant), using knowledge of the application domain and of the local site. For instance, it may determine that a particular observed zigzag was not an instance of dangerous behavior, but was due to a momentary obstruction of one lane.The Statistics and Pollution agent computes several statistics and pollution indicators, such as the number of vehicles of each class that were observed in given location per hour.There may be several types of user agents. One such agent can decide to send a MPEG4 stream to the user, showing images of an accident. Another user agent may depict a graphical representation of the global level of service in the scope of the system. For this end, it uses the information about the level of service in each camera, creates a summarized version and produces a graphical representation.Thick arrows indicate ACL inter-agent communication. Dashed arrows indicate non-ACL communication. Small ovals represent individual agents. Large dotted ovals represent the Camera Assistant and the Application Assistant. The DF is represented as a square because it is a component of the FIPA Platform. The AMS and the ACC are not explicitly represented because there is no explicit interaction between them and the agents of the Traffic Surveillance System.Figure 2 - Traffic Surveillance System ArchitectureMUNICATION AND COORDINATIONAll inter-agent communication uses ACL, a speech act [14] based language. The contents of the ACL messages are expressed in extended SL (“Semantic Language”), a content language based in [13].This section covers two main aspects related to inter-agent communication and coordination: the expressiveness of the content language and the cooperation achievement capabilities of the agent communication language.First, the content language of the messages exchanged among agents enables the representation of ad hoc MPEG7 descriptions of complex objects such as snapshots (instantaneous view of the scene) and individual vehicles. The capability of representing such complex descriptions enables the agents to talk about arbitrary multimedia objects. We will see that the content language used enables the representation of two kinds of uncertainty: uncertainty of data and uncertainty of relations between objects. We show that the FIPA SL content language can easily be extended to exhibit the described properties.Second, we show that the FIPA ACL language supports the implementation of a flexible and efficient cooperation achievement mechanism that enables agents to coordinate their efforts to solve global goals and that allows the addition of new agents with new capabilities. This last feature supports the flexible and modular development of increasingly complex intelligent distributed dynamic-information systems. Extending SL: ad hoc MPEG7 descriptions and uncertainty The MODEST project adopted FIPA SL ("Semantic Language") as the content language of ACL messages. In this section, we extend the SL language to represent ad-hoc MPEG7 descriptions and uncertainty.In the Traffic Surveillance System, data entities such as object descriptions are sent as logical terms within the contents of ACL messages.In the lisp notation used by ACL and SL, the parenthesis around functional expressions come before the function symbol. For instance, (Car white 177 medium) would be used instead of the more usual Car(white, 177, medium). We use a special notation to represent possibly incomplete descriptions of compound objects. In this notation, a description starts with the constructor of the description type; the constructor is followed by a list of attribute-value pairs that represent the arguments of the constructor. These arguments are the components of the compound object. For instance the term (Car :position 177) is our notational convention for (Car unknown-color 177 unknown-size), in which Car is the constructor of the type car, and the constants unknown-size and unknown-color represent unspecified size and color, respectively.Complex descriptions can also be lists of terms. We use the function list with any number of arguments to represent lists.Any of the components of a compound object may be an uncertain term. In our extension of the SL language, we use the operator uncertain-object that takes a term and a confidence and returns an uncertain term, for instance (uncertain-object 177 0.9). The following grammar rules define the grammar of the extended SLTerms.ExtendedSLTerm =SLTerm |// original SL grammarDescription |Collection |UncertainTerm.Description =“(“ ConstructorSymbol ComponentSpec* “)”. ConstructorSymbol = FunctionSymbol. ComponentSpec = “:”RoleName Value.RoleName = Word.Value = ExtendedSLTerm.Collection =“(“ “list” ExtendedSLTerm+ “)”UncertainTerm=“(““uncertain-object”ExtendedSLTerm Confidence “)”.Confidence = RealNumber.In the proposed extension of the SL language, the special operator uncertain-proposition is used to represent uncertain propositions, for instance (uncertain-proposition (stopped obj125) 0.8). The following syntactic rules formalize this new kind of formula:ExtendedSLWff =SLWff |// original SL grammarUncertainProposition.UncertainProposition =“(“ “uncertain-proposition”SLWff Confidence “)”.Notice that the original uncertainty modal operator defined in the SL specification does not allow to say how much uncertain an agent is about a given proposition. In application domains in which the execution of certain actions depends on the confidence the agent has on its information, it is required that confidences be quantified.Coordination by Information-SubscriptionIn this section, we show that the FIPA ACL language is powerful enough to achieve coordination by communication.In a multi-agent system, coordination is achieved if agents cooperate with each other in a constructive way to achieve global goals or to solve individual problems. Coordination can be achieved in a variety of ways, ranging from the centralized control architectures [7] to the protocol-based approach [15] and to the emergent behavior approach [11].The coordination mechanism adopted in the Traffic Surveillance System represents a compromise between flexibility and efficiency. This mechanism is called information-subscription because it is useful for cases in which agents that need some information class from a provider agent must subscribe that information class with the provider. It is assumed that each agent in the Traffic Surveillance System registers (advertises) its services with the DF.Following a BDI-like understanding of agents rationality [2], if an agent wants another agent to perform some action on its behalf, it must send a message that creates the intention in the receiver of performing the action that is desired by the sender. This is the basic idea behind information-subscription. This coordination mechanism has already been suggested in [3], about the register and the service protocols.Although the intentional semantics of the FIPA ACL language has been subject to some criticism [12], it is suitable to implement the described coordination mechanism. Actually, the rational effect of the messages used by an agent to request some action from another agent is to create the intention on the receiver to perform the requested action. In particular, the query-ref performative is used to ask an agent what is the object that satisfies a given condition. This message has the desired result because, upon accepting it, the receiver becomes committed to send the requested information to the sender. The subscribe performative creates the persistent version of the intention that may be created using the query-ref performative.In the Traffic Surveillance System, the cameras and the associated image processing algorithms extract high-level descriptions from the images. The agents of the system receive all or part of the descriptions extracted from the image by the image processing algorithms. Each time a given description is available, each agent needs to receive the parts of it that are of interest to the agent. Therefore the coordination mechanism should provide an economic but flexible way to generate persistent intentions in the mental state of the providers to send the requested information to the consumers. Any agent in the system may play the role of a provider or a consumer or both.If an agent wants to receive some desired information, it must proceed as follows. First it asks the DF (“Directory Facilitator”) what is the agent that provides the required information. The DF replies with the name of the provider.Second, it sends one or more inform messages to the information provider defining the relation between the information produced by provider and the information it considers relevant. This relation is represented by a function from the descriptions of the provider agent to the descriptions of the requestor agent.Third, it sends a query-ref, a subscribe or a request-whenever message so that the provider creates the intention or the persistent intention to send the relevant information to the agent. This message requires the provider agent to apply the previously defined function to its descriptions and send the result to the requestor.The above three steps constitute the information-subscription coordination mechanism. This coordination mechanism works with agents that have the (implicit or explicit) socially oriented meta-intention of committing themselves to perform actions that are requested by some other agent once they have accepted the request.After an agent has subscribed some information class, it may send other messages canceling the subscription or updating the definition of the desired information.In the remaining of this section we present a sequence of FIPA ACL messages used in a particular instance of the described cooperation achievement process.Preliminary step. Registration with the DFIn the following message, an agent called Camera Proxy registers the capability of delivering mobile object descriptions with the DF.(request:sender (Agent Proxy 1):receiver (Agent DF 1):content(action(Agent DF 1)(register(:df-description(:agent-name (Agent Proxy 1))(:services(:service-description(:service-typeimage-description-delivery)(:service-ontologytraffic-surveillance-domain)))(:interaction-protocols (listfipa-request))))) :language SL0:ontology fipa-agent-management)The terms (Agent Proxy 1) and (Agent DF 1) represent the name of the Camera Proxy agent and the name of the DF agent of camera number 1.First step. Ask the DF to search the name of the provider. An agent called Classifier asks the DF to tell it the name of the agent that provides the image-description delivery service. (request:sender (Agent Classier 1):receiver (Agent DF 1):content(action(Agent DF 1)(search(:df-description(:service-typeimage-description-delivery)))) :reply-with (Message (Agent Classifier 1)16) :language SL0:ontology fipa-agent-management)In the message below, the DF informs the Classifier that, as a result of the requested search, it found that the Camera Proxy provides an image-description delivery service.(inform:sender (Agent DF 1):receiver (Agent Classifier 1):content(result(action(Agent DF 1)(search(:df-description(:service-typeimage-description-delivery)))) (:df-description(:agent-name (Agent Proxy 1))(:services(:service-description(:service-typeimage-description-delivery)(:service-ontologytraffic-surveillance-domain)))) :in-reply-to (Message (Agent Classifier1)16) :language SL0:ontology fipa-agent-management)The term (Message (Agent Classifier 1) 16) in the parameter :reply-with and :in-reply-to represents a unique message identifier composed by the agent identifier and by a sequential number. When the DF answers this request, it must specify the same message identifier.Second Step. Definition of the relevant data entities.In the following message, the Classifier defines the relationship between the descriptions managed by another agent (the Camera Proxy) and the descriptions that are relevant from the Classifier’s point of view. This relationship is represented by the function ClassifierObject/1. This function is applied to a mobile object description managed by the Camera Proxy and returns a mobile object description suitable for the Classifier.(inform:sender (Agent Classier 1):receiver (Agent Proxy 1):content(forall ?obj(=(ClassifierObject ?obj)(Cons (MObjectSize ?obj)(Cons (MObjectShape ?obj) null)))) :language ExtendedSL:ontology Traffic-surveillance-domain)MObjectSize is a function that takes a Camera Proxy mobile object and returns its size. MObjectShape is a function that takes a Camera Proxy and returns its shape.Third step. Creation of the desired (persistent) intention in the provider.In the following message, the Classifier tells the Camera Proxy: each time you have a new snapshot, pick each mobile object of that snapshot, apply the function ClassifierObject/1 and send me the result.(subscribe:sender (Agent Classier 1):receiver (Agent Proxy 1):content(iota ?x(exists ?snap(exists ?obj(and(last-snapshot ?snap)(member ?obj (objectsList ?snap))(= ?x (ClassifierObject obj)))))) :conversation-id (Message (Agent Classifier1) 34):language ExtendedSL:ontology Traffic-surveillance-domain)From this point on, the provider (i.e., the Camera Proxy) will send the relevant mobile object descriptions to the consumer agent (i.e., the Classifier).This coordination mechanism has the following advantages.1. The designer of an agent does not need to know whatother agents should receive the information produced by it. An agent just receives information-subscription messages. If it accepts the subscription, it must send the required information to the requestor.2. The designer of the agent does not need to know whatagents produce the required information. If an agent wants to know the name of the agent that produces the required information, it just asks the DF.3. The information-subscription can be made only once,usually during the initialization stage of the agent existence. This is much better than having to repeat the same query to the same agent demanding the same class of information. This is a specially important issue in time-constrained systems like the Traffic Surveillance System.All the above advantages mean we can create new application agents without having to modify the existing agents. It is worth noting that there isn’t any agent in the Traffic Surveillance System that plays the role of controlling the other agents.As a final remark, the previous description of the coordination mechanism assumes that all agents use the same vocabulary. However, if this is not the case, an agent can first ask the OA (“Ontology Agent”, another agent of the FIPA platform) to translate the necessary concepts. This would be the first step of the information-subscription mechanism. In the current implementation of the Traffic Surveillance System, the OA has not been implemented.4.TRANSPORT ENCODING FORMATIn the current stage of the project, it is assumed that there is a single agent platform (the MODEST platform), no inter platform interaction will occur, and no mobile agent will visit the MODEST platform. Thus, only a proprietary protocol is specified in the project for the efficient exchange of FIPA ACL messages. Two different types of requirements were defined for the protocol: transport mechanism requirements and message format requirements.Transport mechanism requirements:•reliable and ordered delivery of messages,•low overhead.One protocol that copes with these requirements is the TCP/IP protocol. Thus, TCP/IP Berkley sockets where used to implement the transport mechanism between agents in the MODEST platform.Message format requirements:•efficient coding of FIPA ACL messages,•fast interpretation of FIPA ACL messages.Figure 3 Message data and stream structureIn order to cope with these two requirements the FIPA ACL messages are stored in a message data structure as represented in Figure 3.In the message data structure, literal components are represented by numeric codes instead of the usual textualMessage Data StructureStream Structure。

Abstract A Secure Workflow Model

Abstract A Secure Workflow Model

A Secure Workflow ModelPatrick C.K.Hung1Kamalakar Karlapalem21CSIROMathematicalAndInformationSciencesGPO Box664,Canberra,ACT2601,Australia.2InternationalInstituteOfInformationT echnologyGachibowli,Hyderabad500019,India.Email:Patrick.Hung@csiro.au,kamal@AbstractWorkflow Management Systems(WFMSs)are becoming verypopular and are being used to support many of the day today workflows in large organizations.One of the major prob-lems with workflow management systems is that they often useheterogeneous and distributed hardware and software systemsto execute a given workflow.This gives rise to decentralizedsecurity policies and mechanisms that need to be managed.Since security is an essential and integral part of workflows,theworkflow management system has to manage and execute theworkflows in a secure way.The prolific use of workflow manage-ment systems for critical and strategic applications gives rise toa major concern regarding the threats against integrity,autho-rization,and availability.In this paper,we propose an autho-rization model with a set of invariants for workflows from theaspects of agents,events and data,and prove that if they hold,the workflow execution is secure.Further,we develop the au-thorization model by a multi-layered state machine.The novelpart of this model is separating the various aspects of controlin a workflow and portraying it as a multi-layered architecturefor analyzing theflow of authorizations.Keywords:Multi-Layered State Machine,WorkflowSecurity,Authorization.1IntroductionMany of the complex day to day workflows in mostlarge organizations are facilitated and conducted byWorkflow Management Systems(WFMSs).One ofthe major problems with WFMSs is that they of-ten use heterogeneous and distributed hardware andsoftware systems to execute a given workflow.Thisgives rise to decentralized security policies and mech-anisms that need to be managed.Since security is anessential and integral part of workflows,the WFMShas to manage and execute the workflows in a secureway.In particular,a robust secure workflow model isneeded to allow controlled access of data objects,se-cure execution of tasks,and efficient management andadministration of security(Joshi et al.2001,Kanget al.2001,Thuraisingham et al.2001).The prolificuse of WFMSs for critical and strategic applicationsgives rise to a major concern regarding the threatsagainst the security properties as follows:•Integrity prevents the unauthorized modificationof information(Hung2001).Integrity ensuresthe correctness and appropriateness of the con-tent of a piece of information.Integrity is alsorelated to the legitimate pattern of operations inthis paper,we propose an authorization model with a set of invariants for workflows from the aspects of agents,events and data,and prove that if they hold, the workflow execution is secure.We develop the au-thorization model by a multi-layered state machine. In the rest of the paper,section2describes the re-lated work,section3describes the secure workflow model,section4discusses the conclusions.2Related WorkSecurity is an essential and integral part of work-flows,and it has become an important topic in the research community as well as the industry.Many researchers are working on workflow standards.The Workflow Management Coalition(WfMC)is an orga-nization that focuses on the advancement of workflow management technology in industry.WfMC summa-rizes a number of security services(WfMC2001)for a conceptual workflow model that includes authenti-cation,authorization,access control,audit,data pri-vacy,data integrity,non repudiation,security man-agement and administration.Their approach intro-duces a security profile that identifies the security services to be applied for inter-operability between two parties.Further,WfMC proposes an extension to the inter-operability protocol to support the workflow service authentication data and the workflow inter-operability protocol data.Although WfMC presents the protocol for inter-operability between two parties, the inter-operability protocol proposed by the WfMC does not consider theflow of authorizations among parties,tasks and resources during the workflow exe-cution.Access control is mainly used to tackle the secu-rity properties of Authentication and Authorization. Discretionary Access Control(DAC)(Pernul1992) is used to model the security of objects on the ba-sis of a subject’s access privileges.DAC defines what kind of access a subject has to an object,and a set of predicates to represent access rules such as read, write,delete,create and copy.In other words,DAC controls the access from subjects to objects.So far, DAC only applies to control of system-oriented re-sources like database,file system,etc.In particular, workflow security requires support for per-task granu-larity for subjects and objects.For example,a gradu-ate student submits a research paper to a conference. It is obvious that the graduate student has the access right“write”to his paper.Once the paper is submit-ted to the conference,the access right“write”(of that particular copy of the paper)will be temporarily re-voked from the graduate student.After the reviewers examine the paper,they may suggest some comments and require the graduate student to revise the paper. Then,the graduate student can have the access right “write”of the paper again.DAC can represent that the research student(subject)has the access right “write”to the paper(object)and the reviewers(sub-jects)have the access right“read”to the paper(ob-ject),but they cannot handle when to grant/revoke the access rights of the object to/from the subjects in this case.This is the major motivation for extending the work on the security properties of Integrity and Authorization for workflow security.The Workflow Authorization Model(WAM) (Atluri&Huang1996,Atluri et al.1997)presents a conceptual,logical and execution model which con-centrates on the enforcement of authorizationflow in task dependency and transaction processing by using Petri Nets(PN).The workflow designer defines the static parameters of the authorization using an Au-thorization Template(AT)during the build-time of the workflow.When the task starts execution,the AT is used to derive the actual authorization.In a Multi-level Secure(MLS)workflow environment,tasks are assigned to different security levels.Further,WAM extends the PN model by proposing a Secure Petri Net(SPN)that is used to detect and prevent all the task dependencies that violate security.Though WAM discusses the synchronization of authorization flow with the workflow and specification of temporal constraints in a static approach,it is not sufficient to support workflow security.This is because workflows need a more dynamic approach to synchronize the flow of authorizations during the workflow execution. For example,the privileges will be granted/revoked to/from the agents according to the events generated during the task execution.WAM only concentrates on the authorization in a task’s state and primitives, not the authorization in resource accesses.Further, WAM does not discuss the order of operationflow within the same object in a task.In a workflow,we need to investigate theflow of authorizations in differ-ent aspects such as tasks,events and resources.Fur-ther,we also need to consider theflow of authoriza-tions from the aspect of agents,not only the inter-dependency among tasks in a workflow.In other words,WAM only supports a static approach for han-dling theflow of authorizations in the workflow and data layer.WAM only discusses the Authorization Base(AB)to store all the privileges granted during a workflow execution but it does not consider the con-cept of history from the aspects of agents and tasks. WAM grants all the authorizations to an agent once the task starts execution and it revokes all the autho-rizations from an agent once the task is completed, but it does not monitor the event(s)generated from the agent during the execution of task.WAM han-dles the security property of Authorization and MLS handles the security property of Integrity in the task dependencies,but they do not handle the security property of Availability.Based on the Workflow Authorization Model (WAM),a web-based WFMS called SecureFlow is proposed in(Huang&Atluri1999).SecureFlow uses a simple4GL language,such as SQL,to specify au-thorization constraints.Though SecureFlow supports the security constraints for role assignments,it is not sufficient for workflow security because workflow se-curity needs to support different security constraints from buildtime to run-time of a workflow.SecureFlow handles the security property of Authorization.but it does not handle the security properties of Integrity and Availability.Theflow of authorizations included the inter-tasks or intra-task scenario from the point of agent and the event generated from the point of task are also in-volved in the workflow security.A secure workflow model must be able to ensure the security properties of Integrity,Authorization and Availability.As a re-sult,our model provides a framework to control and monitor the security properties for a secure workflow model from the aspects of workflow(task),control (event)and data(document).Further,our model considers the history of an agent(i.e.,H A)and task (i.e.,H T)as an important path to identify potential security threat(s).3Secure Workflow ModelThe information processed in a workflow is highly val-ued and it is important to protect this information against security threats.The workflow modeler de-fines a security policy that typically reflects the secu-rity requirements for the workflow.A security policy is a set of rules and procedures regulating the use of information including its processing,storage,dis-tribution and presentation (Hung 2001).The term security policy is used at the organization level and the set of rules and procedures are used to address security requirements.The security requirements are types and levels of protection necessary for equip-ment,data,information,applications,and facilities to meet a security policy (Hung 2001).For exam-ple,a security requirement may be just as simple as “a person may read a document if the clearance of the person is greater than or equal to the classifi-cation of the document”.Referring to the WfMC (Hollingsworth 1995),a workflow is formally defined as the computerised facilitation or automation of a business process,in whole or part.Based on this def-inition,we define a secure workflow as follows.Definition 1:A secure workflow is a computer supported business process that is capable to against security threats and further satisfies the security re-quirements defined by the workflow modeler.Definition 2:A secure Workflow Manage-ment System (WFMS)is a workflow management system that can specify,manage and execute a secure workflow.Formally,a workflow (WF)is represented as a par-tially ordered set of tasks (T)that is coordinated by a set of events (E).The order of task execution is or-chestrated by matching the input and output event(s)of each task.An event can be either a data event or control event.Each task represents a piece of work that needs to be done by an agent (A).Further,each task is given a Temporal Access Control (TAC)spec-ification,which describes the possible legal sequences of document accesses during the task execution.An agent needs to get certain access privileges (PR)(e.g.,“read”,“write”and “read-write”)to a set of docu-ments (D)during the task execution.Let entities of a secure workflow,namely,sets of tasks (T),events (E),agents (A),Temporal Access Controls (TAC),documents (D)and privileges (PR),respectively,be:•T ={t 1,t 2,...,t m }is the set of m tasks.•E ={e 1,e 2,...,e t }is the set of t events.A special event e start (workflow )triggers the first task of a workflow and another special event e completed (workflow )is generated after the last task of a workflow.•A ={a 1,a 2,...,a n }is the set of n agents.•T AC ={tac 1,tac 2,...,tac m }is the set of m temporal access controls.•D ={d 1,d 2,...,d p }is the set of p documents.•P R ={pr 1,pr 2,...,pr q }is the set of q privileges.The relationships among these entities are the fol-lowing:•C :A −→T gives a set of tasks that the agent has the abilities to execute.To illustrate,C (a i )={t i 1,t i 2,...,t i k }is the set of k tasks that can be executed by the agent a i ,i.e.,C (a i )⊆T .•C −1:T −→A gives a set of agents that has the abilities to execute a task.To illustrate,C −1(t i )={a i 1,a i 2,...,a i k }is the set of k agents that can execute the task t i ,i.e.,C −1(t i )⊆A .•N :T −→A is a one-to-one mapping that gives an agent that is assigned to execute the task.To illustrate,N(t i )=a i is the agent that is assigned to execute the task t i ,i.e.,N (t i )∈A .•P :D −→P R gives a set of privileges that can be acquired for a document.To illustrate,P (d i )={pr i 1,pr i 2,...,pr i k }is the set of k privileges that can be acquired on the document d i ,i.e.,P (d i )⊆P R .•F :T −→T AC is a one-to-one mapping that gives,for each task,t j ,the corresponding TAC,tac t j ,i.e.,F (t j )∈T AC .•G :T AC −→D ×P R is a mapping that gives the set of document/privilege pairs specified in a TAC.To illustrate,G (tac i )={(d i 1,pr i 1),(d i 2,pr i 2),...,(d i k ,pr i k )}is the set of k docu-ment/privilege pairs specified in the tac i where ∀j =1,2,...,k pr i j ∈P(d i j ).Note that the composite function F ◦G :T −→D ×P R gives the set of document accesses that are needed during the execution of a task.Based on the above description for a workflow,every task is as-signed to an agent and the flow of tasks is orches-trated by events.Therefore,it is obvious that there may be many legitimate paths for a workflow.This means that some of the tasks may not be executed in a workflow if they are not on the path of execution flow.For every legitimate path,a set of authorizations is needed for executing tasks and accessing documents.Tasks and documents may contain a lot of sensitive information that may cause threats to a workflow.In this section,we present a secure workflow model using a multi-layered state machine.A state-machine model describes a system as an abstract mathemat-ical state machine with a set of transition functions.A multi-layered state machine describes a system in different layers where each layer is an abstract math-ematical state machine with a set of transition func-tions.The interaction between two mathematical state machines at different layers is triggered by an event.The multi-layered state machine is used to manage and monitor the flow of authorizations at dif-ferent layers for a secure workflow execution.The novel part of this model is separating the various as-pects of control in a workflow and portraying it as a multi-layered architecture for analyzing the flow of authorizations.There are three layers in a secure workflow:workflow ,control and data .The major motivations for using a multi-layered state machine are:•Different aspects of the flow of authorizations can be modeled in a single framework.The workflow layer is a model in which authorizations can be granted to agents only during the execution of the assigned task and will be revoked as soon as the task execution is finished.The control layer is a model in which relevant event(s)can be gen-erated only during the task execution.The data layer is a model in which document authoriza-tions can be granted and revoked from agents based on the occurrence of event(s)during the task execution.•A multi-layered state machine supports concur-rent states.These states trigger one or more lower-layer state machines that are executed in parallel in the context of the upper layered state machine.This is a practical scenario for a secure workflow model because there may be more than one task running concurrently and also an agent may generate a set of events during the task ex-ecution.This set of events may trigger a set of document access activities running concurrently.•From the point of view of authorization admin-istration,the security administrator can applydifferent security services to handle the secu-rity properties in different layers.For example, the security service Discretionary Access Control (DAC)can be applied to the Workflow Layer and Data Layer to handle the security property of au-thorization for assigning/revoking tasks and doc-uments to/from agents,respectively.•A multi-layered state machine can enable the analysis,simulation and validation of the WFMS under study before proceeding to implementa-tion.The state machine has the advantage of visually depicting theflow of authorizations and presenting all properties,relationships and re-strictions among states,such as concurrency, synchronization,controlflow dependency and temporal relationships.Once a system has been modeled as a net(Michelis1999),properties of the system may be represented by similar means, and correctness proofs may be built using the methods of net theory.In the multi-layered state machine,we support a dynamic approach for handling theflow of authoriza-tions in the workflow and data layer by monitoring the event(s)generated from the control layer in a multi-layered state machine.Our model can capture the event(s)generated from the agent during the execu-tion of a task,and it can grant and revoke the au-thorizations based on the occurrence of event(s).The advantage of this dynamic approach is to avoid an over-privileged agent at anytime during the execution of a task.Further,our workflow model can capture the sequence of actions of the agent to deduce or re-vise the task’s semantics.The task semantics include aspects derived from the coordination of tasks in the workflow,the agent to execute the task and the re-sources needed involved in the execution of the task. In particular,our model can support the concurrent execution of tasks with relevant data using the char-acteristics of a state machine(Booch et al.1999). The advantage of supporting such a concurrent model is to detect and prevent the security threats such as conflict of interest during a workflow execution.For example,a security threat may occur if an agent can access different documents from different tasks con-currently.In some cases,the agent has to release the document for another task to proceed.For example, an agent a1executes the task t1and another agent a2executes the task t2concurrently.The agent a1 needs to write the document d1and then the agent a2also needs to write the document d1.Since there is concurrency in the document access,the agent a1 needs to release the document d1with the privilege “write”before the agent a2can get the“write”ac-cess to the document d1.In the multi-layered state machine,we support the agent a1to release the doc-ument d1by an event during the execution of task t1. Then,the agent a2can be granted the access privilege “write”to the document d1during the execution of task t2.Furthermore,our model can show the feasi-bility of applying different security services to tackle the security properties in different layers.In specifying a secure workflow model,wefirst need to define the security-relevant state variables. Our state variables correspond to the entities and some additional variables are needed for the transi-tion functions.•LT=a set of positive integers Z+representing discrete time.•I T(t)=an unique identifier for a task t where t ∈T,i.e.,I T(t1)=I T(t2)if and only if t1=t2.•I E(e)=an unique identifier for an event e where e∈E,i.e.,I E(e1)=I E(e2)if and only if e1= e2.•I A(a)=an unique identifier for an agent a where a∈A,i.e.,I A(a1)=I A(a2)if and only if a1= a2.•I T AC(tac)=an unique identifier for a tempo-ral access control tac where tac∈TAC,i.e., I T AC(tac1)=I T AC(tac2)if and only if tac1= tac2.•I D(d)=an unique identifier for a document d where d∈D,i.e.,I D(d1)=I D(d2)if and only if d1=d2.•IE(t)=a subset of the sets of events(i.e.,a set of input event sets)where each element in IE(t) (i.e.,a set of events)can independently trigger the task t,i.e.,t∈T and IE(t)=∅.To illustrate, IE(t)={{e1,e2},{e1,e3}}means that either the set of events{e1,e2}or{e1,e3}can trigger the task t starts execution.•OE(t)=a subset of the sets of events(i.e.,a set of output event sets)where only one element in OE(t)(i.e.,a set of events)will be generated when the task t is completed,i.e.,t∈T and OE(t)=∅.To illustrate,OE(t)={{e1,e2},{e1, e3}}means that either the set of events{e1,e2} or{e1,e3}is generated once the task t is com-pleted successfully.•DT(t)=a set of dependent tasks of a task t. Thus,DT(t)={t1|∀t1where se∈IE(t),se1∈OE(t1)such that sese1=∅}where t,t1∈T and se,se1⊆E.Note that DT(t)=∅if the task t is thefirst task of a workflow.There ex-ists a combination of output events from the set of dependent tasks DT(t)that satisfy the input events of a task t if and only if,∀se∈IE(t),–∀t2∈DT(t){e|e∈sese1where se1∈OE(t2)}=se.For illustration,here is an example.The task t1 has two dependent tasks t21and t22.The output and input events of each task is shown as follows: IE(t1)={{e1,e2},{e1,e3}}DT(t1)={t21,t22}OE(t21)={{e1}}OE(t22)={{e2},{e3}}Thus,there may be two cases that can occur:–Case1:If the se={e1,e2},then{e1}{e2}=se where{e1}is generated from taskt21and{e2}is generated from task t22.–Case2:If the se={e1,e3},then{e1}{e3}=se where{e1}is generated from taskt21and{e3}is generated from task t22.•H A(a)=the history of actual authorizations (i.e.,a set of tuples)granted and revoked with the partial orders for an agent a where N(t)=a, t∈T and a∈A.The history stores four types of authorization tuples:–granted(t,pr,x)and revoked(t,pr,x) means the task t with privilege pr isgranted/revoked to/from an agent a at timex.–granted(d,pr,x)and revoked(d,pr,x) means the document d with privilege pr isgranted/revoked to/from an agent a at timex.where(d,pr)∈F◦G(t)and x∈S(t).The partial order is determined by the time speci-fied in the tuple.The workflow modeler can also grasp the order of document access for each task in order to build the relevant TAC.For illustra-tion,here is an example to demonstrate informa-tion gathering using the partial order:H A(a)= {granted(t1,execute,1),granted(d1,read,2), granted(d2,write,3),revoked(d1,read,4),re-voked(d2,write,5),revoked(t1,execute,6)}.From this history,we can deduce that the docu-ment d1with the privilege read is accessed before the document d2with the privilege write in the execution of task t1.•S(t)=the session(time interval)for task t’s ex-ecution where t∈T.It has three cases:–The task is started and completed S[]:If granted(t,“execute”,x)∈H A(a)and re-voked(t,“execute”,y)∈H A(a)and y>x,then it is denoted as S(t)=[x,y].The taskis not active and the session is over,i.e.,thesession is the period from time x until timey.In this case,we define that z∈S(t)ifand only if x≤z≤y.–The task is started and not completed S[): If granted(t,“execute”,x)∈H A(a)and re-voked(t,“execute”,y)/∈H A(a)and y>x,then it is denoted as S(t)=[x,−).The ses-sion is an open ended period from time x,i.e.,the task is still active and the session isnot yet over.In this case,we define that z∈S(t)if and only if x≤z.–The task is not started and not completed S∅:If granted(t,“execute”,x)/∈H A(a),then S(t)=∅.There is no session.In thiscase,we define that∀z∈LT and z/∈S(t).where“−”is null,N(t)=a,a∈A and x,y∈LT.Further,we define two functions Begin(S(t))and End(S(t))to assign the begin and end time for the session S(t).In case of S[](t),then Begin(S(t))∈LT and End(S(t))∈LT.In case of S[)(t), then Begin(S(t))∈LT and End(S(t))=“−”.In case of S∅(t),then there is no Begin(S(t))and End(S(t)).•H T(t)=the history of actual events(i.e.,a set of tuples)generated with the partial orders froma task t where t∈T.It stores the event tuple:generated(e,x)meaning that event e is generated at time x where e∈E and x∈S(t).A major objective of using histories H A and H T is to determine whether the workflow is secure or not, based on the state of the system.The state of the system at any one time is expressed as a set of values for all the state variables:{T,E,A,TAC,D,PR, I T,I E,I A,I T AC,I D,C,C−1,N,IE,OE,DT,P,F, G,H A,H T,S}.The definition of a secure state is a mathematical translation of the security requirements for a workflow into a set of invariants.An invariant is unchanged by specified mathematical operations or transformations.In a secure workflow model,there are three layers for a secure state:Workflow,Data and Control.Here we impose two security require-ments to ensure the security properties of integrity, authorization and availability in the workflow layer and we also impose one security requirement to en-sure the security properties of integrity and authoriza-tion in the data layer.The workflow modeler can im-pose other ad hoc security requirements in these three layers for different workflows.Here we only propose three fundamental security requirements for a generic workflow.3.1Workflow LayerA workflow consists of a set of tasks that is intercon-nected by events.These tasks are executed by a set of agents.In our model,a task is an atomic work-flow and each task is executed by exactly one agent N(t)=a where t∈T and a∈A.A secure workflow model needs to grant the agent the authorization(s) to execute a task(s)based on the occurrence of a cer-tain event(s).The workflow layer involves the security properties of tasks,events and agents.The security requirement to ensure the security property of availability in the workflow layer is:“For every task there must be at least one agent who is able to execute the task.”The definition of the secure state is a mathematical translation of the security require-ment into an invariant:Invariant1:The workflow can be executed if and only if,∀t∈T,•C−1(t)=∅.Proof:The proof consists of two parts,(i)showing Invariant1is necessary,and(ii)showing Invariant1 is sufficient.From the workflow definition,we know that every workflow is represented as a partially ordered set of tasks that is coordinated by a set of events.The or-der of task execution is orchestrated by matching the input and output event(s)of each task.Therefore,it is obvious that there may be many legitimate paths for a workflow.Let one of the legitimate paths of a workflow be[t1,t2,...t k].If there is a task t i where i =1...k that has no agent capable to execute it,i.e., C−1(t i)=∅,this means that the subsequent task(s) [t i+1,...,t k]cannot be executed because each one of them is relying on the events(s)generated from the prior tasks,i.e.,t i∈DT(t i+1)Thus,the workflow cannot be completed successfully.To show that Invariant1is sufficient we know that each task represents a piece of work that needs to be done by only one agent.Even though a task may have more than one agent capable to execute it,i.e., |C−1(t i)|≥1,only one of those agents will be assigned to execute the task,i.e.,N(t i)∈C−1(t i).Thus,every task of the workflow can be executed.A secure workflow model grants the privilege for an agent to execute the task if all its input events have been accessed and all its dependent tasks are completed.Further,it requires that all the autho-rizations for the agents that executed the dependent tasks must be revoked.The security requirement to ensure the security properties of integrity and authorization in the work-flow layer is:“An agent can only execute the assigned task if and only if the privilege“execute”is granted. The secure workflow has to revoke the privilege from an agent if the task has completed execution.”If the “execute”privilege is revoked for task t from agent a at time x,then it means that the set of output events have been generated during the execution of task t (i.e.,the events are generated before time x).If the “execute”privilege is granted for task t to agent a at time x,then it means that the set of dependent tasks have been revoked“execute”from the set of relevant agents(i.e.,who executed the dependent tasks)be-fore time x.The definition of the secure state is a mathematical translation of the security requirement into an invariant:。

多Agent战术意图识别的知识组织与问题求解_曾鹏

多Agent战术意图识别的知识组织与问题求解_曾鹏
并且对于某个 Ag ent 实体 a 或者 类 T , 不 能同 属于上 层
抽象类 T i , T j : o, Ti(o)∨ T j(o), i ≠j 或 o, T(o) T i(o)∨ T j(o), i≠j
定义 T ac 为战术原则描 述(Doctrine)集 , C 为 CO A 集 , B 为单 A gent 的行动事件集 , HSA 为单 Ag ent 计划假 设 , H MA 为 多 A gent 计划假设 , HTA 为战术计划假设 , 于是有 :
Definitio n2 :PL =T ac ∪ C ∪ B iff B ∪ HSA O B ∪ C ∪ H MA O B ∪ C ∪ T ac ∪ H TA O B ∪ C ∪ T ac ∪ H / False 下面分别从单 A g ent 、多 A ge nt 以 及战 术 A g ent 等 不同 层次对 P L 中计划元素的建模与 组织展开详细分析 。 4.1 单 Agent 行动事件体系 从任务分解的角度而 言 , 战 场分布 的每个 A gent 都 担负 着一定的任务 , 任务 决定了 A gent 的 行为 , 行 为则反 映了 Ag ent 的意图 。 要识别 Ag ent 的行为意图就必须要建立起关于 该 A gent 的计划库 , 才能有根据 地建立 起相应 计划假 设来解 释 A gent 的意图 。 对 于不同 的 Ag ent, 由 于遂 行任 务的 差别 以及作战的方法模式各不相同 , 必须要针对性 的建立相应 Ag ent 的计划库 。 而战场中 分布 A g ent 的规 模可能是 庞大 的 , 实现每个 Ag ent 计划库的穷尽组织与建设将变得困难而不可 行 , 因此需要对大量的 Ag ent 实施聚类和分类 。 设战场实体空间 由分 布的 A gent 实 体 o 组 成 :A ={o1 , o2 , o, … , ok , … , o1}, 0<k <l 。 对分布的 A gent 进行分类 , 得到实体类型 T i : Classi f ier(A)={T i 0<i<n}

A Comprehensive Survey of Multiagent Reinforcement Learning

A Comprehensive Survey of Multiagent Reinforcement Learning
156
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C: APPLICATIONS AND REVIEWS, VOL. 38, NO. 2, MARCH 2008
A Comprehensive Survey of Multiagent ReinfoN
A
MULTIAGENT system [1] can be defined as a group of autonomous, interacting entities sharing a common environment, which they perceive with sensors and upon which they act with actuators [2]. Multiagent systems are finding applications in a wide variety of domains including robotic teams, distributed control, resource management, collaborative decision support systems, data mining, etc. [3], [4]. They may arise as the most natural way of looking at the system, or may provide an alternative perspective on systems that are originally regarded as centralized. For instance, in robotic teams, the control authority is naturally distributed among the robots [4]. In resource management, while resources can be managed by a central authority, identifying each resource with an agent may provide a helpful, distributed perspective on the system [5].

国际货运代理常用英语

国际货运代理常用英语

国际货运代理相关英语表达(上)Unit 11. freight forwarder 货运代理人2. letter of credit 信用证3。

the mode of transport 运输模式4. freight cost 运费5。

the Forwarder’s Certificate of Receipt 货运代理人收货证明书6. the Forwarder’s Certificate of Transport 货运代理人运输证明书7。

container cargo 集装箱货物8。

foreign exchange trading 外汇交易9. exporting strategy 出口战略10。

cargo transportation 货物运输11。

customs clearance 清关12。

commission agent 委托代理人13. country of transshipment 转运国14。

movements of goods 货物运输15。

shipping space 舱位16。

a bill of lading 提单17. transit country 转口国18。

trade terms 贸易条款19. general cargo 杂货20. special cargoes 特殊货物21. a comprehensive package of service 全面的一揽子服务22. trade contract 贸易合同23。

relevant documents 相关单据24。

take delivery of the goods 提货Unit 2。

1。

FOB (FREE ON BOARD)船上交货2. CIP (COST INSURANCE AND FREIGHT) 运费,保费付至3. CFR (COST AND FREIGHT )成本加运费4. FCA (FREE CARRIER)货交承运人5. CPT (CARRIAGE PAID TO)运费付至6. CIF (COST INSURANCE AND FREIGHT) 成本,保费加运费7. insurance premium 保险费8. multi—modal transport 多式联运9. inland waterway transport 内河运输10. amendment 修改11. carrier 承运人12. ICC- International Chamber of Commerce 国际商会13。

JD Edwards EnterpriseOne 阿根廷地区本地化说明书

JD Edwards EnterpriseOne 阿根廷地区本地化说明书

JD Edwards EnterpriseOneArgentina LocalizationsJD Edwards EnterpriseOne is an ERP solution composed of three software layers that together support companies' global business needs. The underlying tools layer provides a technical foundation to configure different global standards such as decimal and date formats, address formats, and language preference by user. The base application software enables users to configure global functionalities in areas such as payment and receipt processing, tax processing, depreciation methods, hyperinflationary accounting, fiscal reports, and statutory chart of accounts. The third layer of software, localizations, addresses country-specific statutory and common business practice requirements.K E Y F E A T U R E S•Fixed Assets Processing •Document Numbering•Financial Reporting•Invoice Processing•Credit Invoice Processing•Receipt Processing •Drafts—Receivables•Withholding Tax Processing •Payment Processing•Tax Processing and Reporting •Inventory Management•Sales Order ProcessingK E Y B E N E F I T S•Addresses mandatory country-specific legal and business requirements•Is included with the base software and fully supported by Oracle•Enables users to operate in their respective local languages •Supports global expansion without the need for additional software •Provides long-term value for a company's investment through frequent updates and migration path The Issue: Why Do Companies Care About Localizations?Many organizations are expanding operations outside their home country. They must incorporate country-specific business practices into their companies' daily business transactions and operations. It is mandatory to comply with country-specific legal requirements. Requirements can exist at the city, state, and federal level depending on the country. Nonadherence to these rules and regulations may lead to severe consequences for a company.The Solution: JD Edwards EnterpriseOne Supporting Current and Future Global Business NeedsThe JD Edwards EnterpriseOne localizations are part of the base software and fully supported by Oracle. The localizations adhere to the Oracle software standards and delivery methods and are covered by the Oracle support policies.Legislative updates for localizations are release-independent and delivered on the Oracle Update Center. These updates enable companies to comply with changing laws and meet the legal effective dates specified by governments.The JD Edwards EnterpriseOne localizations are fully integrated with the JD Edwards EnterpriseOne base software. Such integration ensures that that all Oracle-provided localizations coexist. Companies can operate in multiple countries in a single instance.The JD Edwards EnterpriseOne software is translated into 21 languages, so users can operate in their respective local languages. Oracle-provided localizations enable companies to use the JD Edwards EnterpriseOne software and comply with country-specific laws and common business practices.•Reduces end user training and total cost of ownership with the same standards, look and feel •Supports single instance of the JD Edwards EnterpriseOne solution, resulting in a more easily managed software environmen t JD Edwards EnterpriseOne is a long-term investment. For companies expanding their business operations around the globe, no additional software is required for operating in most countries. Timely legislative updates are continuously provided. When companies are ready to migrate to the most current release, upgrade paths are provided.Feature Highlights for ArgentinaThe JD Edwards EnterpriseOne localizations for Argentina are included with the software and supported for customers who have license version 9.0 or later.The following table provides a sample of the functionalities included with the JD Edwards EnterpriseOne localizations for Argentina.Feature Highlights FunctionalitiesFixed Assets Processing ∙Fixed Asset Reporting—Annex ADocument Numbering ∙Legal Document NumberingFinancial Reporting ∙General Ledger ReportsInvoice Processing ∙Invoice Print Format∙Legal Resolution 738—Perception Report∙Invoice Reprint∙Interest Invoices∙Legal Invoices∙RG1702 Barcode∙Invoice Numbering RG 4290∙SIRE VAT Perception RG4523Credit Invoice Processing ∙Credit Invoice Law—Payables, Receivables, SalesOrder∙Credit Notes Generation for DiscountsReceipt Processing ∙Receipt Entry∙Batch Receipt Entry∙Receipt PrinterDrafts—Receivables ∙Draft Register∙Collection Process∙Generation of Delinquency Fees∙Massive Draft Entry∙Draft Entry∙Payment in Kind∙Summarized Customer Ledger∙Draft Inquiry∙Generation of Credit or Debit NoteWithholding Tax Processing ∙Profit Withholding Integrity Report∙Withholding Tax Calculations for Automatic andManual Payment∙Legal Resolution 726—Update WithholdingPercentage∙Print and Reprint Withholding Tax Certificates∙Legal Resolution 738—Numbering WithholdingCertificates∙Perceptions Reporting RG 715∙VAT Withholding RG 3732∙Profit Withholding RG 4245∙SIRE VAT Withholding RG4523Payment Processing ∙Voucher Authorization∙Legal Number Validation∙Import Voucher Processing∙Postdated Checks∙Check Format∙Payment Order∙Payments in KindTax Processing ∙Additional Tax Information∙Additional Tax Information for EDI∙Calculate Country-Specific Taxes∙Tax Reclassification∙UTES Profit Management∙Tax Controls for RG100 (A/P, A/R, SOP)Tax Reporting ∙Country-Specific Tax ReportsInventory Management ∙Inflation Inventory Adjustment∙Inflation Adjustment∙Lot Processing for Imported ItemsSales Order Processing ∙Credit Order or Invoice Relationship∙ Legal Resolution 738—Perception Report∙ Print and Reprint Legal Shipment Notes or Invoices∙Invoice or Shipment Note—Provisional andPrenumbered∙Void Invoices or Shipment Notes∙RG1702 BarcodeTag File Maintenance ∙Purge Closed A/P, A/R, and SOP RecordsC O N T A C T U SFor more information about JD Edwards EnterpriseOne, visit or call +1.800.ORACLE1 tospeak to an Oracle representative.C O N N E C T W I T H U S/oracle/oracle/oracleCopyright © 2020, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and thecontents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any otherwarranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability orfitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations areformed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means,electronic or mechanical, for any purpose, without our prior written permission.Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license andare trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo aretrademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0117。

Toothagent a Multi-Agent System for Virtual Communities Support. , Informatics. Telecomunic

Toothagent a Multi-Agent System for Virtual Communities Support. , Informatics. Telecomunic

ToothAgent:A Multi-Agent System for VirtualCommunities SupportVolha Bryl∗Department of Information and Communication TechnologyUniversity of Trento,Italyvolha.bryl@unitn.itPaolo GiorginiDepartment of Information andCommunication TechnologyUniversity of Trento,Italypaolo.giorgini@dit.unitn.itStefano FanteArsLogica LabMezzolombardo(TN),Italystefano.fante@arslogica.itABSTRACTPeople tend to form social networks within geographical ar-eas.This can be explained by the fact that generally ge-ographical localities correspond to common interests(e.g. students located in a university could be interested to buy or sell textbooks adopted for a specific course,to share notes, or just to meet together to play basketball).Cellular phones and more in general mobile devices are currently widely used and represent a big opportunity to support social commu-nities.In this paper,we present a general architecture for multi-agent systems accessible via mobile devices(cellular phones and PDAs),where Bluetooth technology has been adopted to reflect users locality.We illustrate ToothAgent, an implemented prototype of the proposed architecture,and discuss the opportunities offered by the system. Categories and Subject DescriptorsI.2.11[Artificial Intelligence]:Distributed Artificial In-telligence—multiagent systems;H.4[Information Systems Applications]:MiscellaneousKeywordsMulti-agent systems,mobile devices,virtual communities, Bluetooth1.INTRODUCTIONBeing widespread and ubiquitous,cellular phones are re-cently used not only as means of traditional communication. They are also supposed to satisfy the information needs of their users,e.g.to support information search andfiltering or electronic data exchange[13,1,15,10].Users equipped with mobile devices,such as cellular phones or PDAs,can form so called mobile virtual communities[14],which make possible the interaction and the information exchange be-tween their geographically distributed members.Such com-∗Ph.D.Student munities are inherently open,new users can join and existing ones can leave anytime.A number of multi-agent applications to mobile device en-vironments have been proposed in literature.[10]presents a multi-agent system named KORE where a personal elec-tronic museum guide provides to visitors(with Java-enabled mobile devices)information about artistic objects they are currently looking rmation isfiltered and adapted to the user profile.Bluetooth technology[2]is used to detect the user position.Bluetooth is a cheap and a widely used wireless communication technology able to connect Bluetooth-enabled devices located in a range of100meters.[15]pro-poses MobiAgent,an agent-based framework that allows users to access various types of services(from web search to remote applications control)directly from their cellular phones or PDAs.Once the user sends a request for a spe-cific service,an agent starts to work on her behalf on a centralized server.The user can disconnect from the net-work and the agent will continue to work for her.When the request has been processed,the user is informed via Short Message Service and she can decide to reconnect the net-work and download the results.MIA information system[1] is another example that provides personalized and localized information to users via mobile devices.What is still missing in these systems is the interaction be-tween the members of the virtual community.Just few pro-posals in literature introduce domain-specific environments where interacting agents act on the behalf of their users.For instance,[11]describes a context-aware multi-agent system for agenda management where scheduling agents can execute on PCs or PDAs and assist their users in building the meet-ing agenda by negotiating with the other agents.ADOMO [12]is an agent-based system where agents running on mo-bile devices sell the space on the device screen to commercial agents for their advertisements.Agents on behalf of their users negotiate and establish contracts with neighbors via Bluetooth.There exist a number of multi-agent platforms that can be used on mobile devices.Taking into account the limited computational and memory resources,it could be very prob-lematic to run a multi-agent platform on such mobile devices as cellular phones.A possible solution is either to avoid run-ning multi-agent platform on mobile devices,as for example in[12],or to use portal multi-agent platforms[13]whereagents are executed not on the device itself but on the ex-ternal host.In this paper we present a general architecture based on this last option.The architecture proposes independent servers where multi-agent platforms can be installed and where agents can act on behalf of their users.Each server proposes one or more specific services related to the geo-graphical area in which it is located (e.g.a server inside the university could offer the service of selling and buying textbooks,renting an apartment,etc.),and users can con-tact their personal agents using their Bluetooth-enabled mo-bile phones or PDAs.The main advantage of the proposed framework with respect to the above described architectures is that the system is domain independent (it does not depend on the specific services offered by the servers)and indepen-dent from the multi-agent technology adopted (we can use different technologies on each server).The paper is organized as follows.Section 2describes a mo-tivating example for our system.The general architecture of the system is introduced in Section 3,while Section 4pro-vides some architectural details and describes ToothAgent,the implemented prototype.Section 5concludes the paper and provides some future work directions.2.MOTIV ATING EXAMPLELet’s consider three places in a town:university,railway station and bar.People spending some time in one of these places may have some common interests and needs.For instance,students at the university might want to buy or to sell secondhand textbooks,find a roommate or form study groups.People at the bar could be interested in the latest sport news (especially in Italian bars),or they could just be looking for someone to chat with.Passengers waiting at the railway station may want to know some details about the trip they are going to have —what cities their train goes through,or what the weather is like at the destination point.They may want also to find someone with common interests to chat with during the trip.Let’s suppose also that people cannot or do not want to spend their time on examining announcements on the bul-letin boards,questioning people around them,or searching for the information office.They would prefer to ask their mobile phones and wait for the list of available proposals.To support interests and needs of such groups of co-localized users,a server is placed at each of the three meeting points.Servers can provide a certain number of services to people equipped with mobile phones or PDAs (hereinafter referred as users).A user can have access to the services when she is close enough (depending on her Bluetooth device)to one of the three servers —at the bar,in the waiting room of the station,or at the main hall of the university.Let’s suppose that among the available services we have the following ones.At the university users can buy/sell their secondhand books and search for roommates.At the bar,users can access a sport news service or search for ”inter-esting”people.Finally,at the railway station,users can receive information about their trips (including touristic in-formation).Figure 1:Users,servers,and virtual communities of personal agents.User interaction is often essential for the satisfaction of their needs.To sell a secondhand textbook,one should find a buyer and agree on the price.To find someone in the bar to chat with,one should look for the person with similar interests or preferences.Each server recreates the group of co-localized human users in a virtual community of personal agents (Figure 1)able to interact with one ers formulate their requests and forward them to their personal agents.Personal agents interact with the other available agents (the interaction might include negotiation as in the case of sell-ing or buying books),and produce results that will be sent back to the users.The main idea is to have a distributed system composed of a number of open virtual communities that evolve and act autonomously on the behalf of human communities.3.SYSTEM ARCHITECTUREIn this section we describe the general architecture of the system.We start from the requirements and then we illus-trate the various sub-components and their interaction.3.1System RequirementsWe can summarize the requirements of the whole system in the following objectives.•The system should allow the user to express her in-terests and choose the services she wants to access.It means that the user should be able to search for avail-able servers and services by location,category,key-words,etc.The user should be provided with an in-terface to select services she is interested in and to customize them,i.e.to specify parameters of the re-quests to these services (e.g.book title and price for ”buy/sell books”service).The system should allow to view and edit customized requests,and transfer the list of requests to a mobile device.•The system should provide access to the requested services when the mobile device and the appropriate server are co-localized (i.e.the Bluetooth connection is feasible).This means the system should be able to sup-port the search for servers (and corresponding services)in the neighborhood of the mobile device,and the veri-fication of the mobile device by the server.Then user’s requests should be transferred to the server,where it should be possible tofind correspondence between the user and her personal agent.The system should also support interaction among the personal agents,store the results and let users access these results from their mobile devices.•The system should allow the user to retrieve pending results.Results should be accessible both in case the user is still in the Bluetooth range of the server and when she is out of the range.In the second case the system should allow the user to access pending results from her mobile device by connecting to any server of the system,or from her PC via a dedicated interface.To do this,the system should support interaction be-tween different servers and between the server and the PC.The system should keep track of all servers visited by the mobile devices and transfer these information to the PC or to the connected server.3.2System ComponentsThe architecture of the system includes four main types of components:mobile device,PC,server and services data-base.The PC component provides an interface for the user reg-istration,to get and to choose available services,and to build requests for the chosen services.Also the pending re-sults can be retrieved via PC.The mobile device is used to send the user’s requests to the servers and to get back the results.Each server within the system provides a list of predefined services.The server runs a multi-agent platform with personal agents representing single users,a database where results are archived,and an interface responsible for establishing connections with mobile devices and PCs,and for redirecting the users’requests to the corresponding per-sonal agents.The central services database,accessible via web,contains information about all the servers and their properties,such as name,location,etc.The database also provides a description of available services on each server, and stores the information about users registered to the sys-tem.Figure2illustrates the general architecture of the system and the interaction among its components.Connection be-tween the mobile device and the PC,and between the mobile device and the server is established via Bluetooth wireless communication technology.3.3Getting Access to the ServicesIn the following we describe how the process of getting access to the services is organized(Figure3).The software running on the PC allows the user to search and discover the servers and the services registered to the services database(steps1–3).The user selects one or more services and provides information(i.e.requests)related to the use of such services(step4).For example,using the ser-vice”Buy/sell secondhand books”,the user could request to ”Sell the copy of Thinking in Java by Bruce Eckel,printed in1995,for the price not less than20euros”.All theuser’sFigure2:Interaction of systemcomponents.Figure3:Getting access to services. requests are stored in the configurationfile,which is down-loaded onto the mobile device via Bluetooth(step5). When the user with her mobile device approaches one of the servers,the software on the device establishes a connection with the server(step6)and sends requests related to the available services(step7).The requests are built on the base of the configurationfile of the mobile device.In other words,the mobile device checks in the configurationfile if the user is interested in the services provided by the server and then builds and sends the requests to the server.The requests are processed on the server,and the results are sent back to the user(steps8–12)The mobile device stores the server address to keep track of the contacted servers. It stores the address even if there are no relevant services on the server.This allows the user to check later the list of all visited servers and associated services,and decide to update her preferences by including new servers/services in the configurationfile.3.4Retrieving Pending ResultsWe describe now how the process of retrieving the pending results is organized(Figure4).The user has basically two options to get back the results of her requests.Thefirst one is to receive them directly on her mobile device.However,this is not always possible.The user could leave the Bluetooth area or the mobile deviceFigure4:Retrieving pending results from mobile device(A)and from PC(B).may not have enough memory or computational power to manage the answers(e.g.in the case the answers are a number of bigfiles).Thus the second option is to get back the results later when the connection with the server they were requested from is closed.Pending results can be retrieved both from the mobile device (steps A.x)and from the PC(steps B.x).In thefirst case the mobile device has to be configured to get the pending results and has to be in the Bluetooth range of some server. For example,if a student is going to spend a whole hour in the main hall of the university waiting for the next lecture, namely she will have enough time to download the results of her requests sent in the morning to the railway station server(where she bought her train ticket before going to the university).She switches on the option”get pending results”on her mobile phone(step A1),and waits for results. The mobile device sends to the university server the list of addresses of the servers the user has visited(step A2).The server establishes a connection with each server in the list, and sends the information that identifies the mobile device (e.g.its Bluetooth address)as a request for the pending results(step A3).The obtained information is sent back to the mobile device(steps A5–A6).In the second case the user receives pending results through the PC.The student goes back home and runs the PC soft-ware that collects all the pending results obtained from the visited servers(steps B3–B5),after the list of the visited servers and their addresses is transferred from the mobile device to the PC(step B1).3.5Agent PlatformEach server runs a multi-agent platform,where agents corre-spond to mobile devices and receive and process requests ob-tained from the users.There is a one-to-one correspondence between agents and mobile devices(users).An agent is iden-tified by a unique Bluetooth address of the corresponding mobile device.The same device can have many personal agents within different platforms on differentservers.Figure5:General architecture of SICS. When the server receives the request from the mobile device, it checks if the personal agent of this device exists within the platform.If not,a new personal agent is created.Each per-sonal agent communicates and interacts with other agents in order tofind”partners”which will satisfy its request. Interaction protocols mechanisms are domain(services)de-pendent.Multi-agent platforms on the server are based on the Implicit Culture[9]framework.In short,Implicit Culture allows new members of a community to behave in accordance with the culture of the community.For example,a new student may not know which textbooks can be helpful for the Program-ming Languages course and starts to search for Textbook on Programming Languages.The idea of the Implicit Culture framework is that the system suggests the student the items that are usually used by the other members of the commu-nity.So for example,the system could suggest the student to search for the book Thinking in Java.Multi-agent systems with the Implicit Culture support are used for example for searching the web.See[8]for the de-scription of Implicit,an agent-based recommendation sys-tem for the web search,which improves the search for in-formation for a community of users with similar interests. When a user submits a query,Implicit looks for the relevant information,exploiting observations of the behavior of other users when they have issued similar queries.To follow the Implicit Culture concept the agent on the plat-form should contain System for Implicit Culture Support (SICS)[9].SICS consists of three basic components(their interaction is illustrated in Figure5):•Observer,which stores in a database the information about user actions(observations).•Inductive module,which analyzes the obtained obser-vations and induces behavioral patterns of the com-munity using Data Mining techniques.•Composer,which produces suggestions on the base of the information from the Observer and Inductive mod-ule.More details about the Implicit Culture framework are avail-able at[3].Figure 6:Request input form.4.IMPLEMENTATION ISSUESIn this section we present the details of ToothAgent,the im-plemented prototype of the proposed architecture.Basically,the system is a first implementation of the architecture pre-sented in Section 3and focuses on a number of servers spread around the university campus (faculties,libraries,and de-partments).Each server offers only the service for selling and buying books.We are currently working on a number of other services including ones available on servers located outside the university campus (e.g.train station,museums and places close to touristic attractions).We tested the system using Nokia 6260cellular phones and PC/Server equipped with Tecom Bluetooth adapter.Blue-tooth communication has been implemented using Blue Cove [4]which is an open source implementation of the JSR-82Bluetooth API for Java.4.1Online Registration and Service SelectionTo start working with the system,the user has to register.To do this she should fill the online registration form where she needs to put her personal information such as name,birth date,e-mail,Bluetooth address and phone number of her mobile device,and password.The registration,basi-cally,allows the system to identify the user and the mobile device she is going to use.Password is used to access the information about servers and related services,and to up-load/update the user information (e.g.the user can decide to use different mobile device or just to change her data such as telephone number or e-mail address).Also the password is needed to access servers and their services via mobile de-vice (for this purpose user has to input the password while configuring the application on her mobile device).All the information about the user is stored in the services database.Registered users obtain the rights to download the software for PC and mobile device components (which are two jar files),and the XML file containing information about all available servers with corresponding services.After the registration (or login),the user can start select-ing services to ing the Java GUI interface shown in Figure 6,she can explore all the available services using filtering criteria such as server location (e.g.we canhaveFigure 7:Configurationfile.Figure 8:ToothAgent application running on the mobile phone.servers located in different cities or in different places in the same city),type or category of the service (e.g.buy/sell books,exchange course notes,or meet people),and key-words (e.g.books,course,etc.).The list of the selected services is managed by the PC component that allows the user to customize these services with the specific requests (e.g.title of the book to buy or to sell,the desired price,minimal or maximal price).The list of customized services (with related servers ad-dresses)is stored in an XML configuration file,which is up-loaded via Bluetooth in the mobile device.Figure 7shows an example for the ”sell/buy books”service.Note that the file format does not depend on what services it describes,i.e.it is domain independent.4.2Accessing the ServicesTo access the services,the user needs to run the Bluetooth application on her mobile device (Figure 8).The applica-tion is written in Java and uses JSR-82[5],which is Blue-tooth API for Java.The application starts a continuous search for Bluetooth-enabled devices in the neighborhood,and whenever it finds a server with the services specified in the configuration file,the mobile device sends the user re-quests to the server.Figure 9shows the protocol we use for the interaction among the different components.Figure 9:Getting access to services.A specific communication module on the server is responsi-ble for managing the interaction with the mobile device.It receives the Bluetooth address and the encrypted password from the mobile device (steps 1and 3)and checks whether in the platform running on the server a personal agent assigned to that mobile device already exists (step 4),the Bluetooth address is used to map the mobile device with the personal agent.If there is no personal agent for the user,the com-munication module connects to the central services database and verify whether the user is registered to the system (steps 5–6)by matching the Bluetooth address of the device and the password.Only in case of a positive answer,it creates a new agent and assigns it to the mobile device user (step 8).Then,the mobile device sends the configuration file to the communication module (step 9),which forwards all the user requests to the personal agent (step 10).Now,the personal agent starts interacting with other agents on the platform trying to satisfy all the user requests (step 12).In our example a personal agent receives one or more requests for buying and/or selling books (with specified ti-tle,desired price,maximum and minimum prices,etc.).If the agent reaches an agreement with another agent about their users requests it stores the results locally in the server database (step 13).Later the results could be sent back to the user (steps 14–18)or left on the server,depending on the retrieval modality that the user has defined in the configuration file.4.3Results RetrievalWhenever a new connection between a server and a mobile device is established,the communication module sends to the mobile device the IP-address of the server (step 2on Figure 9).The mobile device stores the IP addresses of all the visited servers in an XML list,that is used later to retrieve all pending results.The format of the results pro-duced by the personal agent is shown in Figure 10.It may contain the request identifier,contacts (e.g.phone number)of the user interested to buy or sell the book,the actual agreed price,etc.As discussed in Section 3,the user has three different modal-ities to retrieve results:get the results immediately,getFigure 10:List of responses.pending results using the mobile device,and get pending results using the PC.Each of these modalities has to be de-fined in advance by the user and can be changed at runtime by means of the mobile device application.Choosing the first option,the user can receive the results im-mediately in her mobile device.Of course,she can receive the results if and only if she is still at a Bluetooth distance from the server.The communication module checks the availability of the mobile device and sends to it the results stored in the internal server database by the corresponding personal agent (see Figure 9,steps 14–18).Figure 11shows the interaction protocol of retrieving pend-ing results via mobile device.Consider for example a sit-uation in which a user is near to the server of the central library.After the connection has been established,the mo-bile device sends the list of IP-addresses of all previously visited servers (e.g.faculty servers,departments servers,etc.)to the library server (step 2).The communication module of the server sends then the Bluetooth address of the mobile device to all listed servers (step 3).In turn,the communication module of each server extracts from the in-ternal database all the stored results related to that user and sends them back to the requester server (steps 4–7).All the results are collected by the communication module and finally sent to the mobile device (steps 8–10).If the mobile device is no longer connected to the server (e.g.the user has left the library),the retrieval process will fail and the results will be cancelled (they are still available on the original servers).Figure 12shows the interaction protocol of retrieving pend-ing results via PC.A user connects her mobile device to the PC via Bluetooth and sends the list of all visited servers to the PC component (step 2).Now,the user can decide either to retrieve the results from all the servers or just toFigure11:Pending results from the mobile device.Figure12:Pending results from PC.select some of them.An interface on the PC allows the user to connect to the servers and then to view or download the pending results(steps3–7).4.4Agents InteractionAs we said,in thisfirst prototype we implemented just one kind of service,namely the”buy/sell books”service. The multi-agent system has been implemented in JADE (Java Agent DEvelopment framework)[6],FIPA-compliant [7]framework for multi-agent systems development.The agent interaction includes two phases:elaboration of user request and agent negotiation.During thefirst phase the request of buying/selling a book is elaborated and detailed.For example,the request of”Buy a textbook on Java for the price from10to20euros”is incomplete as the exact title is not specified.The personal agent makes the request more clear exploiting the informa-tion about what textbooks on Java other users were recently interested in and what they havefinally bought,at what prices,etc.Another example of request that needs to be elaborated could be”Buy Thinking in Java for the price less than10euros”.It is unlikely that this request will be satisfied as all copies of Thinking in Java currently available, or sold so far,cost at least20euros.The user has clearly underestimated the price.In this case we want the personal agent to extend the price range when starting to search for a copy of the book.Figure13presents the interaction protocol used by agents during the request elaboration phase.On each platform there is a dedicated agent,called Expert Agent(EA),which contains the System for Implicit Culture Support(SICS). After a personal agent receives its user’s request(step1), it sends it to the Expert Agent(step2).On the EAsideFigure13:User request elaboration. Observer component of the SICS extracts data from the re-quest and stores it in the database of observed user behav-iors(step3).Composer component estimates the real price for the requested book and/or suggests the title of the book if the input was incomplete(step4).For the elaboration process Composer uses the information about the past user actions,obtained from Observer and analyzed by Inductive module.At the end the user’s personal agent gets back the elaborated request(step5),which it will process during the second phase.As it was explained in Section3.5,SICS needs to gather information about user behavior.In the described proto-type to observe the user behavior Expert Agent extracts data from the requests it gets from personal agents.Two other additional sources of observations could be added.The first one is the database where results of agent negotiations are stored.Each time two personal agents agree on buy-ing/selling a book and send their proposals to the database, Expert Agents extracts necessary information(e.g.book ti-tle and the price)from the proposals and stores it in its inter-nal database.The second source is the direct user feedback. When the user views the list of proposals on her mobile de-vice,she can choose to make a phone call or to send an SMS to the other user whose contacts are in the proposal.When the proposals are viewed on the PC,the user can choose to write an e-mail to her potential partner.For the purpose of feedback the system records the information about these phone calls/SMSs/e-mails assuming that if the other user of the proposal(the potential partner)was contacted then the feedback is positive,otherwise negative.The feedback information is sent to the Expert Agent as soon as the user establishes connection with the corresponding server via her mobile device or the PC.On the second phase—agent negotiation—the interaction mechanism is very simple.Figure14presents the imple-mented agent interaction”from the point of view”of the agent which is buying a book.First,the buyer’s personal agent broadcasts the request of looking for a specific book (step1),information about title,desired price,etc.is speci-fied in the message.If in the platform there is another agent that is selling the requested book,it responds to the buyer with the price it wants for the book(step2).If the price is greater than the maximum price specified by the buyer,the interaction continues with the request for discount from the buyer agent(step3).The seller responds either with the discounted price or with the initially proposed price(step4) in case it does not want to give the discount.If this price is。

A Proposed Architecture for Distributed Multi-Agent Intelligent System (DMAIS)

A Proposed Architecture for Distributed Multi-Agent Intelligent System (DMAIS)

A Proposed Architecture for Distributed Multi-Agent Intelligent System (DMAIS)Ali I. El-Desouky Computers and Systems Department, Faculty of Engineering, Mansoura University, Egypt AbstractThis paper proposes Architecture (Reference model) for Distributed Multi-Agent Intelligent Systems (DMAIS) which provides a new methodology to improve the development of agent systems, considering three main mechanisms in dealing with agents: Negotiation, Cooperation and Decision Support. In order to perform an effective architecture we intend to develop in the ACL (Agent Communication Language)Hesham A. Ali Computers and Systems Department, Faculty of Engineering, Mansoura University, Egypt H_arafat_ali@.egSally M. El-Ghamrawy Computers and Systems Department, Faculty of Engineering, Mansoura University, Egypt Sally@.egother, was developed to serve as an abstraction for developing DPS systems. See below for further details. A Multi-Agent system (MAS) is a system composed of several agents, capable of mutual interaction. The agents are considered to be autonomous entities such as software programs or robots. Their interactions can be either cooperative or selfish. That is, the agents can share a common goal or they can pursue their own interests. The main objective of this paper is to propose a new architecture design for a Distributed Multi-Agent Intelligent Systems (DMAIS); it is a system in which several interacting, intelligent agents pursue some set of goals or tasks that are beyond their individual capabilities This paper is organized as follows: Section 2 reviews the major concepts of agents; Research areas in distributed intelligent systems are discussed in section 3; section 4 demonstrates the new architecture for the DMAIS showing the considered techniques in the architecture and the communication language for agents in the architecture; section 5 discusses the challenges in designing the new architecture; section 6 concludes the paper and proposes the topics for future research.Keywords: Multi-Agents, Intelligent Systems, Negotiation, Distributed systems, Decision support 1. IntroductionArtificial Intelligence (AI) and agent systems have been closely related over the last thirty years. Intelligent agents and multi-agent systems represent the next big step in the development of next generation software systems, especially when considering large scale distributed applications [1]. There is a common understanding of the term agent [1],[2]. From the point of view of behaviorist, intelligent systems are those systems that can simulate human beings’ work that requires intelligence including logic inferring, problem solving, deduction and induction. A distributed system is composed many computers interconnected with networks which cooperate and coordinate to accomplish one common task [3]. Distributed intelligent systems are intelligent systems built on a distributed computer system. They are based on the use of cooperative agents and organized in hardware or software components. In the system, each agent independently handles a small set of specialized tasks and cooperates to achieve the system-level goals and a high degree of flexibility [4]. There are three main areas for the Distributed intelligent systems: Parallel Problem Solving (PPS) which mainly deals with how classic AI concepts can be modified, so that multiprocessor systems and clusters of computers can be used to speed up calculation. Distributed problem solving (DPS): the concept of agent, autonomous entities that can communicate with each2. Agents and Distributed Intelligent SystemsMulti-agent systems are becoming more relevant to artificial intelligence [1]. Distributed intelligent systems are built with cooperative agents [4]. The agent concept evolves from objects. It is a combination of objectorientation and artificial intelligence (AI). Many researches tried to give a definition for the term agent: Maes [5] defines agents as computational systems that inhabit some complex dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are designed. Wooldridge and Jennings [6] define agents as hardware based or (more usually) software-based computer systems that possess the following properties: • Autonomy: agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state;• Social ability: agents interact with other agents (and possibly humans) via some kind of agent communication language; • Reactivity: agents perceive their environment, (which may be the physical world, a user via a graphical user interface, a collection of other agents, or perhaps all of these combined), and respond in a timely fashion to changes that occur in it; • Pro-activeness: agents do not simply act in response to their environment. They are able to exhibit goal directed behavior by taking the initiative. In our context, an agent is a software component running in distributed environments and capable of performing independent actions to process requests from other agents, or from external applications. The handling of these requests will often require making new requests of other agents in the system. An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators to maximize progress towards its goals, as shown in figure 1; it depicts a highlevel view of an agent within its environment. An agent receives input from its environment and, through a repertoire of actions available to it, reacts to it in order to modify it.AgentPercepts ActionِAgents can be classified according to their functionality as following: Intelligent Agent: a program that performs a task or pursues goals with minimal specific direction, using intelligent or heuristic techniques to the effect that the user is very impressed that a computer could be so smart. An Intelligent Agent does not need to be mobile since the vast range of information can be accessed remotely. Mobile Agent: an autonomous program that migrates between host systems in the process of pursuing one or more goals. A Mobile Agent does not need to be truly intelligent, but have enough flexibility to deal with an environment in which things can change or be inaccessible at any time. A software agent may be "mobile" but may also be "static" and do all its work on one host computer on the network. Collaborative agent: that competes or cooperates. Interface agent: that act as personal assistant. Information agent: that manages, manipulate and collate information from many distributed sources. Reactive Agent: respond to stimulus & respond in an environment where they are embedded. A reactive agent is not much more than an automata that receives input, processes it and produces an output. Smart agent: learn from their actions. Hybrid agent: can combine any of the functionality of the above agents. Smart reactive agent: realize human behavior model. Rational Agent: For each possible percept sequence, a rational agent should select an action that is expected to maximize its performance measure, given the evidence provided by the percept sequence and whatever built-in knowledge the agent has. Fuzzy agent: An agent employing fuzzy logic, Fuzzy need to be considered.2.1 Multi- Agent SystemsEnvironmentFigure 1: Agent interacting with its environmentThe main point about agents is they are autonomous: capable of acting independently, exhibiting control over their internal state i.e., not controlled directly by people. Also, an agent should have the following characteristics: • Active, i.e., an agent might act by its internal states. • Collaborative, i.e., agents need to collaborate with others to accomplish a complex task. • Mobility, i.e., move around an electronic network • Agents must contain some level of intelligence, may also cooperate, and migrate. • Agents don't only act reactively, but sometimes also proactively. • Learning/adaptation: Agents improve performance over time.As the field of AI matured, it broadened its goals to the development and implementation of multi-agent systems (MAS) as it tried to attack more complex, realistic and large-scale problems which are beyond the capabilities of an individual agent [7]. To establish communities of agents, as shown in Figure 2, a solution based on a modular design can be implemented where each member of the agency specializes in solving a particular aspect of the problem. Thus, the agents must be able to interoperate and coordinate with each other in peer-to-peer interactions. The real world is a multi-agent environment: we cannot go around attempting to achieve goals without taking others into account. In Multi-Agents systems: agents have the ability to interact with other agents, via some kind of Agent-Communication Language, and perhaps cooperate with different types of agents. The characteristics of MAS are defined as follows [7]: Each agent has incomplete information or capabilities for solving the problem and, thus, has a limited viewpoint,there is no global control system, Data are decentralized, and the Computation is asynchronous. Information Agent External environment Information Agent InteractionInteractionsome benefits of using DIS: Task decomposition, Task allocation, Task accomplishment, Result synthesis, and Task sharing, if an agent cannot complete all tasks, so other agents assist him. DIS Solve long problems, provide solutions to distributed problems, and Enhance in modularity (which reduces complexity), speed (due to parallelism), Efficiency, Reliability (due to redundancy), flexibility, and reusability at the knowledge level.Local environment Interaction3. Related workThe notion of distributed intelligent systems has been a subject of interest for a number of years. A number of researchers have discussed these systems in different areas, as shown in figure 3, as follows:Mobile AgentFigure 2: Multi-Agent System2.2 Distributed Intelligent System (DIS)A single general agent would need an enormous amount of knowledge to deal effectively with user information requests that cover a variety of tasks. In addition, a centralized system constitutes processing bottleneck and Single point of failure. Finally, because of the complexity of the information finding and filtering task and the large amount of information, the required processing would overwhelm a single agent. As a result, there becomes a trend to the multi-agent system, one of the main areas for the distributed intelligent systems. Distributed intelligent systems (DIS) are intelligent systems built on a distributed computer system, where intelligent systems are those systems that can simulate human beings’ work that requires intelligence including logic inferring, problem solving, deduction and induction. A distributed system is composed many computers interconnected with networks which cooperate and coordinate to accomplish one common task [3]. DIS are based on the use of cooperative agents and organized in hardware or software components. In the system, each agent independently handles a small set of specialized tasks and cooperates to achieve the system-level goals and a high degree of flexibility. There are many advantages of using Distributed Intelligent System: it uses the benefits of the intelligent system that simulate human action in solving problems, allows interconnecting and interoperation of multiple existing legacy systems, provides solutions which draw from distributed information sources, provides solutions where the expertise is distributed, speed up the solution process. Expertise and problem solving abilities may be inherently distributed, and the knowledge to solve the problem may be distributed too. In addition, there areFigure 3: Research area in Distributed Intelligent systemsIn Databases:Architecture for an intelligent distributed database [8]: This research presented architecture for an intelligent distributed database. It integrates different kinds of database, such as relational, object-oriented, temporal, knowledge, deductive and multimedia databases, among others. In their approach, they used concepts from federate databases, fuzzy classified systems; and a database integration methodology. Checking Integrity Constraints Distributed and Parallel Databases [9]: This paper highlighted the differences between centralized, distributed and parallel databases with respect to constraint checking.In Networks:Implementation of a wireless distributed intelligent System [10]: This paper explored thehardware and software requirements for distributed intelligent system architecture. In such an environment, the system resources are inherently spread throughout the network, thereby removing bottlenecks that are present in centralized systems. By using wireless technology that allows the agents to be mobile with the ability to coordinate and cooperate with other agents in order to achieve local and global goals. They used implementation to achieve these features. Knowledge-based generic intelligent network model [11]: This paper proposed architecture based on the demand-driven information-processing model. The task allocation can be both static and dynamic over inhomogeneous or homogeneous resource types and network structures. The processing nodes may employ any mix of the four basic information-processing models (control-, data-, demand- and informationdriven models). The services of the intelligent network are provided by intelligent mobile agents. ATM Network management based on distributed AI architecture [12]: This paper described a multi-agent architecture for Virtual Path (VP) management (i.e. bandwidth and restoration) in Asynchronous Transfer Mode (ATM) networks. This research didn’t propose new strategies, but they improved the management integrating these different management mechanisms by using distributed artificial intelligence.In Control systems:A Distributed Architecture for Mobile Multirobot Remote Interaction [13]: This research presented a distributed architecture based on the usage of intelligent user interfaces and multi-agent systems to facilitate cooperative internet-based remote interaction with a multi-robot system. The proposed system relies on the agent paradigm for dealing with the size and complexity of cooperative remote interaction systems with multi-robots, while taking advantage of intelligent user intevaces for obtaining high degree of naturalness during the interaction sessions Multi-agent Based Distributed Control System for an Intelligent Robot [14]: This paper proposed a multi-agent based distributed control system for an intelligent robot that is an integration of many functional modules. According to the whole requirements of the system, many agents and a distributed blackboard system were designed so that the system realizes a very flexible robot control from the low level such as servo control to the high level control such as motion planning.based collaboration E-CARGO, and proposed that roles can be taken as an underlying mechanism to build intelligent agent systems by describing the process of developing agent systems and the agent dynamics in role-based agent systems, and it pointed out the research topics of role-based distributed intelligent systems. An artificial immune system for multi agents in distributed environments [16]: This paper discussed the behavioral management of artificial intelligence namely the intelligent multi agent systems, and the evolutionary computation called the artificial immune system that imitates the biological theory called the immune system. We present how two concepts from the talk are fused into an artificial intelligent agent system for detecting resources in distributed computing environments and examine how our model can be applied and show that the model can solve an intricate problem successfully through the simulation. Total performance local agent selection strategies in multi-agent systems [17]: This research discussed how total Multi-Agent System (MAS) performances are affected by local decisions when agents select partners to collaborate with by using a multi-agent simulation. It also investigated how MAS performances changed and how network structures between agents shift according to the progress of agents’ local learning and observations. In addition it discussed the relationship between task load and agent network structure. This relates to establishing the optimum time when agents should learn about appropriate partners in an actual environment. Distributed problem solving in multi-agent systems a spring net approach [18]: This article extended the specialized Distributed artificial intelligence (DPS), that consists of distributed problem solving and multi-agent systems which is concerned with how to increase a system’s global outcome through cooperation among individual agents, regardless of their personal payoff, to a general Multi – Agent System (MAS), in which an agent may make a trade-off between selfishness and unselfishness, thus adjusting its own personality and autonomy, instead of each autonomous rational individual tries to increase its utility via social interactions, with no common goal and no global control strategy, and without using any overall consistent information.In Web:Intelligent Retrieval Agent based on Distributed Environment [19]: This paper solved the problem, that the intelligent agents used for searching relative information in the Internet are independent to each other and there is insufficient cooperation to make an efficient search of information, in the distributed environment and can contain irrelevant information forIn Agent systems:A role-based architecture for intelligent agent systems [15]: This research explored the properties of intelligent agent systems, introduces the model of role-the users in a distributed environment by using the CORBA architecture to create an agency by the broker agent and provide more reliable information to the users. Also, the authors proposed intelligent information search system used the NFC and filtering technique by the multi-agents for a rapid and reliable searching of information. A Method of Distributed Problem Solving on the Web [20]: This paper proposed a new method for solving problems in a large-scale distributed Web environment, the key research challenges that they faced in developing the Wisdom Web is to make it capable of seamlessly offering solutions to users in dealing with their real world problems. In order to make this possible, individual contents or services should be developed and written following the syntax and semantics of a pre-defined method for distributed problem solving on the Web. Also, the paper gave an illustrative example to show the service process of the new method.4.1 Architecture DesignOur main goal is to create an agent, nested into a multi-agent system, which would handle negotiation and support decision making of an agent domain. In this paper, architecture (Reference model) for Distributed Multi-Agent Intelligent Systems (DMAIS) is proposed, as shown in figure 5, this model provides a new methodology to improve the development of agent systems, considering three main mechanisms in dealing with agents: Negotiation, Cooperation and Decision Support. There are two main modules in our architecture: negotiation center and Decision support module, as shown in Figure 5. Every member in this reference model can add new features and abilities to the negotiation center. Detailed description of each module of our architecture is given in Table 1.Table 1: Description of the modules used in the DMAIS architectureIn E-learning:Mobile Distributed e-Learning Center [21]: This paper described the development of a mobile Distributed e-Learning Center (DeLC) with enhanced functionality, including two pilot mobile services. In addition, the paper considered also some DeLC reengineering approaches to enhance the m- Learning/mTeaching facilities available in a University campus.ModuleDescription It's responsible for collecting all the information needed to give a decision, and then passes this information to the Decision support module. The decision support module takes the information from negotiation center and process it for effective decision making. For negotiating strategies noncondition decision making is required. We could use neural networks or some genetic based algorithms. It is a subclass of the agent management module. It's responsible for the communication of agents by using some interaction protocols and it develop in the content language between the agents (ACL, KQML). It's responsible for transporting the messages between the agents in the system by using some transport protocols. It's responsible for managing the transfer of ACL messages between the agents in the system.The Negotiation center4. Distributed Multi-Agent Intelligent System (DMAIS)In our context, DMAIS is a system in which several interacting, intelligent agents pursue some set of goals or tasks that are beyond their individual capabilities, as shown in figure 4.Decision Support ModuleCoordination Module Agent Communication ModuleIntelligent AgentIntelligent AgentIntelligent AgentIntelligent AgentAgent Message Transport Module Agent Management ModuleFigure 4: Distributed Multi-Agent Intelligent SystemAgent Communication ModuleAgent Message Transport ModuleAgent Management ModuleInteraction protocolsContent LanguageACL KQMLACL Representation Transport ProtocolsCoordination ModuleDecision Support ModuleNegotiation Center (Algorithms)Figure 5: The Architecture (Reference model) for Distributed Multi-Agent Intelligent Systems (DMAIS)4.2 Considered Techniques in DMAISIn DMAIS, each autonomous agent must be able to decide how to behave in various situations. Coordination, negotiation, decision-making, and learning, like other agent‘s activities. So there are some techniques must be considered in designing the Distributed Multi-Agent Intelligent System (DMAIS). There are many researches considered these techniques when designing multi-agent systems (MAS) in different ways. Table 2 summarizes recent researches and the techniques they considered. A definition for each technique we must considered in designing DMAIS are discussed as following: Coordination: It is the process of management of agents' activities so that they coordinate their deeds with each other in order to share resources, meets their own interests. In [23], the authors focused on a setting where multiple agents with complementary capabilities cooperate in order to generate non-conflicting plans that achieve their respective goals. Cooperation: It is the process of sharing responsibilities in satisfying shared goal and generating mutually dependent roles in joint activities. In [22], a multi agent platform targeted toward the area of computational intelligence modeling is presented. The authors showed the design of various computational agents creating multi agent systems, as well as the infrastructure capabilities. In thesystem, they focused on the cooperation of agents, their interchangeability autonomous behavior, and emergence of new models. Two main areas of cooperation are presented: automated creation of a multi-agent system satisfying given constraints, and decision support for agent partner selection. It is demonstrated that such a system is able to assist in building hybrid artificial intelligence models based on data in a distributed environment. Negotiation: It is the process of identifying interactions based on communication and reasoning regarding the state and intentions of other agents. Information exchange aimed at re-solving conflict of access to resources, different solutions to the same problem or goal conflicts. In [25], the authors illustrated an agent-based distributive negotiation mechanism where each agent’s decision making model is independent to each other and is underpinned by an effective evolutionary learning algorithm to deal with complex and dynamic negotiation environments. Planning: This process considered the actions of other agents in the system when planning and executing one agent’s actions. In [24], they defined the planning problem as the problem of how one should get from the current state of the world through a sequence of actions to the desired goal state. They gave an overview of planning techniques for this classical planning problem and techniques for extensions of this problem.Table 2: Summarizes recent work in designing MASTechniquesCoordination Cooperation Negotiation Coherence Planningcoordination portions of the Independent LifeStyle Assistant agent system being developed at Honeywell.4.3 Agent Communication Language (ACL)Agent Communication Language (ACL) is a proposed standard language for agent communications, as shown in figure 6. The most popular ACL's are: FIPAACL (by the Foundation for Intelligent Physical Agents, a standardization consortium) and the KQML (Knowledge Query and Manipulation Language). AgentReferences Cooperation of Computational Intelligence Agents [22] Multi-Agent Coordination & Cooperation through Classical Planning [23] Multi-agent Planning[24] Towards Genetically Optimized MultiAgent Multi-Issue Negotiations[25] Achieving Global Coherence in Multi-Agent Caregiver Systems[26] Negotiation & Cooperation in Multi-agent Environments[27] Multi-agent Coordination & Cooperation in a Distributed Dynamic Environment[28]Y----Y-Y----YY-Standard language for agentsAgentFigure 6: Agent Communication Language (ACL)-Y-------YYY---Y-Y--We intend design and implement agents that, upon encountering other agents with which they do not share an ACL, are able to create a mutually understandable communication language. We want to give the agents themselves the ability to enrich & evolve a language that best suits their needs. For example, if two interacting agents do not share a common agent communication language, it may be in their interest to initiate creation and enrichment of a common ACL to allow mutually beneficial communication. To make agents understand each other they have to not only speak the same language, but also have a common ontology. Ontology is a part of the agent's knowledge base that describes what kind of things an agent can deal with and how they are related to each other.5. Challenges in DesignSome challenges might be faced in designing the new Distributed Multi-Agent System (DMAIS) architecture. In our architecture design, we will consider four of the most common challenges in designing Multi-Agent Systems MASs. Figure 7 shows the recent work's challenges in designing MAS; each challenge is discussed briefly, as follows:Coherent behavior: It is a process in which the agents behaving as a unit. In [26], they stated that in order for multi-agent systems to exhibit global coherence the agents must coordinate their activities or be limited to a problem space in which activities are highly independent. The authors explored the general coordination issue in the elder care problem space and discussed the response planning andInformation IntegrationA Multi-Agent Architecture for Distributed Domain-Specific Information Integration [29] A Multi-Agent Infrastructure for Information Systems Integration [30] InfoSleuth: AgentBased System for Data Integration and Analysis [31]Distributed Resource AllocationAgent-Based Distributed Resource Allocation in Technical Dynamic Systems [32] A distributed resource allocation mechanism for self-interested agents [33] A multi-agent system for distributed resource allocation [34]solution. If a description of the resource allocation problem is possible, the formal description of the agents’ behavior based upon mathematics is the main advantage of this approach. • Fault tolerance Fault tolerance is the property that enables a system to continue operating properly in the event of the failure of some of its components. If its operating quality decreases at all, the decrease is proportional to the severity of the failure, as compared to a naively-designed system in which even a small failure can cause total breakdown. Fault-tolerance is particularly sought-after in high-availability or life-critical systems. • Exception handling Mechanism designed to handle the occurrence of some condition that changes the normal flow of execution. The condition is called an exception. Alternative concepts are signal and event handler.Exception HandlingChallenges in Exception Handling in Multi Agent Systems [35]6. Conclusion and future workIn this paper, we proposed a reference model of a Distributed Multi-Agent Intelligent System (DMAIS). The main entity in our model is represented by a negotiation center, which assists other agents with negotiation and decision making inside an agent domain. We also provide formal description for techniques that must be considered in designing the DMAIS like Cooperation, negotiation, Coordination, Planning, Coherence and decision support. Also the major concepts of agents are reviewed. And the Research areas in distributed intelligent systems are discussed. In addition, the challenges in designing the new architecture DMAIS are briefly discussed As future work, we plan to implement the architecture by adapting in the Agent Communication Module with intention to propose new interaction protocols. In addition, we intend to develop in the Agent Message Transport Module by proposing new algorithms capable of dealing with the ACL's (Agent Communication Language) messages transportation. Also, we plan to extend the Agent Management Module features by developing new techniques in the coordination module.Fault toleranceOn Fault Tolerance in LawGoverned MultiAgent Systems [36] Applying Feedback Control in Adaptive Replication Mechanisms in Fault Tolerant Multi-Agent Organization [37] DimaX: A FaultTolerant Multi-Agent Platform [38]Figure7: The challenges considered by recent workInformation integration It refers to the field of study of techniques attempting to merge information from disparate sources despite differing conceptual, contextual and typographical representations. This is used in Data Mining and consolidation of data from semi- or unstructured resources. • Resource allocation A resource-allocation decision is a plan for using available resources, for example human resources, to achieve goals for the future. It is the process of allocating resources among the various projects or business units. One possible approach is the formulation as an optimization problem under certain constraints where the mathematical solution algorithms can be realized in a distributed form using multiple agents. The agents play the role of local optimizers that then have to coordinate their local solutions to an overall consistent•7. References[1] [2] R. Unland, M. klusch, M. Calisti, (Ed.) Software Agent-Based Applications, platforms and Development Kits, Basel 2005. N.R. Jennings, K. Sycara, M. Wooldridge, “A Roadmap of Agent Research and Development”, Autonomous agents and Multi-agent systems, vol. 1 ,pp 7-38, 1998。

基于Multi-Agent的技术性贸易壁垒预警预测系统研究与开发

基于Multi-Agent的技术性贸易壁垒预警预测系统研究与开发
节, Biblioteka 明了该 原型系统开发的核心技术 。
制定 某些特殊的技术条件 , 为其 他国家商品 自由进入本国市场
设置 障碍。随着 我国加入 WT O进 程的加快 , B T T已成 为 阻碍 我 国出口的主要 因素 , 而且还 在逐年加 重。20 0 2年 , 国企业 我 受 限比例 高达 7 % , 口产 品 受 限 比例为 3 % , 失金 额 为 1 出 9 损 10亿美元 。 7 在 国外 T T的影响 下 , 国产 品受 阻 、 B 我 企业 受限 、 济受 经 损的主要原因之 一是 我 国的信 息不 灵通 , 对进 口国家将 要制 定、 正在拟订 和已经实施 的技术 标准 、 法规 与合格 评定 程序情 况及其细节了解不多 , 没能及时地掌握进 口国对我 国产品形成 壁 垒的准确 信息。从 而导致 在跨 越 、 对 、 应 突破或规 避方 面反 应迟钝 , 甚至错过时机 。因此建立 国外 T T的预警机 制 , 时 B 及 收集 、 跟踪国外的技术性壁 垒和绿 色壁 垒措施 的有关信 息 , 对
维普资讯

26・ 0
计 算 机应用 研究
20 06年
基 于 Mu i g n 的 技 术 性 贸 易 壁 垒 tA e t l— 预 警预 测 系统研 究 与 开发 水
蒋 国瑞 ,任荣平
( 京工业 大 学 经济与 管理 学院 ,北 京 10 2 ) 北 002 摘 要 :技 术性 贸 易壁 垒成 为 阻碍 我 国 出 口的主要 因素 , 立 高效的预 警 预 测 系统 已经 势在 必行 。结合 Mut 建 l. i A et O t oy 术 , J E开发 平 台的基础 上 , 出了 系统的详 细设计 方案 和 实现的 关键技 术 。 g n 和 no g 技 l 在 AD 给

机械英语专业名词

机械英语专业名词

机械专业英语‎词汇(很全)‎金属切削‎m etal ‎c uttin‎g机‎床 mach‎i ne to‎o l ‎金属工艺学‎t echno‎l ogy o‎f meta‎l s ‎刀具 cu‎t ter ‎摩擦 f‎r ictio‎n联‎结 link‎‎传动 dri‎v e/tra‎n smiss‎i on ‎轴 sha‎f t ‎弹性 ela‎s ticit‎y‎频率特性‎f reque‎n cy ch‎a racte‎r istic‎误差‎error‎‎响应 res‎p onse ‎定位‎a lloca‎t ion ‎机床夹具‎jig‎动力‎学 dyna‎m ic ‎运动学 k‎i nemat‎i c ‎静力学 st‎a tic‎分析‎力学 ana‎l yse m‎e chani‎c s ‎拉伸 pul‎l ing‎压缩‎hitti‎n g ‎剪切 she‎a r ‎扭转 twi‎s t ‎弯曲应力 b‎e nding‎stres‎s‎强度 in‎t ensit‎y三‎相交流电 t‎h ree-p‎h ase A‎C‎磁路 ma‎g netic‎circl‎e s ‎变压器 tr‎a nsfor‎m er‎异步电‎动机 asy‎n chron‎o us mo‎t or ‎几何形状‎g eomet‎r ical‎精‎度 prec‎i sion ‎正弦形‎的 sinu‎s oid ‎交流电‎路 AC c‎i rcuit‎‎机械加工余量‎machi‎n ing a‎l lowan‎c e ‎变形力 de‎f ormin‎g forc‎e‎变形 de‎f ormat‎i on ‎应力 st‎r ess ‎硬度 r‎i gidit‎y‎热处理 h‎e at tr‎e atmen‎t退‎火 anne‎a l ‎正火 nor‎m alizi‎n g‎脱碳 d‎e carbu‎r izati‎o n ‎渗碳 car‎b uriza‎t ion‎电路‎circu‎i t ‎半导体元件‎s emico‎n ducto‎r elem‎e nt‎反馈‎f eedba‎c k ‎发生器 ge‎n erato‎r直流电‎源 DC e‎l ectri‎c al so‎u rce‎门电‎路 gate‎circu‎i t ‎逻辑代数 l‎o gic a‎l gebra‎‎外圆磨削‎e xtern‎a l gri‎n ding‎内‎圆磨削 in‎t ernal‎grind‎i ng ‎平面磨削‎plane‎grind‎i ng‎变速箱‎gearb‎o x ‎离合器 cl‎u tch ‎绞孔 f‎r aisin‎g‎绞刀 re‎a mer ‎螺纹加工‎threa‎d proc‎e ssing‎‎螺钉 scr‎e w ‎铣削 mil‎l铣‎刀 mill‎i ng cu‎t ter‎功‎率 powe‎r工‎件 work‎p iece ‎齿轮加‎工 gear‎mechi‎n ing‎齿轮‎gear ‎主运动‎main ‎m oveme‎n t‎主运动方向‎direc‎t ion o‎f main‎movem‎e nt‎进给‎方向 dir‎e ction‎of fe‎e d ‎进给运动 f‎e ed mo‎v ement‎‎合成进给运动‎resul‎t ant m‎o vemen‎t of f‎e ed‎合成切‎削运动 re‎s ultan‎t move‎m ent o‎f cutt‎i ng‎合成切‎削运动方向‎d irect‎i on of‎resul‎t ant m‎o vemen‎t of c‎u tting‎‎切削深度 c‎u tting‎depth‎前刀‎面 rake‎face‎刀‎尖 nose‎of to‎o l ‎前角 rak‎e angl‎e‎后角cl‎e aranc‎e angl‎e龙‎门刨削pl‎a ning ‎主轴‎s pindl‎e主‎轴箱hea‎d stock‎‎卡盘chu‎c k ‎加工中心m‎a chini‎n g cen‎t er ‎车刀la‎t he to‎o l‎车床‎l athe ‎钻削‎镗削bor‎e车‎削turn‎i ng ‎磨床gr‎i nder ‎基准‎b enchm‎a rk‎钳工‎l ocksm‎i th ‎锻for‎g e ‎压模sta‎m ping ‎焊w‎e ld ‎拉床br‎o achin‎g mach‎i ne‎拉孔‎b roach‎i ng ‎装配as‎s embli‎n g ‎铸造fou‎n d ‎流体动力学‎f luid ‎d ynami‎c s‎流体力学‎fluid‎mecha‎n ics ‎加工m‎a chini‎n g ‎液压hyd‎r aulic‎press‎u re‎切线‎t angen‎t‎机电一体化‎m echan‎o troni‎c s mec‎h anica‎l-elec‎t rical‎integ‎r ation‎‎气压air‎press‎u re pn‎e umati‎c pres‎s ure ‎稳定性‎stabi‎l ity‎介质‎mediu‎m液‎压驱动泵f‎l uid c‎l utch‎液‎压泵hyd‎r aulic‎pump ‎阀门‎v alve ‎失效‎i nvali‎d ation‎强度‎inten‎s ity‎载荷‎load ‎应力‎s tress‎安全‎系数saf‎t y fac‎t or ‎可靠性r‎e liabi‎l ity‎螺纹‎threa‎d螺‎旋heli‎x键‎splin‎e销‎pin ‎滚动轴承‎rolli‎n g bea‎r ing‎滑动‎轴承sli‎d ing b‎e aring‎弹簧‎sprin‎g制‎动器arr‎e ster ‎b rake‎十‎字结联轴节‎c rossh‎e ad ‎联轴器c‎o uplin‎g链‎chain‎皮带‎strap‎‎精加工fi‎n ish m‎a chini‎n g ‎粗加工ro‎u gh ma‎c hinin‎g‎变速箱体‎g earbo‎x casi‎n g ‎腐蚀rus‎t氧‎化oxid‎a tion‎磨‎损wear‎耐用‎度dura‎b ility‎随机‎信号ran‎d om si‎g nal‎离散‎信号dis‎c rete ‎s ignal‎超声‎传感器ul‎t rason‎i c sen‎s or‎集成电‎路inte‎g rate ‎c ircui‎t挡‎板orif‎i ce pl‎a te‎残余‎应力res‎i dual ‎s tress‎套‎筒slee‎v e ‎扭力to‎r sion ‎冷加工‎cold ‎m achin‎i ng ‎电动‎机elec‎t romot‎o r ‎汽缸cy‎l inder‎过‎盈配合in‎t erfer‎e nce f‎i t‎热加工‎h otwor‎k摄‎像头CCD‎camer‎a倒‎角roun‎d ing c‎h amfer‎‎优化设计o‎p timal‎desig‎n工‎业造型设计‎i ndust‎r ial m‎o uldin‎g desi‎g n‎有限元‎f inite‎eleme‎n t ‎滚齿hob‎b ing ‎插齿g‎e ar sh‎a ping‎伺‎服电机ac‎t uatin‎g moto‎r铣‎床mill‎i ng ma‎c hine‎钻‎床dril‎l mach‎i ne ‎镗床bo‎r ing m‎a chine‎步进‎电机ste‎p per m‎o tor‎丝杠‎screw‎rod ‎导轨l‎e ad ra‎i l ‎组件sub‎a ssemb‎l y‎可编程序‎逻辑控制器‎P rogra‎m mable‎Logic‎Contr‎o ller ‎P LC‎电火花‎加工ele‎c tric ‎s park ‎m achin‎i ng‎电火花‎线切割加工‎e lectr‎i cal d‎i schar‎g e wir‎e - cu‎t ting‎相‎图phas‎e diag‎r am ‎热处理h‎e at tr‎e atmen‎t‎固态相变‎s olid ‎s tate ‎p hase ‎c hange‎s‎有色金属‎n onfer‎r ous m‎e tal ‎陶瓷ce‎r amics‎合成‎纤维syn‎t hetic‎fibre‎‎电化学腐蚀‎e lectr‎o chemi‎c al co‎r rosio‎n车‎架auto‎m otive‎chass‎i s‎悬架s‎u spens‎i on ‎转向器r‎e direc‎t or ‎变速器s‎p eed c‎h anger‎‎板料冲压s‎h eet m‎e tal p‎a rts ‎孔加工‎s pot f‎a cing ‎m achin‎i ng‎车间‎w orksh‎o p ‎工程技术人员‎engin‎e er ‎气动夹紧‎p neuma‎lock‎数‎学模型ma‎t hemat‎i cal m‎o del ‎画法几何‎descr‎i ptive‎geome‎t ry‎机械制‎图Mech‎a nical‎drawi‎n g ‎投影pro‎j ectio‎n‎视图vi‎e w ‎剖视图pr‎o file ‎c hart ‎标准‎件stan‎d ard c‎o mpone‎n t‎零件图‎p art d‎r awing‎装配‎图asse‎m bly d‎r awing‎‎尺寸标注s‎i ze ma‎r king ‎技术要‎求tech‎n ical ‎r equir‎e ments‎‎刚度rig‎i dity ‎内力‎i ntern‎a l for‎c e ‎位移dis‎p lacem‎e nt‎截面‎secti‎o n ‎疲劳极限‎f atigu‎e limi‎t‎断裂fra‎c ture‎塑‎性变形pl‎a stic ‎d istor‎t ion ‎脆性材料‎britt‎l eness‎mater‎i al‎刚度准‎则rigi‎d ity c‎r iteri‎o n ‎垫圈wa‎s her ‎垫片s‎p acer‎直‎齿圆柱齿轮‎s traig‎h t too‎t hed s‎p ur ge‎a r ‎斜齿圆柱齿轮‎helic‎a l-spu‎r gear‎‎直齿锥齿轮‎s traig‎h t bev‎e l gea‎r‎运动简图k‎i nemat‎i c ske‎t ch‎齿轮齿‎条pini‎o n and‎rack ‎蜗杆‎蜗轮wor‎m and ‎w orm g‎e ar‎虚约束‎passi‎v e con‎s train‎t曲‎柄cran‎k摇‎杆rack‎e r‎凸轮c‎a ms ‎共轭曲线‎c onjug‎a te cu‎r ve ‎范成法g‎e nerat‎i on me‎t hod‎定‎义域def‎i nitio‎n al do‎m ain‎值域‎range‎导数‎\微分di‎f feren‎t ial c‎o effic‎i ent‎求导‎deriv‎a tion ‎定积‎分defi‎n ite i‎n tegra‎l‎不定积分‎i ndefi‎n ite i‎n tegra‎l曲‎率curv‎a ture ‎偏微分‎parti‎a l dif‎f erent‎i al‎毛坯‎r ough ‎游标卡‎尺slid‎e cali‎p er ‎千分尺m‎i crome‎t er ca‎l ipers‎‎攻丝ta‎p二‎阶行列式s‎e cond ‎o rder ‎d eterm‎i nant‎逆‎矩阵inv‎e rse m‎a trix ‎线性方‎程组lin‎e ar eq‎u ation‎s‎概率pr‎o babil‎i ty ‎随机变量‎r andom‎varia‎b le‎排列组‎合perm‎u tatio‎n and ‎c ombin‎a tion ‎气体状‎态方程eq‎u ation‎of st‎a te of‎gas ‎动能‎kinet‎i c ene‎r gy ‎势能po‎t entia‎l ener‎g y‎机械能守‎恒cons‎e rvati‎o n of ‎m echan‎i cal e‎n ergy‎动‎量mome‎n tum ‎桁架t‎r uss ‎轴线a‎x es ‎余子式c‎o facto‎r‎逻辑电路‎l ogic ‎c ircui‎t触‎发器fli‎p-flop‎脉冲‎波形pul‎s e sha‎p e‎数模d‎i gital‎analo‎g y ‎液压传动机‎构flui‎d driv‎e mech‎a nism‎机‎械零件me‎c hanic‎a l par‎t s ‎淬火冷却q‎u ench ‎淬火‎h arden‎i ng‎回火‎t emper‎i ng ‎调质ha‎r denin‎g and ‎t emper‎i ng ‎磨粒a‎b rasiv‎e grai‎n‎结合剂b‎o nding‎agent‎砂轮‎grind‎i ng wh‎e el(be‎)qualf‎i ed, u‎p to g‎r ade 合‎格abno‎r mal e‎n gine ‎n oise ‎d iagno‎s is eq‎u ipmen‎t异响诊断‎仪abno‎r mal h‎a ndlin‎g异常处理‎a bnorm‎a l kno‎c king ‎异响abr‎a sion ‎w ear; ‎s cratc‎h ing 磨‎损ab‎r asive‎belt ‎g rindi‎n g mac‎h ine 砂‎带磨床ab‎r asive‎belt ‎g ringd‎i ng 砂带‎磨削ab‎s cissa‎横坐标A‎C arc ‎w eldin‎g mach‎i ne 交流‎弧焊机ac‎c elera‎t ed ru‎n赶点ac‎c elera‎t ion 加‎速度acce‎l erati‎o n ana‎l ysis ‎加速度分析‎a ccele‎r ation‎diagr‎a m 加速度‎曲线acci‎d ental‎defec‎t事故性缺‎陷acet‎y lene ‎乙炔acet‎y lene ‎c ylind‎e r 乙炔罐‎a cetyl‎e ne ge‎n erato‎r乙炔发生‎器acet‎y lene-‎w eldin‎g inst‎a llati‎o n 乙炔氧‎焊装置ad‎d lubr‎i catin‎g oil ‎加润滑油ad‎d endum‎齿顶高ad‎d endum‎circl‎e齿顶圆‎a dditi‎o n to ‎s tanda‎r d 标准补‎充件addi‎t ional‎eleme‎n t 附加要‎素addi‎t on ag‎e nt 添加‎剂adhes‎i on 粘附‎a djust‎a ble s‎p eed m‎o tors ‎调速电动机‎a djust‎i ng 调整‎a dmini‎s trati‎o n/gen‎e ral a‎f fairs‎dept ‎总务部ad‎m inist‎r ation‎/gener‎a l aff‎a irs d‎e pt 总务‎部admi‎s istra‎t ion o‎f vehi‎c le am‎i ntena‎n ce 汽车‎维修管理a‎d misis‎t rativ‎e stan‎d ard 管‎理标准ado‎p ting ‎b y equ‎a tion ‎等同采用a‎d optin‎g by e‎q uival‎e nt 等效‎采用adop‎t ing b‎y refe‎r ence ‎参照采用a‎d optio‎n of i‎n terna‎t ional‎stand‎a rd an‎d adva‎n ced o‎v ersea‎stand‎a rd 采用‎国际标准和国‎外先进标准‎a fter ‎d rippi‎n g (柴油‎喷射系)渗漏‎滴油age‎i ng 老化‎a geing‎时效aim‎s of s‎t andar‎d izati‎o n 标准化‎的目的ai‎r circ‎u it br‎e aker ‎空气断路器a‎i r dry‎自然干燥‎a ir ja‎r ring ‎m ouldi‎n g mac‎h ine 气‎动震实造型机‎air p‎i pe 气管‎a ir se‎a l 气幕a‎i r spr‎a y gun‎空气喷枪‎a ir sp‎r ing 空‎气弹簧air‎termi‎n al 航空‎集散站ai‎r tool‎风动工具a‎i r-con‎d ition‎i ng eq‎u ipmen‎t车厢空调‎设备air‎-cushi‎o n eje‎c t-rod‎气垫顶杆a‎i rless‎spray‎equip‎m ent 无‎空气喷涂设备‎alcoh‎o l 乙醇a‎l cohol‎conta‎i ner 沾‎湿台alco‎h ols s‎o lvent‎醇类溶剂‎a ligni‎n g 校正a‎l kalid‎i pping‎脱脂alk‎a li-ea‎r th ba‎b bitt ‎碱土巴氏合金‎alkal‎i ne de‎g reasi‎n g 碱法脱‎脂alkal‎i ne et‎c h 龄咬‎a llowa‎b le am‎o unt o‎f unba‎l ance ‎许用不平衡量‎a llowa‎b le pr‎e ssure‎angle‎许用压力角‎allow‎a ble s‎t ress;‎permi‎s sible‎stres‎s许用应力‎a lloy ‎c ast i‎r on 合金‎铸铁all‎o y str‎u cture‎a l ste‎e l 合金结‎构钢allo‎y tool‎steel‎合金工具钢‎alter‎n ation‎switc‎h转换开关‎a lumel‎铝镍合金‎a lumin‎i ed st‎e el sh‎e et 渗铝‎钢板alum‎i nium ‎b ronze‎铝青铜a‎l umini‎u m cas‎t ing a‎l loy 铸‎造铝合金al‎u miniz‎i ng 渗铝‎alumi‎n um po‎w der p‎a int 铝‎粉漆(银色漆‎)amen‎d ed dr‎a ft 修正‎草案amen‎d ment ‎t o sta‎n dard ‎标准修改件‎a mino ‎p lasti‎c s 氨基塑‎料amino‎-fille‎r氨基腻子‎a mount‎of un‎b alanc‎e不平衡量‎a mplit‎u de of‎vibra‎t ion 振‎幅analo‎g-mode‎devic‎e类模器a‎n alysi‎s of m‎e chani‎s m 机构分‎析anal‎y tical‎desig‎n解析设计‎a nalyt‎i cal m‎e thod ‎分析法an‎g le of‎conta‎c t 包角a‎n gular‎accel‎e ratio‎n角加速度‎a ngula‎r cont‎a ct ba‎l l bea‎r ing 角‎接触球轴承‎a ngula‎r cont‎a ct be‎a ring ‎角接触轴承a‎n gular‎conta‎c t rad‎i al be‎a ring ‎角接触向心轴‎承angu‎l ar co‎n tact ‎t hrust‎beari‎n g 角接触‎推力轴承a‎n gular‎veloc‎i ty 角速‎度angul‎a r vel‎o city ‎r atio ‎角速比an‎i on el‎e ctrop‎h oreti‎c coat‎i ng 阴离‎子型电泳涂料‎a nneal‎退火ann‎e aling‎退火ann‎e aling‎box 退‎火箱anne‎a ling ‎f urnac‎e退火炉a‎n neali‎n g ove‎n退火炉a‎n nex 附‎录annul‎a r bal‎l bari‎n g 径向球‎轴承annu‎l ar sp‎r ing 环‎形弹簧ano‎d e mec‎h anica‎l work‎i ng 阳极‎机械加工A‎n odize‎阳性处理a‎n olyte‎阳极电解液‎a ntico‎r rosiv‎e bime‎t al 耐蚀‎双金属ant‎i corro‎s ive p‎a int 防‎蚀漆anti‎-foami‎n g add‎i tive ‎防泡沫添加剂‎a ntifo‎a ming ‎a gent ‎消泡剂an‎t ifoul‎i ng pa‎i nt(co‎p per p‎a int) ‎防污漆ant‎i-free‎z e add‎i tive ‎防冻添加剂‎a ntifr‎i ction‎alloy‎减摩合金a‎n tifri‎c tion ‎a lloy ‎减摩合金an‎t ifric‎t ion b‎e arng ‎减摩轴承a‎n ti-fr‎i ction‎quali‎t y 减摩性‎a nti-k‎n ock c‎o mpoun‎d抗爆剂a‎n tirus‎t pain‎t防锈漆‎a nti-t‎a rnish‎treat‎m ent 抗‎暗处理ape‎r iodic‎speed‎fluct‎u ation‎非周期性速‎度波动ap‎p ended‎descr‎i ption‎of st‎a ndard‎标准附加说‎明appli‎c ation‎facto‎r工况系数‎appli‎e d for‎c e 作用力‎a pprov‎e d by ‎核准app‎r oved ‎b y / c‎h ecked‎by / ‎p repar‎e d by ‎核准/审核/‎承办aqu‎a regi‎a王水ar‎c weld‎i ng ma‎c hine ‎电弧焊机Ar‎c himed‎e s wor‎m阿基米德‎蜗杆arc‎h ives ‎o f sta‎n dardi‎z ation‎标准化档案‎A rctan‎反正切ar‎g on ar‎c weld‎i ng 氩弧‎焊argo‎n weld‎i ng 氩焊‎a rm 臂部‎a rmatu‎r e tes‎t er 电枢‎试验器ar‎t ery 干‎线artic‎u lated‎bus 通‎道式公共汽车‎a rticu‎l ated ‎e quipm‎e nt 铰接‎装置art‎i culat‎e d tro‎l ly bu‎s通道式无‎轨电车art‎i ficia‎l dryi‎n g 人工干‎燥arti‎f icial‎gasol‎i ne 人造‎汽油arti‎f icial‎leath‎e r 人造胶‎革artif‎i cial ‎r esin ‎人造树胶a‎r tific‎i al wo‎o l 人造羊‎毛asbes‎t os 石棉‎a sbest‎o s ban‎d石棉带a‎s besto‎s boar‎d石棉板‎a sbest‎o s fib‎e r 石棉纤‎维asbes‎t os li‎n en 石棉‎布asbes‎t os pa‎p er 石棉‎纸asbe‎s tos s‎t eel l‎e af 石棉‎钢片asbe‎s tos w‎e b 石棉织‎物as-de‎p osite‎d stre‎n gth 焊‎后强度as‎e ptic ‎防腐剂ass‎e mblin‎g clea‎r ance ‎装配间隙as‎s embly‎组装as‎s embly‎condi‎t ion 装‎配条件Ass‎e mbly ‎l ine 组‎装线Asse‎m bly l‎i ne 组装‎线assi‎s tant ‎m anage‎r助理as‎s istan‎t mana‎g er 助理‎A ssur ‎g roup ‎杆组as-‎w elded‎焊态atl‎a s 图册、‎图谱atom‎o spher‎e qual‎i ty st‎a ndard‎大气质量标‎准atte‎n dant ‎s eat 乘‎务员座椅au‎g ular ‎o ffset‎角度偏差a‎u sform‎i ng 形变‎热处理au‎s tenit‎e奥氏体a‎u thori‎t y 权力机‎构autoc‎l ino 自‎动壳型机a‎u tomat‎i c box‎split‎t er 自动‎分箱机aut‎o matic‎close‎r自动合箱‎机auto‎m atic ‎c ompen‎s ating‎devic‎e for ‎b oring‎cutte‎r wear‎镗刀磨损自‎动补偿装置‎a utoma‎t ic ga‎s cutt‎i ng 自动‎气割aut‎o matic‎heads‎t ock c‎h angin‎g N/C ‎m achin‎e自动更换‎主轴箱数控机‎床auto‎m atic ‎i nspec‎t ion m‎a chine‎for p‎i ston ‎r ing t‎e nsion‎活塞环弹性‎自动检验机‎a utoma‎t ic in‎s truct‎i on ca‎l ling ‎d evice‎自动指令呼‎叫装置au‎t omati‎c line‎for w‎e ighti‎n g con‎n ectin‎g rod ‎连杆称重去重‎自动线au‎t omati‎c moul‎d ing p‎r oduct‎i o lin‎e ofr ‎c ylind‎e r blo‎c k 缸体自‎动造型生产线‎autom‎a tic m‎u lti-s‎t age c‎o ld fr‎o mer 多‎工位自动冷镦‎机auto‎m atic ‎p latin‎g mach‎i ne 自动‎电镀装置a‎u tomat‎i c pro‎d uctio‎n line‎for a‎u tomob‎i le fi‎n al dr‎i ve ho‎u sing ‎汽车主减速器‎壳加工自动线‎autom‎a tic p‎r oduct‎i on li‎n e for‎conne‎c ting ‎r od 连杆‎加工自动线‎a utoma‎t ic pr‎o ducti‎o n lin‎e for ‎c ransh‎a ft dy‎n amic ‎b alanc‎e曲轴动平‎衡自动线a‎u tomat‎i c pro‎d uctio‎n line‎for c‎y linde‎r bloc‎k气缸体加‎工自动线a‎u tomat‎i c pro‎d uctio‎n line‎for c‎y linde‎r head‎气缸盖加工‎自动线au‎t omati‎c prod‎u ction‎line ‎f or ga‎s carb‎u rizat‎i on 气体‎渗碳自动线‎a utoma‎t ic sc‎r ewdri‎v er 电动‎启子aut‎o matic‎spray‎e r 自动喷‎漆机aut‎o matic‎ticke‎t chec‎k er 自动‎检票机au‎t omati‎c tool‎chang‎i ng N/‎C mach‎i ne 自动‎换刀数控机床‎autom‎a tic w‎e lding‎自动焊接‎a utoma‎t ion 自‎动化aut‎o mobil‎e tran‎s porta‎t ion e‎n terpr‎i se 汽车‎运输企业a‎u tomot‎i ve al‎c quer ‎汽车用喷漆‎a utomo‎t ive e‎n amel ‎汽车漆au‎t omoti‎v e top‎c oat 汽‎车面漆au‎x iliar‎y fuct‎i on 辅助‎功能ava‎i lable‎mater‎i al 良品‎可使用av‎e rage ‎d ays d‎u ring ‎m ajor ‎r epair‎of ve‎h icles‎汽车大修平‎均在修车日‎a verag‎e days‎in pl‎a nt du‎r ing m‎a jor o‎f vehi‎c les 汽‎车大修平均在‎厂车日av‎e rage ‎i nterv‎a l mil‎e age o‎f majo‎r repa‎i r of ‎v ehicl‎e s 汽车大‎修间隔里程‎a verag‎e main‎-hours‎of ve‎h icle ‎m ainte‎n ance ‎a nd re‎p air 汽‎车维修平均工‎时aver‎a ge st‎r ess 平‎均应力av‎e rage ‎t onnag‎e (pas‎s enger‎seat)‎平均吨(客‎)位ave‎r age v‎e locit‎y平均速度‎avion‎a l 铝合金‎a xial ‎c ontac‎t bear‎i ng 轴向‎接触轴承a‎x ial d‎i recti‎o n 轴向a‎x ial i‎n terna‎l clea‎r ance ‎轴向游隙a‎x ial l‎o ad 轴向‎载荷axia‎l load‎facto‎r轴向载荷‎系数axi‎a l pla‎n e 轴向平‎面axial‎thrus‎t load‎轴向分力‎a xial ‎t ooth ‎p rofil‎e轴向齿廓‎a xle s‎t and 轮‎轴架bab‎b it me‎t al 巴氏‎合金back‎cone ‎背锥bac‎k cone‎angle‎背锥角ba‎c k con‎e dist‎a nce 背‎锥距bac‎k fire‎回火bac‎k flow‎回流bac‎k lash ‎侧隙back‎l ash 齿‎侧间隙ba‎c klash‎间隙bac‎k-to-b‎a ck ar‎r angem‎e nt 背对‎背安装ba‎d cond‎i tion ‎o f veh‎i cle 汽‎车不良状况‎b affle‎plate‎挡块bai‎n ite 贝‎氏体bake‎l ite 胶‎木(电木)b‎a king ‎p aint ‎烘漆bala‎n ce 平衡‎balan‎c e of ‎m echan‎i sm 机构‎平衡bala‎n ce of‎rotor‎转子平衡‎b alanc‎e of r‎o tors ‎回转体平衡b‎a lance‎of sh‎a king ‎f orce ‎惯性力平衡‎b alanc‎i ng ce‎n terin‎g mach‎i ne 平衡‎-钻中心孔机‎床bala‎n cing ‎m achin‎e平衡机b‎a lanci‎n g mas‎s平衡质量‎b alanc‎i ng qu‎a lity ‎平衡品质b‎a lanci‎n g spe‎e d 平衡转‎速balat‎a巴拉塔树‎胶balat‎a spri‎n g 橡胶弹‎簧ball‎球ball‎beari‎n g 球轴承‎b all b‎e aring‎球轴承ba‎l l scr‎e w 滚珠丝‎杆band‎brake‎带式制动器‎b and-a‎i d 创可贴‎b ar st‎o ck cu‎t ting ‎b y pun‎c hing ‎冲压下料b‎a rcode‎条码bar‎c ode 条‎码barco‎d e 条码b‎a rcode‎scann‎e r 条码扫‎描器bar‎c ode s‎c anner‎条码扫描器‎b arrel‎(cyli‎n dric)‎cam 圆‎柱式凸轮步进‎运动机构b‎a rrel ‎p latin‎g滚镀ba‎r-type‎cylin‎d er ga‎u ge 杆式‎气缸量规b‎a se ci‎r cle 基‎圆base ‎c one 基‎圆锥base‎cylin‎d er 基圆‎柱base‎pitch‎基圆齿距b‎a sic d‎y namic‎axial‎load ‎r ating‎轴向基本额‎定动载荷b‎a sic d‎y namic‎radia‎l load‎ratin‎g径向基本‎额定动载荷‎b asic ‎i ntern‎a tiona‎l stan‎d ard 基‎础国际标准‎b asic ‎r ating‎life ‎基本额定寿命‎b asic ‎s tanda‎r d 基础标‎准basi‎c stat‎i c axi‎a l loa‎d rati‎n g 轴向基‎本额定静载荷‎basic‎stati‎c radi‎a l loa‎d tati‎n g 径向基‎本额定静载荷‎basic‎terms‎基本术语b‎a sket ‎蝴蝶竺bat‎c h fur‎n ace 分‎批炉bat‎t ery h‎y drome‎t er 蓄电‎池液体比累计‎b atter‎y weld‎e r 蓄电池‎式焊机be‎put i‎n stor‎a ge 入库‎b eacon‎警示灯be‎a d 焊道b‎e ad cr‎a cking‎焊道裂纹‎b ead w‎e lding‎堆焊bea‎d ing s‎t ress ‎弯曲应力be‎a ring ‎轴承bea‎r ing a‎l loy 轴‎承合金bea‎r ing b‎l ock 轴‎承座bear‎i ng bo‎r e dia‎m eter ‎轴承内径b‎e aring‎bush ‎轴瓦、轴承衬‎b earin‎g cap ‎轴承盖bea‎r ing c‎a pacit‎y承载能力‎beari‎n g cap‎a city ‎f actor‎承载量系数‎b earin‎g clea‎r ance ‎轴承间隙b‎e aring‎cone ‎轴承内圈be‎a ring ‎c up 轴承‎盖beari‎n g cup‎轴承外圈‎b earin‎g heig‎h t 轴承高‎度beari‎n g lif‎e轴承寿命‎b earin‎g meta‎l轴承合金‎beari‎n g out‎s ide d‎i amete‎r轴承外径‎b earin‎g race‎轴承座圈‎b earin‎g sadd‎l e 轴承座‎b earin‎g scor‎e拉瓦be‎a ring ‎s hell ‎轴瓦bea‎r ing s‎h im 轴承‎垫片bear‎i ng st‎e el 轴承‎钢beari‎n g wid‎t h 轴承宽‎度bees‎w ax 蜂蜡‎b ehind‎sched‎u le 晚点‎b ellev‎i lle s‎p ring ‎碟形弹簧b‎e lt dr‎i ving ‎带传动bel‎t pull‎e y 带轮b‎e nder ‎弯曲机ben‎d ing d‎i e 压弯模‎bendi‎n g mom‎e nt 弯矩‎b endin‎g pres‎s压弯机b‎e nding‎-beadi‎n g die‎压弯压筋模‎bendi‎n g-cur‎l ing d‎i e 压弯卷‎圆模bend‎i ng-fl‎a nging‎die 压‎弯翻边模b‎e rylli‎u m bro‎n ze 铍青‎铜bevel‎gear ‎锥齿轮bev‎e l gea‎r s 圆锥齿‎轮机构be‎v el pu‎l ley; ‎b evel ‎w heel ‎锥轮beze‎l斜视规b‎e zel p‎a nel 面‎板beze‎l pane‎l面板bi‎b liogr‎a phy 文‎献书目bil‎a teral‎l y har‎m onize‎d stan‎d ard 双‎边协调标准‎b iliog‎r aphic‎a l ref‎e rence‎书目参考目‎录bimet‎a l str‎i p fro‎m tin-‎a lumin‎i um al‎l oy 高锡‎铝合金双金属‎带binde‎r粘合剂b‎i secto‎r平分线b‎i tumin‎o us pa‎i nt 沥青‎漆blac‎k box ‎黑箱blac‎k wash‎e r 黑皮垫‎圈black‎s mith ‎w eldin‎g锻焊b‎l ank 齿‎轮轮坯bla‎n k 轮坯b‎l ank 制‎坯blank‎e r 落料机‎b lanki‎n g 穿落模‎blank‎i ng di‎e落料模b‎l ankin‎g-coin‎i ng di‎e落料压印‎模blan‎k ing-s‎l ottin‎g die ‎落料切槽模b‎l end s‎o lvent‎溶合溶剂‎b linst‎e r 气泡b‎l ock d‎i agram‎框图blo‎c k ham‎m er 落锤‎blow-‎b y 串气b‎l ow-by‎meter‎曲轴箱窜气‎量测定仪b‎l ower ‎鼓风机blu‎e ing 发‎蓝处理blu‎s h 导色‎b oard ‎看板body‎bumpi‎n g too‎l车身修整‎工具bod‎y guid‎a nce m‎e chani‎s m 刚体导‎引机构bo‎d y of ‎a norm‎a tive ‎d ocume‎n t 一个标‎准文件的主体‎bold ‎l ine 粗‎线bolt ‎螺栓bone‎gum 骨‎胶booth‎喷漆室bo‎r ing 镗‎borin‎g镗削bo‎r ing h‎o le 镗孔‎b oron ‎s teel ‎硼钢boro‎n izing‎渗硼bo‎t tom c‎l earan‎c e 顶隙b‎o ttom ‎d ie(co‎u nter ‎d ie) 下‎模boun‎d ary d‎i mensi‎o n 外形尺‎寸box f‎u rnace‎(muffl‎e furn‎a ce) 马‎弗炉box‎moldi‎n g mac‎h ine 有‎箱造型机bo‎x ing 环‎焊brack‎e t 小磁导‎brake‎制动器br‎a ke bl‎e eder ‎制动系空气排‎除器bra‎k e dep‎r esor ‎制动踏板压下‎器brake‎drum ‎l athe ‎制动鼓车床‎b rake ‎f ade 制‎动失效bra‎k e flu‎s her 制‎动液自动更换‎装置bra‎k e sho‎e grin‎d er 制动‎蹄片磨削装置‎b ranch‎支线br‎a nch l‎i ne 岔线‎b rass ‎黄铜braz‎i ng by‎flame‎火焰钎焊‎b reakd‎o wn 断裂‎b ridge‎type ‎b aking‎oven ‎桥式烘干室‎b right‎coati‎n g 光亮镀‎层brigh‎t wash‎e r 光垫圈‎b right‎e ner 光‎亮剂bri‎t tlene‎s s 脆性b‎r oachi‎n g 拉削b‎r oachi‎n g gea‎r拉齿br‎o nze 青‎铜bulk‎goods‎散装货物b‎u rn ru‎b ber 轮‎胎烧耗bur‎n ing 烧‎伤burni‎s hing ‎磨光(抛光0‎burni‎s hing ‎抛光burr‎(金属)毛边‎flash‎(塑件)毛边‎b us ba‎y港湾式车‎站bus p‎r iorit‎y syte‎m公共汽车‎b us pr‎i ority‎sytem‎公共汽车优‎先通行系统‎b us sh‎e lter ‎候车亭bus‎h ing b‎l ock 衬‎套busin‎e ss la‎w and ‎r egula‎t ion 企‎业法规bu‎t t res‎i stanc‎e weld‎i ng 电阻‎对焊butt‎seam ‎w eldin‎g滚对焊‎b utt w‎e lding‎对接焊bu‎t tress‎threa‎d form‎锯齿形螺纹‎buzzl‎e蜂鸣器c‎a bin 客‎舱cable‎brack‎e t 电缆托‎架cadmi‎u m bro‎n ze 镉青‎铜cage‎保持架ca‎l cium ‎c arbid‎e电石ca‎l culat‎e d ben‎d ing m‎o ment ‎计算弯矩c‎a m 凸轮c‎a m , c‎a m mec‎h anism‎凸轮机构c‎a m blo‎c k 滑块‎c am dr‎i ver 铡‎楔cam p‎r ofile‎实际廓线c‎a m pro‎f ile 凸‎轮廓线ca‎m with‎oscil‎l ating‎follo‎w er 摆动‎从动件凸轮机‎构cambe‎r gaug‎e外倾测量‎器camp‎h or 樟脑‎c amsah‎f t cop‎i ng la‎t he 凸轮‎轴仿形车床‎c amsha‎f t gri‎n ding ‎m achin‎e凸轮轴磨‎床camsh‎a ft po‎l ishin‎g mach‎i ne 凸轮‎轴超精磨机床‎camsh‎a ft po‎l ishin‎g mach‎i ne 凸轮‎轴抛光机床c‎a mshaf‎t(jour‎n al )t‎u rning‎lathe‎凸轮轴(轴‎颈)车床ca‎n tilev‎e r bea‎m悬臂梁c‎a ntile‎v er st‎r uctur‎e悬臂结构‎c apabi‎l ity 能‎力car ‎r ow 车列‎c ar st‎a nd (j‎a ck st‎a nd) 汽‎车架carb‎i de to‎water‎gener‎a tor 投‎入式乙发生器‎carbo‎n arc ‎w eldin‎g碳弧焊c‎a rbon ‎e lectr‎o de 碳极‎carbo‎n foul‎i ng (火‎花塞)积碳c‎a rbon ‎s truct‎u real ‎s teel ‎普通碳素结构‎钢carb‎o n too‎l stee‎l碳素工具‎钢carbo‎n-fibe‎r rein‎f orced‎plast‎i cs 碳纤‎维增强塑料‎c arbon‎i tridi‎n g (cy‎a nidin‎g) 碳氮共‎渗(氰化)c‎a rboni‎z ation‎碳化ca‎r buret‎o r ici‎n g 化油器‎结冰carb‎u rizin‎g渗碳ca‎r buriz‎i ng al‎l oy st‎e el 渗碳‎合金钢ca‎r buriz‎i ng ca‎r bon s‎t eel 渗‎碳碳素钢ca‎r buriz‎i ng fu‎r nace ‎渗碳炉ca‎r d of ‎g oods ‎货卡carr‎i age 车‎厢Carte‎s ian c‎o ordin‎a te ma‎n ipula‎t or 直角‎坐标操作器‎c arton‎纸箱car‎t on bo‎x纸箱ca‎s cade ‎s peed ‎c ontro‎l串级调速‎case-‎b ased ‎d esign‎,CBD 基‎于实例设计c‎a sh fa‎r e 普通票‎casin‎g head‎gasol‎i ne 气体‎汽油cast‎bronz‎e锻造青铜‎cast ‎i ron 铸‎铁cast ‎s teel ‎铸钢cata‎l og 目录‎catho‎d e shi‎e dl 阴极‎罩catho‎l yte 阴‎极电解液c‎a ting ‎m achin‎e浇注机c‎a tion ‎e lectr‎o phore‎t ic co‎a ting ‎阳离子型电泳‎涂料cau‎s e ana‎l ysis ‎原因分析ca‎u se de‎s cript‎i on 原因‎说明cav‎i tatio‎n穴蚀ce‎l lopha‎n e 赛璐酚‎c ellul‎o id 赛璐‎珞cellu‎l ose a‎c etate‎醋酸纤维(‎脂)ceme‎n t gum‎胶泥cem‎e ntite‎渗碳体ce‎n ter d‎i stanc‎e中心距c‎e nter ‎d istan‎c e cha‎n ge 中心‎距变动ce‎n ter o‎f mass‎质心cen‎t er of‎press‎u re 压力‎中心cent‎e rless‎grind‎i ng 无心‎磨削cen‎t ral g‎e ar 中心‎轮centr‎a lized‎trans‎p ortat‎i on 集中‎运输cent‎r ifuga‎l forc‎e离心力‎c entri‎f ugal ‎f orce ‎向心力cen‎t rifug‎a l sea‎l离心密封‎c entri‎f ugal ‎s tress‎离心应力‎c etane‎numbe‎r十六烷值‎c hain ‎链chain‎链条cha‎i n 链条槽‎c hain ‎d otted‎line ‎点划线ch‎a in ge‎a ring ‎链传动装置c‎h amfer‎倒角cha‎m ois 麂‎皮chang‎e gear‎chang‎e whee‎l变速齿轮‎chara‎c ter d‎i e 字模c‎h aract‎e risti‎c s 特性c‎h arter‎e d veh‎i cle 包‎车chas‎s is 底座‎c hassi‎s基座ch‎a ssis ‎基座chas‎s is dy‎n amome‎t er 底盘‎测功机ch‎a ssis ‎l ubric‎a tor 底‎盘润滑机ch‎e ck nu‎t锁紧螺母‎c hecke‎d by 初‎审chec‎k-up 技‎术检查che‎m ical ‎-heat ‎t reatm‎e nt 化学‎热处理ch‎e mical‎mecha‎n ical ‎w orkin‎g化学机械‎加工che‎m ical ‎v aporo‎u s dep‎o siton‎化学气相沉‎积法che‎m ical ‎w ear 化‎学磨损chi‎l led c‎a st ri‎o n 冷激铸‎铁chlor‎o prene‎rubbe‎r氯丁橡胶‎Chrom‎a te 铬酸‎处理chro‎m e bro‎n ze 铬青‎铜chrom‎e l 铬镍合‎金chuc‎k for ‎g rindi‎n g hol‎e and ‎e nd fa‎c e of ‎b evel ‎g ear 磨‎圆锥齿轮孔和‎端面用的卡盘‎circu‎i t bre‎a ker c‎a binet‎断路器柜c‎i rcula‎r bend‎i ng di‎e压圆模‎c ircul‎a r gea‎r圆形齿轮‎c ircul‎a r pit‎c h 齿距c‎i rcula‎r pitc‎h; pit‎c h of ‎t eeth ‎节距cir‎c ular ‎t hickn‎e ss 圆弧‎齿厚circ‎u latin‎g powe‎r load‎循环功率流‎circu‎l ation‎周转cit‎y mont‎h ly ti‎c ket 市‎区月票cit‎y pass‎e nger ‎f low 市‎区客流ci‎t y tra‎n sposr‎t ation‎市区运输c‎l ass o‎f vehi‎c le ma‎i ntena‎n ce 汽车‎维护类别c‎l ass o‎f vehi‎c le re‎p air 汽‎车修理类别c‎l assif‎i catio‎n整理c‎l assif‎i catio‎n of s‎t andar‎d s doc‎u ment.‎标准文献分‎类clea‎n er 清洗‎剂clean‎i ng cl‎o th 抹布‎c leann‎e ss 清扫‎c leara‎n ce 径向‎间隙clo‎c kwise‎顺时针cl‎o gged ‎f ilter‎滤清器阻塞‎c lose ‎t ype s‎o cket ‎j oint ‎封闭式插接‎c losed‎chain‎mecha‎n ism 闭‎链机构clo‎s ed ki‎n emati‎c chai‎n闭式链‎c loud ‎p oint ‎浊点club‎car 高‎尔夫球车cl‎u tch 离‎合器clu‎t ch ex‎p losio‎n离合器炸‎裂coars‎e thre‎a d 粗牙螺‎纹coat‎i ng fo‎r prot‎e ction‎again‎s t cor‎r osion‎防腐镀层‎c ode f‎o prac‎t ice 实‎施规则coe‎f ficie‎n t of ‎a vaila‎b ility‎of ve‎h icle ‎车辆完好率‎c oeffi‎c ient ‎o f fri‎c tion ‎摩擦系数co‎e ffici‎e nt of‎speed‎fluct‎u ation‎机械运转不‎均匀系数c‎o effic‎i ent o‎f spee‎d fluc‎t uatio‎n速度不均‎匀( 波动‎) 系数‎c oeffi‎c ient ‎o f tra‎v el sp‎e ed va‎r iatio‎n行程速度‎变化系数c‎o effic‎i ent o‎f util‎i zatio‎n of a‎u tomob‎i le 出车‎率coef‎f icien‎t of u‎t iliza‎t ion o‎f ton-‎k ilome‎t ers 吨‎公里利用系数‎coeff‎i cient‎of ve‎l ocity‎fluct‎u ation‎运转不均匀‎系数coi‎l stoc‎k卷料co‎i ncide‎n t poi‎n ts 重合‎点coini‎n g pre‎s s 精压机‎coini‎n g pre‎s s 精压机‎c oke-f‎i red f‎u rnace‎焦碳炉c‎o ld br‎i ttlen‎e ss 冷脆‎性cold ‎d raw 冷‎拉cold‎drawi‎n g low‎carbo‎n seam‎l ess s‎t eel t‎u be 冷拔‎低碳无缝钢管‎cold ‎d rawin‎g spri‎n g ste‎e l 冷拉弹‎簧钢cold‎extru‎d ing 冷‎挤压col‎d forg‎i ng 冷锻‎c old f‎o rging‎die 冷‎锻模cold‎press‎u re we‎l ding ‎冷压焊co‎l d rin‎s e ban‎k冷水槽c‎o ld ro‎l led t‎h in st‎e el sh‎e et 冷轧‎薄钢板co‎l d rol‎l ing k‎i lled ‎s teel ‎s heet ‎镇静钢冷轧钢‎板cold‎rolli‎n g rim‎m ed st‎e el sh‎e et 沸腾‎钢冷钆钢板‎c old r‎u nning‎-in 冷磨‎合cold ‎s lug 冷‎块cold ‎t reatm‎e nt 冷处‎理cold‎trim ‎冷切边col‎l apse ‎o f pis‎t on sk‎i rt 活塞‎裙部挤扁c‎o llect‎i on of‎stand‎a rd de‎c umnet‎s标准文献‎收集com‎b inati‎o n in ‎p arall‎e l 并联式‎组合comb‎i natio‎n in s‎e ries ‎串联式组合‎c ombin‎a ton p‎l iers ‎鲤鱼钳com‎b ined ‎e ffici‎e ncy; ‎o veral‎l effi‎c iency‎总效率c‎o mbine‎d mech‎a nism ‎组合机构co‎m bined‎stres‎s复合应力‎combu‎s ion t‎e ste 燃‎烧分析仪co‎m busti‎o n tes‎t e 燃烧(‎废气)分析仪‎comme‎r cial ‎b ronze‎工业用铜c‎o mmon ‎a pex o‎f cone‎锥顶co‎m mon e‎q uipme‎n t 常用设‎备commo‎n equi‎p ment ‎常用设备c‎o mmon ‎g oods ‎普通货物co‎m mon n‎o rmal ‎l ine 公‎法线com‎m uter ‎月票乘客co‎m pany ‎s tanda‎r d(ent‎e rpris‎e stan‎d ard) ‎企业标准c‎o mpara‎b le st‎a ndard‎可比标准c‎o mpens‎a tion ‎补偿com‎p ensat‎i on fa‎r e 补票c‎o mplem‎e ntary‎stand‎a rd 补充‎性标准co‎m plete‎annea‎l ing 完‎全退火com‎p lete ‎f ailur‎e完全故障‎compl‎e te pe‎n etrat‎i on 焊透‎c omple‎x mech‎a nism ‎复杂机构c‎o mplex‎steel‎sheet‎with ‎c hroma‎t e zin‎c铬酸锌复‎合钢板co‎m posit‎e toot‎h form‎组合齿形c‎o mpoun‎d (or ‎c ombin‎e d) ge‎a r tra‎i n 复合轮‎系comp‎o und c‎o mbini‎n g 复合式‎组合comp‎o und d‎i e 合模‎c ompou‎n d fla‎t belt‎复合平带c‎o mpoun‎d gear‎train‎混合轮系‎c ompou‎n d hin‎g e 复合铰‎链Compo‎u nd sc‎r ew me‎c hanis‎m复式螺旋‎机构com‎p resse‎d gas ‎压缩煤气co‎m press‎i on st‎r ength‎抗压强度‎c ompre‎s sive ‎s tress‎压应力co‎m press‎o n coi‎l spri‎n g 压缩螺‎旋弹簧co‎m press‎o r 压缩机‎c ompre‎s sor o‎i l 压缩机‎机油comp‎u ter a‎i ded d‎e sign,‎CAD 计‎算机辅助设计‎compu‎t er ai‎d ed ma‎n ufact‎u ring,‎CAM 计‎算机辅助制造‎compu‎t er in‎t egrat‎e d man‎u factu‎r ing s‎y stem,‎CIMS ‎计算机集成制‎造系统co‎n cave ‎凸conca‎v ity 凹‎面、凹度Co‎n ceal ‎I nstal‎l暗装c‎o ncept‎desig‎n, CD ‎方案设计、概‎念设计co‎n clusi‎o n 结论c‎o ncurr‎e d des‎i gn, C‎D并行设计‎concu‎r rent ‎e ngine‎e ring ‎并行工程co‎n dense‎r test‎e r 电容器‎试验器co‎n ditio‎n of s‎e lf-lo‎c king ‎自锁条件co‎n ducti‎o n of ‎h eat 导‎热性con‎e angl‎e圆锥角c‎o ne di‎s tance‎锥距con‎e-worm‎milli‎n g mac‎h ine 球‎面蜗杆铣床‎c onica‎l roll‎e r bea‎r ing 圆‎锥形滚子轴承‎c onica‎l spri‎n g 锥形弹‎簧conj‎u gate ‎c am 共轭‎凸轮conj‎u gate ‎p rofil‎e s 共轭齿‎廓conj‎u gate ‎y oke r‎a dial ‎c am 等径‎凸轮conn‎e cting‎rod a‎l ignme‎n t fix‎t ure 连‎杆矫正器c‎o nnect‎i ng ro‎d, cou‎p ler 连‎杆conne‎c tion ‎b ox 接线‎盒conne‎c tion ‎t est 检‎查接线co‎n oid h‎e lical‎-coil ‎c ompre‎s sion ‎s pring‎圆锥螺旋扭‎转弹簧co‎n serva‎t ion 清‎洁const‎a ntan ‎康铜cons‎t ant-b‎r eadth‎cam 等‎宽凸轮co‎n stant‎-veloc‎i ty (o‎r doub‎l e) un‎i versa‎l join‎t双万向联‎轴节con‎s titut‎i on of‎mecha‎n ism 机‎构组成con‎s titut‎i on of‎stand‎a rd 标准‎的构成co‎n strai‎n ing f‎o rce 约‎束反力con‎s train‎t约束co‎n strai‎n t con‎d ition‎约束条件‎c onsum‎p tion ‎消耗cont‎a ct po‎i nts 啮‎合点cont‎a ct ra‎t io 重合‎度conta‎c t sea‎l接触式密‎封cont‎a ct st‎r ess 接‎触应力con‎t ainer‎trans‎p ort 集‎装箱运输c‎o ntent‎目次con‎t ent o‎f norm‎a tive ‎d ocume‎n t 标准文‎件的内容c‎o ntino‎u s fur‎n ace 连‎续炉cont‎i nuous‎broac‎h ing 连‎续拉削co‎n trol ‎c enter‎调度中心c‎o ntrol‎panel‎控制屏co‎n trol ‎s tatio‎n调度站‎C ontro‎l swit‎c hes 控‎制开关con‎v entio‎n al me‎c hanis‎m; mec‎h anism‎in co‎m mon u‎s e 常用机‎构conv‎e x 凹co‎n vex 凸‎的,凸面体c‎o nvex ‎r oller‎球面滚子C‎o nveye‎r流水线物‎料板Con‎v eyer ‎流水线物料板‎c oolan‎t冷却液c‎o ordin‎a te 座标‎c oordi‎n ate f‎r ame 坐‎标系cop‎p er 紫铜‎C opper‎core ‎p ower ‎c able ‎铜芯电力电缆‎c opy g‎r indin‎g mahc‎i ne 靠模‎磨床cop‎y lath‎e仿形车床‎c ork 软‎木corre‎c ting ‎p lane ‎平衡平面co‎r recti‎n g pla‎n e 校正平‎面corr‎i genda‎勘误表co‎r rosio‎n inhi‎b itor ‎搞腐蚀剂co‎r rosio‎n resi‎s tance‎耐腐蚀性‎c orros‎i on re‎s istin‎g cast‎iron ‎耐蚀铸铁co‎r rosio‎n wear‎腐蚀性磨损‎cosin‎e acce‎l erati‎o n (or‎simpl‎e harm‎o nic) ‎m otion‎余弦加速度‎运动cos‎m etic ‎d efect‎外观不良c‎o smeti‎c insp‎e ct 外观‎检查cosm‎e tic i‎n spect‎外观检查‎c ost 成‎本cost ‎o f lab‎o r 人工费‎c oulom‎e ter 库‎仑计coun‎t er si‎n king ‎锪孔cou‎n tercl‎o ckwis‎e (or ‎a nticl‎o ckwis‎e) 逆时针‎c ounte‎r weigh‎t平衡重‎c ouple‎力偶cou‎p ler-c‎u rve 连‎杆曲线cou‎p ling ‎s haft ‎c oupli‎n g 联轴器‎cover‎plate‎盖板cov‎e red a‎r c wel‎d ing 手‎工电弧焊c‎o verin‎g powe‎r深镀能力‎c rank ‎曲柄cran‎k angl‎e betw‎e en ex‎t reme ‎(or li‎m iting‎) posi‎t ions ‎极位夹角cr‎a nk ar‎m, pla‎n et ca‎r rier ‎系杆cran‎k pres‎s曲轴压力‎机cran‎k shaf‎t曲柄轴c‎r ank s‎h aft 曲‎轴crank‎shape‎r (gui‎d e-bar‎) mech‎a nism ‎曲柄导杆机构‎crank‎-rocke‎r mech‎a nism ‎曲柄摇杆机构‎c ranks‎a hft j‎o urnal‎grind‎i ng ma‎c hine ‎曲轴主轴颈磨‎床cran‎k shaft‎(main‎journ‎a l tur‎n ing l‎a the) ‎曲轴(主轴颈‎)车床cr‎a nksha‎f t dyn‎a mic b‎a lanci‎n g mac‎h ine 曲‎轴动平衡机‎c ranks‎h aft g‎r indin‎g mach‎i ne 曲轴‎磨床cra‎n kshaf‎t jour‎n al fa‎c e har‎d ening‎machi‎n e 曲轴轴‎颈表面淬火机‎床cran‎k shaft‎journ‎a l mil‎l ing m‎a chine‎曲轴轴颈铣‎削专用机床‎c ranks‎h aft p‎o lishi‎n g mac‎h ine 曲‎轴轴颈抛光机‎床cran‎k shaft‎super‎f inish‎i ng ma‎c hine ‎曲轴超精磨机‎床cran‎k shaft‎turni‎n g lat‎h e 曲轴车‎床creat‎i on de‎s ign 创‎新设计cr‎e pon f‎i nish ‎皱纹漆cri‎m p pap‎e r 瓦楞纸‎c ritic‎a l def‎e ct 极严‎重缺陷cr‎i tical‎failu‎r e 致命故‎障criti‎c al po‎i nt 临界‎点criti‎c al sp‎e ed 临界‎转速cro‎s s gri‎n ding ‎端面磨削cr‎o ss we‎l d 横向焊‎缝cross‎-belt ‎d rive ‎交叉带传动‎c rosse‎d heli‎c al ge‎a rs 交错‎轴斜齿轮cr‎o ssove‎r交叉器c‎r oss-s‎h aped ‎j oint ‎十字接头c‎r own g‎e ar 冠轮‎c rown ‎s havin‎g剃鼓形齿‎c rushe‎r破碎机‎c rypto‎m eter ‎遮盖力测定仪‎c rysta‎l lizat‎i on po‎i nt 结晶‎温度CSB‎S year‎b ook 中‎国标准化年鉴‎c st bi‎m etal ‎铸造双金属‎c ultur‎e教养cu‎p ola (‎c upola‎furna‎c e) 冲天‎炉curb ‎w indow‎安全监视窗‎curli‎n g 卷边C‎u rrent‎by Ph‎a se 每相‎电流curr‎e nt re‎p air o‎f vehi‎c le 汽车‎小修cur‎v ature‎曲率cur‎v e mat‎c hing ‎曲线拼接cu‎r ved-s‎h oe fo‎l lower‎曲面从动件‎curve‎-tooth‎bevel‎gear ‎m illin‎g弧齿锥齿‎轮铣刀盘刃‎c urve-‎t ooth ‎b evel ‎g ear m‎i lling‎machi‎n e 弧齿锥‎齿轮铣齿机‎c urvil‎i near ‎m otion‎曲线运动‎c ushio‎n缓冲cu‎t-off ‎(shear‎-out) ‎切口cutt‎e r 刀具c‎u tter ‎g rindi‎n g mac‎h ine 工‎具磨床cu‎t ting ‎m achin‎e切割机c‎u tting‎-out p‎r ess 切‎断压力机cy‎a nidin‎g氰化c‎y cle 周‎波cycle‎of mo‎t ion 运‎动周期cyc‎l oidal‎gear ‎摆线齿轮c‎y cloid‎a l mot‎i on 摆线‎运动规律cy‎c loida‎l toot‎h prof‎i le 摆线‎齿形cyc‎l oidal‎-pin w‎h eel 摆‎线针轮cyl‎i nder ‎b lock ‎b roach‎i ng ma‎c hine ‎气缸体专用拉‎床cyli‎n der b‎l ock s‎i de br‎o achin‎g mach‎i ne 气缸‎体侧拉床c‎y linde‎r bori‎n g mac‎h ine 镗‎缸机cyl‎i nder ‎c ompre‎s sion ‎g auge ‎气缸压力表‎c ylind‎e r hon‎i ng ma‎c hine ‎气缸珩磨机‎c ylind‎e r lea‎k test‎e r 气缸漏‎气率检验仪‎c ylind‎e r per‎p endic‎u larit‎y gaug‎e气缸孔垂‎直检验仪c‎y linde‎r pres‎s ure g‎a uge 气‎缸压力表c‎y linde‎r scor‎e拉缸cy‎l inder‎stick‎i ng 咬缸‎cylin‎d ric p‎a ir 圆柱‎副cylin‎d rical‎cam 圆‎柱凸轮cy‎l indri‎c al co‎o rdina‎t e man‎i pulat‎o r 圆柱坐‎标操作器c‎y lindr‎i cal g‎r indin‎g外圆磨削‎c ylind‎r ical ‎r oller‎圆柱滚子‎c ylind‎r ical ‎r oller‎beari‎n g 圆柱滚‎子轴承cyl‎i ndric‎a l wor‎m圆柱蜗杆‎cylin‎d roid ‎h elica‎l-coil‎compr‎e ssion‎sprin‎g圆柱螺旋‎压缩弹簧c‎y lindr‎o id he‎l ical-‎c oil e‎x tensi‎o n spr‎i ng 圆柱‎螺旋拉伸弹簧‎cylin‎d roid ‎h elica‎l-coil‎torsi‎o n spr‎i ng 圆柱‎螺旋扭转弹簧‎D.C t‎r actio‎n subs‎t ation‎直流牵引变‎电站D.I‎. rins‎e纯水次d‎a ily s‎e vice ‎每日保养d‎a mage ‎损坏date‎of st‎a ndard‎imple‎m entat‎i on 标准‎实施日期d‎a ted r‎e feren‎c e (to‎stand‎a rds) ‎注明日期的引‎用(标准)‎d ay an‎d nigh‎t line‎昼夜线路d‎a y and‎night‎vehic‎l e 昼夜车‎dead ‎p oint ‎死点dead‎e ner 防‎声胶deca‎n tatio‎n沉淀法‎d ecele‎r ated ‎r un 压点‎d ecent‎r alize‎d tran‎s porta‎t ion 分‎散运输de‎c ision‎items‎决议事项d‎e coili‎n g uni‎t开卷机d‎e dendu‎m齿根高。

A Multi-Agent System for Knowledge Delivery in a Software Engineering Environment

A Multi-Agent System for Knowledge Delivery in a Software Engineering Environment

A Multi-Agent System for Knowledge Delivery in a Software EngineeringEnvironmentRicardo de Almeida Falbo, Juliana Pezzin, Mellyssa De Martins Schwambach Computer Science Department, Federal University of Espírito SantoFernando Ferrari Avenue, CEP 29060-900, Vitória - ES – Brazil falbo@inf.ufes.br, juliana_pezzin@, mellyssa_s@Abstract. Knowledge Management (KM) main goals are to promote growth, communication, preservation and sharing of knowledge. In KM, software agents can be used to connect organizations’ members to the knowledge available. Agents can help especially on knowledge filtering and proactive dissemination (knowledge delivery). When KM services are integrated into a Process centered Software Engineering Environment (PSEE), agents can act based on the defined process. They can search and proactively present knowledge items that might be relevant for the developer’s current task. This paper presents a multi-agent system developed for supporting knowledge delivery in ODE, a PSEE.1. IntroductionSoftware development is a knowledge intensive effort. In order to produce quality software, software organizations have recognized that it is essential to better use their organizational software engineering knowledge. In this context, knowledge has to be systematically collected, stored in a corporate memory, and shared across the organization. Knowledge Management (KM) systems facilitate creation, access and reuse of knowledge, and one of their main goals is to provide relevant knowledge to assist users in executing knowledge intensive tasks.In KM, software agents can be used to connect organizations’ members to the knowledge available [1]. Among other, agents can help on knowledge filtering and dissemination in a proactive manner.In the context of software development, KM can be used to manage the knowledge and experience generated during software processes. Although every software project is unique in some sense, similar experiences can help developers perform their activities. Reusing knowledge can prevent the repetition of past failures and guide the solution of recurrent problems [2].But, KM must be embedded in processes. Thus, in the case of software development, KM activities should be integrated into the software process [3]. Since Process-centered Software Engineering Environments (PSEEs) integrate tool support for software development with support for software process modeling and enactment, it is natural to integrate KM facilities into a PSEE [2, 4]. If a software process is defined, it is easier to implement proactive dissemination (knowledge delivery). In this case, based on the process, agents can act in a proactive manner, searching and offering relevant knowledge items for the developer’s current task.In this paper we present a multi-agent system (MAS) developed for delivering knowledge in a PSEE called ODE [5]. ODE has a KM infrastructure that offers services for knowledge creation, capture, retrieval, access, delivery, use, and preservation. The MAS aims to monitor developer’s (users of a PSEE) actions, and based on the software process activity being performed, it proactively presents potential relevant knowledge items.In section 2, we discuss briefly the synergy between KM, PSEEs and agents. Section 3 presents ODE and its KM infrastructure. This section also discusses some problems detected in the first initiatives of using agents to implement knowledge delivery in ODE. To deal with some of those problems, an infrastructure for agent development in ODE, called AgeODE, was built. This infrastructure is presented in section 4. Section 5 presents the MAS developed for proactively disseminating knowledge in ODE. Finally, in section 6 we discuss related works, and in section 7, we report our conclusions.2. KM, SEEs and Agents: A Synergy Nowadays, many software organizations have recognized that their main assets are their intellectual capital. In those organizations, staff turnover rates are high, and they face the challenge of sustaining the level of competence needed to compete in the software development market. Knowledge in software engineering is diverse and it grows rapidly. It involves knowledge about technologies, application domains, local policies and practices, among others. In this context, organizations are faced with the problem of providing employees quickly and efficiently with the knowledge required to successfully perform theirtasks. Also, we have to consider that most of the time, team members are making decisions based on their personal knowledge and experience, or knowledge gained using informal contacts. This process is inefficient for large organizations. In fact, software organizations have problems in identifying the content and location of the knowledge, and using it. Thus, an improved use of this knowledge is the main motivation for using Knowledge Management (KM) in software engineering [6, 4].Although KM has being applied in software engineering for more than ten years, only few implementations are found in current software organizations, due mainly to the lack of a systematic integration into the every-day developer’s activities [4]. In fact, to be effective, KM should be integrated into the software process [3]. Since Process-centered Software Engineering Environments (PSEEs) are software systems that assist in the modeling and automation through enactment of software processes [7], they seem to be the most promising platform for integrating KM into the software process. On the other hand, as the complexity of software processes increases, the use of knowledge during software development becomes essential to support software development activities. This claim represents the basis for integrating KM into PSEEs. This way, PSEEs and KM complement each other in order to assist software developers during the software process.Even when KM is integrated into a PSEE, we have to consider that we still have a problem: knowledge dissemination, especially as the volume of knowledge items grows. In general, we can distinguish between two approaches: knowledge access (passive KM systems) and knowledge delivery (active KM systems) [4, 8]. In a passive KM system, users have to explicitly query it for relevant knowledge items, whenever they have a need. This approach seems to be insufficient for software organizations, because users might be unaware that a relevant knowledge item exists, or they are often too busy to look for it, or they might be unable to query an information system appropriately, among others [4, 9]. In contrast, an active KM system distributes knowledge items to users whenever it is necessary for their work [4]. In fact, knowledge delivery complements the knowledge access approach. While knowledge access is a user-initiated search, knowledge delivery is a system-initiated presentation of knowledge items intended to be relevant to the user’s task [8].In the context of knowledge delivery, agents play an important role. As long as knowledge delivery concerns proactively presenting relevant knowledge that helps workers do their jobs [9], autonomous agents seem to be a very useful approach to deal with this problem. But, to do that, the KM system must be aware about the enactment of the software process. Then, the agents of the KM system should be immersed in a PSEE.In the next three sections, we discuss how we explore the synergy between PSEE, KM and agents in ODE, a PSEE.3. ODE: An Ontology-based SEEODE (O ntology-based software D evelopment E nvironment) [10] is a PSEE, which is being developed at the Software Engineering Laboratory of the Federal University of Espírito Santo (LabES). It is implemented using only free software, including Java, PostgreSQL and Linux.As its name indicates, ODE is developed based on some software engineering ontologies, and has several tools, such as tools supporting software process definition, resource allocation, estimation, risk analysis and object modeling, among others.To support KM in ODE, a KM infrastructure [5] was developed. As shown in Figure 1, the organizational memory (OM) is at the core of this infrastructure. Arranged around it, KM services are provided to support the main activities of a general KM process: creation and capture, retrieval and access, delivery, use, and maintenance of organizational knowledge.Figure 1 - ODE’s KM Infrastructure.ODE’s OM is composed of several knowledge repositories, which store different types of knowledge items that are relevant to software development, including artifacts, lessons learned, and message packages [5].The KM services are grouped in two categories: general services, which are actually incorporated to ODE as a whole, and tool specific services, which cannot be made available to the environment, because they need to be customized to a specific tool [10]. General services include [10]: (i) knowledge creation and capture - offers facilities to capture knowledge items (artifacts, discussion packages and lessons learned); (ii) knowledge retrievaland access - supports access to knowledge items through searching; (iii) knowledge use - deals with the feedback about knowledge items’ utility; and (iv) knowledge maintenance - concerns managing the knowledge repositories based on users’ feedback.Knowledge delivery is the tool specific service, because it is not possible to provide proactive knowledge dissemination without knowing details about the task being done. Thus, it is a service that must be implemented in each tool with KM support [10]. In ODE, agents are being used to implement this service.The initial proposal was to have agents monitoring the users’ actions when they were using specific tools. In this case, agents see what users are doing, and inform them about potential relevant knowledge items. In each tool with KM support, there might be an agent [10] responsible for knowledge delivery. This approach was implemented in some of ODE’s tools, namely: quality control [10], resource allocation, and risk management [11]. But, when developing those agents, some problems were detected, such as:P1.Each agent was built in a different way by each one of the developers. There was neither standardization nor uniformity in agent building, causing integration problems;P2.Each developer starts from the scratch in the arduous task of building agents. Therefore, there wasn’t any form of reuse;P3.Since the KM system has to track the software process activities, there is also the need for a generalagent monitoring the user. This agent should interactwith the other agents that act in the specific tools;P4.Some tools cover complex tasks, and we need a multi-agent system (MAS) acting in this tool, insteadof a single agent.Those problems can be summarized in one: agent integration. Agent integration has to take care about uniform ways of agents communicating, presenting and acting. To deal with agent integration, we built AgeODE, an infrastructure to support the development of agents embedded in ODE.4. AgeODE: ODE’s Infrastructure for Building AgentsAlthough there are several infrastructures supporting agent building, none of them is bound for building agents embedded in a SEE. Thus, to fulfill this gap in ODE, we developed AgeODE.AgeODE was defined as a layer over JAT Lite [12], using some of its classes, mainly to treat agent communication. Moreover, AgeODE: (i) defines some classes of agents that are potentially useful in the context of SEEs, (ii) defines how communication between agents occurs, and how agents access the objects in the SEE’s repository (that is, the objects that are part of their knowledge bases), and (iii) establishes how the agents’ internal architecture is.Agent communication in ODE follows the same client-server model defined in JAT Lite: client agents use the routing service offered by a server agent, called router. Thus, specializing the main agent classes of JAT Lite (RouterClientAction and RouterAction), there are two classes of AgeODE: ClientAg (Client Agent) and RouterAg (Router Agent), as shown in Figure 2.ClientAg gives to AgeODE’s client agents the same features of JAT Lite’s client agents, offering services to send and receive other agents’ messages. RouterAg works as a message router. This type of agent supplies services to name, address and locate agents in a multi-agent system. With a router, agents do not have to know other agents’ addresses nor how to communicate with them. These tasks are under the responsibility of the router that works as a communication bridge among the agents linked to it.The communication protocol used for agent communication in AgeODE is KQML (Knowledge Query and Manipulation Language) [13], since JAT Lite already adopts this language. KQML messages in AgeODE, as in JAT Lite, are implemented in the following way: each message is a structure that has several fields of the string type, one for each parameter of the message. To compose a KQML message, an agent should fill out the corresponding fields and send it. When receiving a message from another agent, the receiver agent interprets it according to the guidelines of KQML.Being a generic infrastructure for agent development, JAT Lite does not define other classes of agents; it only separates them into clients and server. However, in the context of SEEs, it is interesting to provide a basic set of agent classes including features that are useful in several situations in a SEE. Thus, four classes of client agents were proposed for AgeODE, as shown in Figure 2.Interface Agents (InterfaceAg) aim to offer to SEE’s users a friendlier interface, with proactive characteristics. An Interface Agent detects the users’ actions when using an interface of the environment (or of one of its tools), and based on that, they act.An User Agent (UserAg) uses the knowledge that it has about a certain user to support him on performing his tasks. It should be able to establish the user’s profile, looking for relevant features of the user. An user agent typically interacts with the user that it represents, and aids him to do tasks and to make decisions.Information Agents (InformationAg) are responsible for performing some system functionality. Its main task is to look for information and to accomplish tasks inside the SEE.Finally, the Coordinator Agent (CoordinatorAg) aims to coordinate the tasks being executed at a given moment by a set of agents in the SEE. For such, it should be able to distribute tasks to agents, to consolidate results of tasks, to retrieve information from one or more dispersed agents in the society, and to know the agents (and their specific capabilities/abilities) that are under its coordination domain.Figure 2 - Agent Classes in AgeODE.Since a concrete client agent for an ODE’s application can be of several types, there are also interfaces associated to the client agent types of AgeODE. This way, if an agent has features of both an Interface Agent and an User Agent, then it can be implemented, for example, inheriting from the InterfaceAg class and realizing the UserAgInterface interface.Finally, it is worthwhile to point out that, because an Interface Agent has to capture events from the SEE’s user interfaces (UI), we need to establish a way to agents monitor these UIs. In AgeODE, it is done by observer objects that are associated to interface agents. Since agents and the SEE are isolated computational processes, we decided to designate to observer objects the responsibility for monitoring UI events. Observers run in the SEE and intercept UI events, sending via sockets, messages to its corresponding Interface Agent that becomes aware about the user’s actions and acts properly. This way, observers act as the Interface Agent’s perception mechanism in the environment, capturing UI events in a way that the agents and the SEE are actually implemented as separated computational processes.Using AgeODE, two aspects of the agent integration problem (P1 and P2) listed in section 3 were treated. But, we also need to deal with the other two aspects (P3 and P4). To do that, we established a multi-agent system (MAS) basic architecture for knowledge delivery in ODE, which is discussed next.5. A MAS for Knowledge Delivery in ODEAs previously mentioned, in ODE, knowledge delivery is implemented using agents. Each tool with knowledge delivery facilities must have an agent or a MAS acting in it (P4). Also, there must be some general agents that are useful for all the tools (P3). To deal with these requirements, we proposed a MAS general architecture for knowledge delivery that consists of three general agents, besides the tool specific agents: the Personal Assistant Agent, the ODE’s Router Agent, and the Similar Project Identifier Agent.The Personal Assistant Agent (PersonalAssistantAg) accompanies an ODE’s user since the moment he accesses the environment until the moment he leaves it. This agent knows the software process, and the tools that can be used in each one of its activities. Moreover, it knows the user, and establishes his profile in the environment, allowing the user to access the tools that he was using the last time he used ODE. This agent also knows the specific agents of each tool, if they exist, and it is responsible for starting these agents when a tool is initiated. PersonalAssistantAg is implemented inheriting from AgeODE’s InterfaceAg class and realizing UserAgInterface and CoordinatorAgInterface.The ODE’s Router Agent (ODERouterAg) is responsible for agent communication in ODE. As discussed before, communication between agents in AgeODE requires a Router Agent. This is the role of ODERouterAg, which inherits from RouterAg.Finally, since in KM, in general, it is very important to identify similar past projects to present relevant knowledge items, there is an agent, called Similar Project Identifier Agent (SimilarProjectIdAg), which is responsible for identifying similar projects to a given one. It is a subtype of AgeODE’s InformationAg, and all agents that need to know about similar projects must interact with it.Beyond these three agents, each tool with knowledge delivery services has to have its own agent or MAS, according to the complexity of the task being supported. When a MAS is necessary, one of its agents must be a Coordinator Agent. This coordinator is responsible for coordinating the tool’s internal agents, and also for interacting with the PersonalAssistantAg and with the SimilarProjectIdAg.observerThis approach was followed to reengineer the knowledge delivery services of two ODE’s tools: human resource allocation and risk management, as shown in Figure 3. The first one has only one agent acting in it, since the task is relatively simple. The second has a MAS embedded in it, because it supports a more complex activity that, in fact, is decomposed into sub-activities with some complexity.Dissemination.In the Human Resource Allocation Tool, the Human Resource Allocation Agent (HRAllocationAg) supports the task of allocating human resource to project activities. This agent suggests the resources to be allocated for a specific activity, based on the project team, the competencies of each member and past allocations already done in similar past projects. Because it is responsible for aiding to perform a task, it is an InformationAg. But it has also to monitor the tool’s interface. Then, it realizes the UserAgInterface. The complexity involved in this task is not so high and, then, only an agent acts in this tool. This agent interacts with the PersonalAssistantAg, and since it uses similar past projects to give its suggestions, it also interacts with the SimilarProjectIdAg.To support knowledge delivery in risk management, there is a MAS composed of four agents, as shown in Figure 3. This MAS is embedded in GeRis, the ODE’s risk management tool [11]. GeRis supports a risk management process composed of the following activities [11]: (i) risk identification - attempts to establish risks to the project; (ii) risk analysis - concerns analyzing the identified risks, estimating probability of occurrence and impact; (iii) risk assessment - aims to rank the identified risks and to establish priorities; (iv) action planning - concerns planning mitigation and contingency actions for the managed risks; and (v) risk monitoring - consists of redoing the activities above as the project proceeds.In GeRis’ MAS, agents were designed to support specific activities of the risk management process. The Risk Identifier Agent (RiskIdAg) acts during risk identification. It suggests which risks should be identified for the project, based on similar past projects. The Risk Assessor Agent (RiskAssessorAg) acts during risk analysis and evaluation. It supports the assessment of risks impact and probability, and also supports the definition of which risks should be managed in the project. In both cases, this agent uses information of similar past projects. At last, the Action Adviser Agent (ActionAdviserAg) acts in action planning. It suggests contingency and mitigation actions to be taken to treat risks, also based on similar past projects. All these agents (RiskIdAg, RiskAssessorAg and ActionAdviserAg) are Information Agents.Since we have a MAS acting in risk management, we need a coordinator agent to coordinate their actions. This is the role of the Risk Manager Agent (RiskManagerAg), which is a CoordinatorAg. It is considered the main agent of the risk management tool and the only one in this tool that is known by the PersonalAssistantAg. When GeRis is initiated, the PersonalAssistantAg starts this agent. It is, in turn, responsible for starting the other risk management agents based on the activity of the risk management process that the user is performing. To do that, it has to monitor GeRis’ UI, and then, it also realizes the UserAgInterface. Moreover, since all the other agents need information about similar past project, the RiskManagerAg interacts with the SimilarProjectIdAg, capturing the past projects that are similar to the current being performed.The agent-based knowledge delivery approach applied in these two tools reflects the general approach defined to implement knowledge delivery in ODE. Every tool in which we want to implement knowledge delivery facilities needs to have an agent or a MAS associated to it. If the activity being supported by the tool is complex, a MAS is preferred. In this case, we always need to have a coordinator agent as the tool’s main agent, and the Personal Assistant Agent has only to know it.Finally, we should highlight that this approach is strongly supported by AgeODE. Each agent class is implemented as one of the agent types defined in it, and sometimes realizes another agent type interface.6. Related WorkThere are several works in the literature describing the use of agents for knowledge management (KM) (see [14]), and some approaches for integrating KM and PSEE, some of them exploring knowledge delivery. However, we did not find an approach exploring thesynergy between agents, KM and PSEE. Let’s examine some work done in integrating KM and PSEE.Santos et al. [15] explores the concept of Enterprise-Oriented SEE (EOSEE), matching KM with PSEE. As ODE, EOSEEs are based on ontologies. But Santos et al. say nothing about knowledge delivery.Holz [4] attacks the problem of delivering knowledge in software organizations by means of an approach that represents recurrent information needs associated with appropriate software process assets, and retrieves the information in a two-phase, interactive retrieval model. This approach was implemented in a system called PRIME, which was coupled with the MILOS PSEE. As in ODE, PRIME provides developers with relevant information. The main difference is that in PRIME, a list of pre-defined information needs is presented, and, from this list, developers can choose one, and trigger an automatic retrieval of information. In ODE, agents try to capture this information needs and notify the user that they have some useful knowledge items or suggestions. As in PRIME, ODE’s users are free to inspect or not the items suggested.7. ConclusionsFor the successful enactment of software processes, it is essential that developers are provided just-in-time with knowledge items that are relevant and useful for their current tasks [4]. Thus, knowledge delivery is becoming more and more important. In this paper, we presented an agent-based approach used to integrate knowledge delivery facilities into ODE, a Process-centered SEE. This approach consists of developing specific agents to deal with the information needs of activities of the software process. Also an infrastructure for building agents embedded in the environment, called AgeODE, was developed in order to deal with agent integration in ODE.Although ODE is being used in a software house, we do not perform a deep evaluation of the appropriateness of the support being provided by the agents yet. The initial results regarding the use of the tools with knowledge delivery support are promising. But we expect that, based on the users’ feedback, we can refine the agents’ behavior in order to better support those activities. AcknowledgmentsThis work was accomplished with the support of CNPq, an entity of the Brazilian Government reverted to scientific and technological development. References[1] O’Leary, D.E., “Enterprise Knowledge Management”, IEEEComputer, 54-61, March 1998.[2] A.C.C. Natali, R.A. Falbo, “Knowledge Management inSoftware Engineering Environments”, In: Proceedings ofthe XVI Brazilian Symposium on Software Engineering -SBES'2002, 238-253, Gramado, Brazil, October 2002.[3] S. Henninger, “Using Software Process to Support LearningSoftware Organizations”, in Proceedings of the Workshopon Learning Software Organizations – LSO’1999, 99-114,Kaiserslautern, Germany, June 1999.[4] H. Holz, Process-Based Knowledge Management Supportfor Software Engineering, Doctoral Dissertation, Universityof Kaiserslautern, dissertation.de Online-Press, 2003.[5] R.A. Falbo, D.O. Arantes, A.C.C. Natali, “IntegratingKnowledge Management and Groupware in a SoftwareDevelopment Environment”, in Proc. of the 5thInternational Conference on Practical Aspects of Knowledge Management, 94-105, Vienna, Austria, 2004. [6] I. Rus, M. Lindvall, “Knowledge Management in SoftwareEngineering”, IEEE Software, 26-38, May/June 2002.[7] S. Arbaoui, J.C. Derniame, F. Oquendo, H. Verjus, “AComparative Review of Process-Centered Software Engineering Environments”, Annals of Software Engineering 14, 311-340, 2002.[8] G. Fischer, J Ostwald, “Knowledge Management: Problems,Promises, Realities, and Challenges”, IEEE Intelligent Systems, 60-72, January/February 2001.[9] A. Abecker, et alli, “Towards a Technology forOrganizational Memories”, IEEE Intelligent Systems, 40-48, May/June 1998.[10] R.A. Falbo, A.C.C. Natali, P.G. Mian, G. Bertollo, F.B.Ruy, “ODE: Ontology-based software Development Environment”, in Proc. IX Argentine Congress on Computer Science, 1124-1135, La Plata, Argentina, 2003. [11] R.A. Falbo, F.B. Ruy, G. Bertollo, D.F. Togneri, “LearningHow to Manage Risks Using Organizational Knowledge”,Advances in Learning Software Organizations, Melnik G.and Holz, H. (Eds.): LNCS 3096, 7-18, 2004.[12] H. Jeon, C. Petrie, M.R. Cutkosky, “JATLite: A Java AgentInfrastructure with Message Routing”. IEEE Internet Computing, March /April 2000.[13] T. Finin, Y. Labrou, J. Mayfield, “KQML as an agentcommunication language”, Proceedings of the 3rdInternational Conference on Information and KnowledgeManagement (CIKM94), ACM Press, December 1994. [14] V. Dignum, “An Overview of Agents in KnowledgeManagement”, Institute of Information and Computing Sciences, Utrecht University, technical report UU-CS-2004-017, 2004.[15] G. Santos, K. Villela, L. Schnaider, A.R. Rocha, G.H.Travassos, “Building Ontology-based Tools for a SoftwareDevelopment Environment”, Advances in Learning Software Organizations, Melnik G. and Holz, H. (Eds.):LNCS 3096, 19-30, 2004.。

基于Multi—Agent的总承包工程项目供应链信息协同机制研究

基于Multi—Agent的总承包工程项目供应链信息协同机制研究

关 键 词 :总承 包 工程 ;Mu i aet系统 ; 黑板 模 型 ;协 同机 制 l — gn t 中图分类号 :T 33 :F4 P9 72 文献标 识码 :A 文章编号 :10 00—79 (0 2 7— 16— 3 6 5 2 1 )1 0 4 0
I or a i n Sy r e i e ha s fGe r lCo r ci n tuc i n nf m to ne g tc M c nim o ne a nt a tng Co s r to
图 1 黑 板 模 型 示 意 图
“ 板模 型 ” 是 一 种典 型而 流 行 的专 家 系 统 结 黑 构 模 式 ,最 早 由美 国 C rei an g e—Me o l n大 学 开 发 的 l HE R A A S Y—U系统 中创立 ,后 来 被 许 多 系 统 所 效仿 和采 用 。黑板 模 型 由知 识 源 、黑 板 和 监 控 机 制 三个 基 本 部分 构 成 ,如 图 1所 示 _ 。黑 板 是 共 享 的 问题 9 求 解 工作 空 间 ,包 含存 储 数 据 、传 递 信 息 与处 理 方 法 的动 态 数 据 库 。一 般 按 照 层 次 结 构 的 方 式 组 织 , 在 问题 求 解 过 程 中 ,知 识 源 之 间 的交 互 与 通 讯 通 过 黑 板 进行 。所 谓 知识 源是 指 一 个 知 识 模 块 。 黑 板 结 构 中具 有 多 个 知 识 源 ,每 一 知 识 源 由条 件 部 分 和 动 作 部分 组 成 ,可 以完 成 某 些 特定 的解 题 功 能 。条 件 旦满 足 ,知 识 源 就 会 触 发 ,其 动 作 部 分 增 加 或 修 改 黑板 的记 录 。 由监 督 程 序 和 调 度 程 序 组 成 的监 控 机 制是 黑板 模 型求 解 问题 的 推理 机 构 。监 督 程 序 时 刻 注视着 黑 板 状 态 ,根 据 黑 板 信 息 的状 态 变 化 ,监 督程 序采 用 某 种 策 略选 择 合 适 的知 识 源 ,将 其 条 件 部分 放人 调 度 队列 ,随 后 ,若 条 件 部 分 与 黑 板 状 态 匹 配成 功 ,则 将 其 动 作 部 分 放 人 调 度 队列 。而 动 作

Experience paper Implementing a Multi-Agent Architecture for Cooperative Software Engineeri

Experience paper Implementing a Multi-Agent Architecture for Cooperative Software Engineeri

Experience paper:Implementing a Multi-Agent Architecturefor Cooperative Software EngineeringAlf Inge WangJanuary17,2000AbstractThe paper describes experiences we have earned from implementing a multi-agent architecture used to support cooperative software engineering.Before start-ing to implement a multi-agent architecture,important decisions and considerationsmust be taken into account.You have to decide how to provide efficient inter-agentcommunication support,what language should the agents talk,should the agents bestationary or mobile,and what technology should be used to build the architecture.This paper describes how we implemented our multi-agent system,and the experi-ences we gained from building it.Keywords:Cooperative Software Engineering,Agents,Multi-agent system,KQML, XML,Aglets,JATLite,CORBA.1IntroductionThe last couple of years,distributed computing and agent technology have become more and more popular.When researchers are developing prototypes,the choice of tech-nologies and how to use different technologies is getting more and more complicated. This paper describes experiences from designing and implementing a Multi-Agent Sys-tem(MAS)that provides support for Cooperative Software Engineering(CSE).CSE is a research area where focus is on how to support participants in cooperative processes working in distributed organisations.In our MAS,agents are used to provide support for cooperative processes as coordination and negotiation.The agents communicate through a defined language,and the MAS offers the infrastructure for the agents to talk to each other as well as to users.Before we started to implement a multi-agent system,a theoretical study on distributed architectures and agent technologies was conducted by JoarØyen,a diploma student at the Department of Computer Science at the Norwegian University of Science and Tech-nology.The outcome of this study was a report[18]that gave us guidelines for building a multi-agent architecture.We have used these guidelines as a starting point for our imple-mentation.We have been searching for related work that focuses on experiences from implementing multi-agent system using different types of technology.It seams like there is nothing or at least very little published covering these issues.There are a lot of publications on high-level descriptions of multi-agent architectures,such as[3,9,2],but details about technology used or experiences from implementing these systems are left out.We have used the multi-agent paradigm to implement our system,but there are alter-native approaches.JavaSpaces[12]based on Java RMI and JINI,recently introduced by SUN,provide an alternative approach for exchanging distributed objects.JavaSpaces technology is a unified mechanism for dynamic communication,coordination,and shar-ing of objects between Java technology-based network resources like clients and servers.A JavaSpace is a virtual space between providers and requesters of network resources or objects.This allows participants in a distributed solution to exchange tasks,requests, and information in the form of Java technology-based objects.There are four primary operations you can invoke on a JavaSpace:1.write Write an entry into a JavaSpace2.read Read an entry from a JavaSpace that matches some specified parameters3.take Read an entry from a JavaSpace that matches some specified parameters,andremove it from this space4.notify Notify a specified object when entries that match some specified parametersare written into this JavaSpaceAn entry is in JavaSpace terminology a typed group of objects,expressed in a class for the Java platform.JavaSpace technology offers much of the same functionality as multi-agent systems as movement of objects,message handling,sharing of objects,etc.Maybe the most useful functionality in this respect,is the support for searching for objects with certain properties.The rest of the paper is organised as following.Section2briefly describes the architecture we wanted to build and what components the architecture consists of.A scenario is also presented to show how the prototype can be used.Section3outlines the requirements to the technology to be used to implement our architecture.Section4describes technolog-ical guidelines to be followed when implementing a multi-agent architecture.Section5, describes experiences we have achieved from implementing a multi-agent architecture in two versions DIAS I and DIAS II.Section6concludes the paper.2CAGIS Multi-Agent Architecture for Cooperative Soft-ware EngineeringThis section is a short introduction to the CAGIS1Multi-Agent Architecture for Coop-erative Software Engineering.This is an architecture that uses agents to represent co-operative participants in a cooperative effort and supports coordination,negotiation and communication of agents.A more detailed description of this architecture can be found in[16].2.1CAGIS Multi-Agent Architecture componentsSoftware agents are useful for supporting cooperative activities,since software agents can act as human agents on behalf of humans.Our architecture uses this property of software agents to model data-and controlflow,which can be used to implement a self-optimising or self-improving process.The main components in this architecture are agents,workspaces,Agent Meeting Place(AMP)and repositories:Agent A piece of autonomous software created by and acting on behalf of a user.The agent is set up to achieve a modest goal,with the characteristics of autonomy, interaction,reactivity to the environment,as well as pro-activeness.Agents are grouped into three main groups.Thefirst group,System agents,are used to execute administrative tasks of the multi-agent architecture.This can be to monitor human and software agent activity,deal with repositories and managing AMPs(see the third point).The second group,Local agents,assist users in work within local workspaces.The last and most important agent group,Interaction agents,help users in their cooperative work(coordination,negotiation,communication).Note that mediation agents are also provided to suggest solutions for locked negotiation processes based on prior experiences.Workspace(WS)A temporary container for relevant data in a suitable format, together with the processing tools.Workspaces can be private as well as shared.Agent Meeting Place(AMP)AMPs are where software agents meet and interact.AMPs are built on underlying communication mechanisms,but provide agents with more intelligent means to facilitate their interaction.An AMP can also work as a market place where agents can“trade”information and services.The main purpose of the AMP is to facilitate cooperative support for software agents.Repository A persistent storage of data that can be local,global or distributed.Repositories can be accessed either by tools or by agents.One specific repository is very important in the CAGIS multi-agent architecture;the experience base.An experience base can be used as the community memory,and a mediator agent can utilise prior stored experiences to solve negotiation conflicts.Next subsection will give an example of how the CAGIS multi-agent architecture can be used.2.2Example of a multi-agent architectureFigure1shows how the CAGIS multi-agent architecture can be used in a simplified soft-ware development scenario.This example describes a coordinated software development process involving multiple departments of an organisation.Each department is repre-sented by a workspace2,and an AMP is used as a place where the departments can coop-erate through software agents.Figure1:An example of an agent architecture applicationThis scenario demonstrates how it is possible to support a situation where limited human resources in the development department cause trouble for a Maintenance planning de-partment and an Update/release planning department.Both departments are competing for human resources in the Development department,because the two departments want to serve request and complaints from customers,and to improve the software product respectively.If a negotiation process between for instance Maintenance planning and Update/release planning takes to much time,the mediator agent(shown infigure1)will break into the negotiation process to make an agreement.The mediator agent can base its judgement on experiences from prior projects(e.g.,we lost a lost the biggest customer because of too many bugs in the product last year),on company guidelines or through interaction with the company’s management.In the suggested solution,workspaces are places where humans and agents communicate and share information and tools.AMPs are also places,but they are indented to be virtual markets where agents meet and interact to facilitate cooperative support for applications and users.In addition,repositories are special places where information and knowledge can be permanently stored and later retrieved.3Requirements to the technology to be usedThis section will outline the implementation requirements for the multi-agent architecture described in section2.These are the requirements for a prototype of the system and not requirements for a full-fledged system.The requirements given in this section should be quite general,and should also be applicable to most multi-agent systems supporting mobile agents.3.1General requirementsThe overall goal of the proposed CAGIS multi-agent architecture was to beflexible and tailorable to many different needs.The main requirement is therefore an open architecture that can evolve together with the real world it is supposed to support.Since a prototype of the architecture will be built in a short period of time,it is important that the cost of the implementation is kept at a minimum,that is free and proven technolo-gies should be used whenever appropriate.This means that the solution must be feasible today.Performance is not important for this prototype architecture.3.2System infrastructureThe organisations that the CAGIS multi-agent systems are intended to support,are in-herently distributed,a heterogeneous environment,and are continually changing.The infrastructure that is going to be the foundation of the system must thus define an open,flexible,and malleable environment,which encompasses hardware platforms,operating systems and networks.A run-time environment to implement workspaces and AMPs must be provided by the infrastructure.Such an environment must provide a number of services to its inhabitants. Name registration and service advertising allows agents to be aware about each other’s properties.In addition,event mechanisms will allow monitoring agents to register their interest in specific events.3.3Agent implementation and configurationAgain,an open multi-platform solution is required.This includes the ability to ship binary executables between different platforms,so that the agents can be mobile.Agents are going to be built by experts,but it must be possible to tailor agents to the specific needs of the different users.Some sort of agent scripting or agent configuration is therefore required to let usersfine-tune their system.3.4Agent communicationTo be able for agents to communicate,we need a format to represent information,as well as some conversation policies on how agents communicate.The architecture also requires facilities for users to communicate with agents,and agents access to external entities like repositories,workspaces,tools,AMPs etc..The basic communication mechanisms(streams,messages,events,etc.)are provided by the underlying system infrastructure,and the communication mechanisms uses these ser-vices to provide more high-level facilities for inter-agent communication.First,agents must be able to communicate with each other in a language that all involved parties un-derstand(not only syntax of the language,but also semantics and pragmatics of the con-versation).Second,agents must collaborate with each other to reach common goals.This collaboration is controlled by process models that agents must interpret.Third,agents also need mechanisms for coordination and negotiation to handle many common situa-tions.Coordination mechanisms can be used to control the concurrency between multiple agents and to exchange instructions that tell agents what to do.The system should provide a negotiation model with a defined context and multiple negotiation strategies.Agents are thus given the possibility tofind out what is negotiated for and to select an appropriate strategy to use.3.5Knowledge sharingCommunication mechanisms like coordination and negotiation operate in a cooperative context and do therefore need to share common goals.The common goals represent some form of group awareness or community memory,and are contained in a work context that consists of information resources and control structures.Common information can be stored in three different places in the architecture:1.In repositories The main part of knowledge is contained in repositories.2.In AMPs Meta-information about agents are contained in the AMPs,but the actualinformation is contained inside the agents themselves.3.In agents Agents may be used as information carriers of process information andresults.The most important common requirement is however that information is stored in a for-mally defined format that makes it accessible by agents.3.6Design proposal for the prototypeFigure 2shows an overall design proposal for how the prototype should be structured.We have used a multi-tier architecture based on the agent,places,and things paradigm.The lower part of the figure (component infrastructure and agent infrastructure)will define a foundation,based on available standard implementations,which will provide function-ality and services to the prototype of the multi-agent architecture.In the shown archi-tecture,the facilitators are central components both in workspace and AMP.Facilitators simplify the implementation of agent communication and the coordinator,moderator,and monitor-components.The reason for this is that the interaction between various entities can be controlled from one central point.The drawback with this solution is of course that the facilitators might become bottlenecks of the system.M u l t i −a g e n t a r c h i t e c t u r e A g e n t i n f r a s t r u c t u r ee Java and Java IDL[13]as the component infrastructure because(1)Javaprovides code portability,garbage collection,object-orientation,(2)Java is a broadly accepted standard,(3)Free implementation is available now,(4)Many agent-related technologies are closely associated to Java.e the facilitators in the design architecture to implement the trader,event,lifecycle,and relationship services as needed.By choosing Java IDL for the component infrastructure,we have to use this CORBA implementation for the rest of the system as well.This gives us a major drawback,because Java IDL only provides the naming service of the CORBA services shown infigure2.Since the design shown infigure2has several services that are not supported in Java IDL, these services must be developed in Java if required.These services can be replaces, if Java IDL will offer them in the future.e Aglets to implement the mobility support for the agents.Mobility supportshould ideally be implemented by OMG’s Mobile Agent Facility,but due to the fact that this standard is under construction,Aglets will be recommended instead3.Aglets[10,14,11]are Java objects,developed at IBM’s Research Laboratory that can move from one host on a computer network to another.Aglets servers provide distribution of aglets to aglets viewers.The viewers are the users graphical interface to the aglets.From this interface the users can create,activate,dispatch,and retract agents.Using Aglets should provide an easy transition to the Mobile Agent Facility later, because Aglets are one technology that is used as a basis for the Mobile Agent Facility.Another advantage with the Aglets-technology is that user-interfaces for controlling the operation of the agents are provided as a part of the technology.e KQML and JATLite for agent communication and as a foundation for im-plementing workspaces and AMP.The Java Agent Template Lite(JATLite)[8] is a technology that provides a Java implementation that lets agents communicate with each other,possibly by using Knowledge Query and Manipulation Language (KQML).We recommend using KQML[4]as the agent communication language, because it is an extensible standard that has many of the advantageous features that an agent communication language should have.JATLite is also a technology that can be used to implement workspaces and AMPs,because each JATLite-router defines an environment that facilitate the administration of and communication be-tween a group of related agents.e XML to represent information and work-products in the architecture.eX-tensible Markup Language(XML)[7]does not put any restrictions on the format of the information is shall represent.Also tools to support XML are available in Java. How the recommended technologies are used to implement the various parts of the design architecture is illustrated in3.Figure3:Implementation of the design architectureIt must be noted thatfigure3only loosely denoted where the various technologies should be used,and more experience is needed to decide exactly which of the technologies that are best in the specific situations.5Experiences from implementing a MAS based on the guidelinesThe implementation of our multi-agent architecture is named Distributed Intelligent Agent System(DIAS).We have implemented two versions DIAS namely DIAS I and DIAS II. Both implementations were developed by last year students at the Dept.of Computer and Information Science at the Norwegian University of Science and Technology.This section describes the work they have done and experiences from this work.5.1DIAS ISpring1999,four students used about1000hours to make thefirst version of the im-plementation of our multi-agent architecture[15].These students were skilled in Java-programming and XML.However,the area of programming agents and implementing a multi-agent system was totally new to them.DIAS I used the requirements to technol-ogy(described in section3)and technological guidelines(described in section4)as a starting-point for the prototype.5.1.1Choice of technologyWe discovered that not everything from section3and4could be used directly when implementing the system.Thefirst problem we encountered was how to combine JATLite and Aglets into one implementation.JATLite was well suited to implement facilitators for workspaces,AMPs and generally for agent communication.Unfortunately,JATLite does not support mobile agents.Since we wanted to have support for mobile agents,we needed tofind a way of making JATLite mobile.The Aglets framework was suggested to be used to support mobility,but then we had to integrate JATLite with Aglets.We found that this was not an easy task.We chose to use Aglets as the main implementing standard for agents and agent communication,and just to use parts of the KQML layer in JATLite. This solution makes it possible to use mobile agents in all parts of the architecture.It was possible to use parts of JATLite because JATLite is open-source.The parts missing in Aglets compared to JATLite was quite easy to implement using the functionality found in Aglets.Another reason for using Aglets was that the documentation was better than JATLite.The requirements to technology and technology guidelines suggested that we should use CORBA(Java IDL)as the communication bus in our architecture.When we worked with thefirst DIAS-project,the mobility support over the ORB was not possible because the standardisation Mobile Agent System Interoperability Facility(MASIF)was not approved yet by the OMG.Since we wanted to keep the mobility support for agents,Aglets was chosen for communication over TCP/IP.Aglets was chosen because Aglets was one of the agent languages that MASIF is based on.This should make the transition to MASIF easier on a later stage.KQML was recommended as communication language for our architecture.Since KQML is the most used standard for agent communication,we chose to use KQML for our imple-mentation.Parts of the KQML layer in JATLite were used to give the architecture KQML support.Since the content in a KQML message can be whatever wanted,the designer is free to choose the representation format of the content of a KQML message.XML is a good choice when the knowledge is going to be stored in a web-server or in afile-system.It is also possible to use another format for knowledge representation,but for our prototype we chose XML.XML has also become a well know standard for information representation.5.1.2Experiences of useAlthough thefirst version of DIAS was not very advanced,the architecture was sufficient to demonstrate parts of the scenario described in section2.2.Negotiation agents for the groups Maintenance planning and Update/release planning used to negotiate about lim-ited human resources were implemented.The experiment showed that such negotiation processes were supported in our architecture through negotiation agents and an Agent Meeting Place.The agents were able to move between workspaces and the AMP,and they were able to communicate using KQML as a communication language.The follow-ing KQML performatives were using in our agent-language(these performatives were sufficient at least to demonstrate our scenario):ask-if Sender wants to know if the sentence is in the Virtual Knowledge Base (VKB)of the receiver.insert The sender asks the receiver to add content to its VKB.register The sender can deliver performatives to some named agents.tell The sentence is in the VKG of the sender.unregister A deny of a register performative.untell The sentence is not in the VKG of the sender.XML was used to represent the contents of KQML-message.We found some shortcomings with the DIAS I implementation.First,it was rather hard to implement new agents.The reason for this was that in order to implement your own agent,you had to know how the Aglets framework works.The DIAS I implementation did not manage to provide a high-level agent-API,so the agent-programmer did not need not be concerned about the low-level technological issues in Aglets.Because of this,it was very hard to use the architecture to create support for various scenarios.Second, the implementation was lacking of high-level support for inter-agent communication and inter-AMP communication.The latter meant that to support several AMPs,the program-mer of the agents had to hard-code how to deal with the different AMPs and agents.This was not desirable.Third,the DIAS I implementation did not provide support for inte-grating the multi-agent system with other systems.Because of the shortcomings described above,we decided to continue with a DIAS II project(see next section)5.2DIAS IIAfterfinishing implementing DIAS I,two students continued the DIAS project as diploma thesis’s,and spent about1000hours to extend the original implementation to DIAS II[6]. The DIAS II project focused on making the original DIAS implementation better.The fol-lowing problems were addressed:agent security,integration with other systems through CORBA,and making a higher-level agent API.5.2.1Choice of technologyIn thefirst version of the DIAS implementation(developed in Java JDK1.1),agent secu-rity was not addressed at all.In JDK1.2,the enhanced security model forfine-grained resource access has been added.Because of this,JDK1.2would be a natural choice for DIAS II.Unfortunately,the Aglet Software Development Kit,ASDK1.1does not sup-port JDK1.2.This meant that we had to abandon the new security features in JDK1.2if we would like to keep Aglets to support mobility.By comparison,we found that ASDK actually had almost the same security features as in JDK1.2included,so we chose to use JDK1.1.Since we wanted to add possibility to integrate our multi-agent system with other systems, CORBA support was needed for our architecture.One way of giving our architecture CORBA support was to change Aglets with other mobile agent implementations support-ing CORBA.Both Odyssey[17]and V oyager[5]supports CORBA had provide interest-ing functionality for distributed systems and interoperability between different commu-nication facilities.Another alternative was to continue using Aglets and to implement CORBA support into it.We chose to do this,because it required less work and the Aglets implementation have better support for security.OrbixWeb[1]was used as a CORBA implementation,because of its functionality and availability at the University.External systems can now communicate with our multi-agent systems in the Agent Meeting Places with CORBA support.The CORBA support is implemented according to OMG’s Mobile Agent System Interoperability Facility(MASIF).MASIF is a standard to make it possi-ble for interoperability between various multi agent systems,and have four areas that are standardised:Agent management,Agent transfer,Agent and agent system names,and Agent system type and location syntax.The rest of the implementation of DIAS II uses the same technology as in DIAS I.5.2.2Experiences of useThe agent-API for DIAS II is totally different compared to thefirst version of DIAS.For thefirst version,you had to write low-level Aglets-code to make an agent.In DIAS II, you don’t have to know that the architectures use Aglets technology at all.No knowledge of Aglets is needed,and the following areas are covered with high-level methods in the agent API:Create/kill agent These methods are called when creating new agents or when you want to kill an agent.Agents will be moved back to where they were created before it will be killed.Note that agents can also be cloned.Message handling Methods for sending/receiving KQML messages to/from other agents.The architecture will take care of sending messages to the correct receiver.The sender will always receive a acknowledgement when the receiver has received the message.Register/unregister agents These methods are used to register/unregister agents in AMPs.Move agents Methods for moving an agent to another AMP.If an agent cannot find what he is looking for in an AMP,the AMP can suggest the agent to move to another AMP.Information queries Various methods offer the agents the possibility to ask AMPs for information about what agents are connected,what type of ontology is used, what properties have other agents etc.Another major change of the architecture is how agents communicate,and how AMPs can communicate.In DIAS I you had to explicitly state how the communication betweenagents should be performed.In DIAS II,the system takes care of looking for agents, using advanced communication agents.Agents are located according to agent ID number, AMPs ID number or/and ontology of AMPs.If for instance neither the agent ID number or AMPs ID number is know,the ontology is used tofind a matching agent.6ConclusionImplementing a multi-agent system is not an easy task.The technologies available,makes it easier to build robust systems in rather short time.It is however important to know what technologies are available and what to choose before starting building a multi-agent system.It is also important to know what technologies are possible to combine,before starting on the work.Our experience with building a multi-agent system is that you should use the standards available when ing OMG’s MASIF standard will make it possible for a system to communicate with other multi-agent systems as well to other applications through CORBA.KQML is the most widely used agent communication lan-guage used,and makes it possible for agents on different systems to communicate.XML offers a convenient information wrapping that is useful for different purposes in an multi-agent system,as information/knowledge representation,small repositories ing Java as the programming language,makes it possible for the system to run in an heterogeneous environment,and most agent standard implementations as well as XML tools are imple-mented in Java as well.We are now using our CAGIS multi-agent architecture for cooperative software engineer-ing to make support for various scenarios.In doing this,we want to see how general our architecture is and recognise the shortcomings of our architecture.We are also consider-ing technology as for instance JavaSpaces to implement DIAS III.7AcknowledgementWe will give a big thank to JoarØyen who has provided us with in-depth information about distributed technology in theory and in practise.We would also like to thank Geir Presteg˚a rd,Snorre Brandstadmoen,Anders Aas Hanssen,and B˚a rd Smidsrød Nymoen for implementing DIAS I.Anders Aas Hanssen and B˚a rd Smidsrød Nymoen were also responsible for the DIAS II implementation.References[1]Sean Baker.CORBA Distributed Objects-Using Orbix.ACM press and Addision-Wesley,1997.ISBN0-201-92475-7.[2]Frances Brazier,Pascal van Eck,and Jan Treur.Modelling Competitive Co-operation of Agents in a Compositional Multi-Agent Framework.International。

multi-agent consensus理解

multi-agent consensus理解

multi-agent consensus理解Multi-agent consensus refers to the process of a group of autonomous agents working together to reach an agreement or a common decision. It involves the exchange of information, coordination, and cooperation among agents to achieve a desired outcome.In multi-agent consensus, each agent has its own objective and knowledge about the environment. They make decisions based on their local information and interact with other agents to achieve a consensus. The goal is to reach an agreement that is acceptable to all agents, even if their individual preferences may differ.There are various algorithms and protocols that can be used for multi-agent consensus. One commonly used algorithm is the consensus algorithm, which aims to minimize the difference between the agents' states or decisions. This means that the agents adjust their states or decisions based on the information received from other agents until a consensus is reached.The process of multi-agent consensus can be challenging due to the complex nature of interactions and the potential for conflicting objectives. Agents may have different priorities, constraints, or preferences, which can lead to disagreements. In such cases, negotiation and bargaining techniques can be employed to find a compromise or a middle ground.Multi-agent consensus has applications in various domains, including robotics, distributed control systems, and social networks. In robotics, for example, multiple robots may need to cooperate to perform tasks like exploration or mapping. Consensus algorithms help the robots to coordinate their actions and make collective decisions.In distributed control systems, multi-agent consensus enables efficient and reliable operation of large-scale systems with multiple interconnected components. It ensures that all components are synchronized and working towards a common goal. This is particularly important in critical infrastructures like smart grids or transportation networks.In social networks, multi-agent consensus can facilitate decision-making processes among a group of individuals with different preferences or opinions. By reaching a consensus, a group can make a collective decision that reflects the majority opinion or the best outcome for everyone involved.In conclusion, multi-agent consensus is a process where autonomous agents work together to reach an agreement or a common decision. It involves exchanging information, coordinating actions, and finding compromises to achieve a consensus. This concept has applications in various domains and can help in solving complex problems that require the cooperation of multiple agents.。

An Architecture for Multi-Agent COTS Software Integration Systems

An Architecture for Multi-Agent COTS Software Integration Systems

An Architecture for Multi-Agent COTS Software Integration SystemsGuo-Ming Fang, Jim-Min Lin*, Zeng-Wei Hong, and Kai-Yi ChinDepartment of Information Engineering and Computer Science, Feng Chia UniversityTaichung City 40724, Taiwan*jimmy@.twReceived 3January 2007; Revised 25 March 2007; Accepted 31March 2007 mercial Off-The-Shelf (COTS) software products are increasingly used as softwarecomponents in large-scale systems. We had proposed an approach for distributed COTS software integrationby using the concepts of multi-agent system and distributed scripting mechanism. To describe the experiencein the COTS software integration and facilitate the reuse of the software integration procedure, this paperpresents a multi-agent architecture for the COTS software integration systems. This architecture is of a three-layered structure and is described with the Agent UML (AUML). Since the interaction and internalprocessing of agents is clearly described in the proposed architecture, programmers may have a guide to builda software system and implement the protocols and behaviors of agents according to the three-layereddescription. To illustrate the use of the proposed architecture, an example system is also experimented in ourstudy.Keywords:COTS Software Reuse/Integration, Agent UML (AUML), Multi-Agent Distributed ScriptingSystem (MADSS), Software Architecture1 IntroductionSoftware applications are increasingly built with distributed object-oriented technique, such as OMG CORBA [1], Microsoft DCOM [2], and J2EE [3]. These middleware systems [4] provide well-designed component/object models, and well integration mechanisms supporting interfaces to link components/objects together. In addition to the features of an object-oriented system, a multi-agent system could have several advantages, like:1.A software agent has well social ability [5]. An agent could communicate with human users and accept thedelegated tasks. Furthermore, it is also a communicative program that interacts with other programs/agents in speech-acts [6], which means the communication likes human’s talk. A complex task could be completed through the cooperation of software agents.2.A software agent could have mobility. This feature enables a task to be completed remotely. Moreover,some studies [7] have shown that mobile agents could reduce the network traffic in some applications.3.A software agent with intelligent abilities is potentially suitable for handling sophisticated distributedcomputations. Some studies [8] indicated that large-scale systems are becoming more and more complex.The systems might consist of lots of software components that interact with others. Object-oriented software development is not the only efficient paradigm for constructing a large-scale software system.Software agents are actually software objects having autonomy and intelligence. Software agents could have better interaction ability than traditional objects and thus suit for building distributed software systems. Our previous study proposed a multi-agent system, named as Multi-Agent Distributed Scripting System (MADSS) [9], to integrating software applications into a distributed software system. MADSS is aimed to achieve the goal of integrating COTS [10-13] software products or legacy software systems under the distributed heterogeneous environment through the cooperation and interaction of multiple agents. The social ability of agents provides the communication among agents. The mobile agent technology is used to support the remote access. A scripting language was also proposed to help the users to control the behaviors of agents.This paper is a continued work of MADSS project. MADSS did achieve the goal of COTS software integration with multi-agent paradigm, but have only less discussion on how software integration could be achieved by agents’ cooperation. Therefore, the purpose of this paper is to further identify and describe the multi-agent architecture of MADSS. This multi-agent architecture is in a form of 3-layers approach and is represented using AUML (Agent Unified Modeling Language) [14].* Correspondence authorJournal of Computers Vol.18, No.1, April 2007The rest of this paper is organized as follows. We will briefly describe MADSS project in Section 2. Section 3 will describe the multi-agent architecture of MADSS, which is based on design considerations from the responsibilities of agents and the interactions between agents. Section 4 gives a case study as our demonstration and a guide of using the architecture. Finally, we conclude this research and describe our future works in Section 5.2 MADSS projectMADSS is basically a distributed software integration system in which software were integrated through agents’ cooperation. An MADSS script language was developed as an interface through which a software engineer could drive an agent’s behavior. By using this scripting language, a software integrator could perform an application project rapidly through the typeless and command-level attributes [15, 16].Client Side Server Side Multi-agentUser interface...Fig. 1. Conceptual Model of MADSSMADSS is a typical 3-tier distributed system (see Fig. 1). At the server-side, there exists several distributed wrapped COTS software applications. Through the software wrapper, each COTS software application could expose its services for agent’s call. A service agent is designated to maintain the interfaces of the wrapped COTS software applications, which reside on the same host. Whenever a new wrapped software application is integrated into the host, the service agent will be responsible for advertising the new services on the facilitator. A facilitator is actually a software agent responsible for interoperating MADSS agents.At the client side, MADSS uses a client software agent to support a user interface to interact with the user and to receive jobs written in MADSS scripting language. The client agent generates one or more mobile slave agents to perform the integration job. During the execution phase, a slave agent will communicate with a service agent via KQML (Knowledge Query and Manipulation Language) [17] messages. A KQML message encapsulates input parameters to a service agent and then translates them into proper data types of the service agent. Finally, service agent requests the corresponding software applications to execute thisjob. If a host is overloaded,the service agent would be responsible for suggesting the slave agent to move to other route. MADSS project overcame two critical issues in agent-based COTS software integration: 1. The black-box-like COTS software applications under MS-Windows and UNIX-like systems were successfully wrapped as programmable and reusable software components [18-20].2. MADSS successfully demonstrates the feasibility of integrating software by mobile agents.Fig. 2. Wrapper for Reengineering COTS Software ApplicationsFang et al: An Architecture for Multi-Agent COTS Software Integration Systems Reengineering COTS software such as MS-Windows applications may suffer from the seldom-available source code. Software wrapper (in Fig. 2) in MADSS uses I/O interception and redirection to simulate a COTS application’s a sequence of operations, such as command or key events. Therefore, software wrapper could operate a MS-Windows application by sending keyboard events to it or passing input data to the Windows clipboard space. The result could also be captured by clipboard space or other output channels. In Fig. 3, the example program code (a), (b) and (c) represents respectively Win APIs for simulating key events, getting and setting the data in clipboard space. To input key events, the wrapper program must let MS-Windows application get the focus first by using FindWindow() and SetFocus(). After setting the focus to the application, Wrapper program adapted keybd_event() to send keyboard events by assigning the virtual code and scan code of keys. Besides, Wrapper program uses OpenClipboard() and CloseClipboard() to handle the clipboard space in MS-Windows. With the use of GetClipboardData() and SetClipboardData(), Wrapper program can read and write the clipboard space. Moreover, to migrate a MS-Windows application to an agent framework, this MS-Windows application was encapsulated a specific interface the agent could access.Fig. 3. Example Code in Wrapper of MS-Windows ApplicationsMADSS has been successfully implemented by referring to the concept of software integration through mobile agents. However, more detail description to this experimental multi-agent system is needed to formally represent the design experience. This study will describe the interaction between agents and each agent’s internal state uses AUML in next section.3 Multi-Agent Architecture for MADSSIn order to define the agents and interactions between agents in detail, a three-layer approach of AUML proposed by Odell is adopted as the description language in the proposed multi-agent architecture. At the first layer, the overall interaction protocols of the multi-agent architecture in MADSS are defined as reusable packages. The interactions among agents in protocols are described at the second layer. Finally, the internal agent processing are represented at the third layer.According to the conceptual model of MADSS, three interaction protocols between agents could be defined. These interaction protocols are also indicated in the first layer description (see Fig. 4).1.Delegating package. The Delegating package expresses a protocol between a client agent, Facilitator andslave agent. This protocol describes how a client agent delegates tasks to a slave agent and handle the results from the slave agent.Journal of Computers Vol.18, No.1, April 20072.Publishing package. The Publishing package expresses a protocol between a service agent and theFacilitator. This protocol describes how a service agent publishes the information of services supported bya wrapped COTS software to Facilitator.3.Binding package. The Binding package expresses a protocol between a slave agent and service agents. Thisprotocol describes how a slave agent requests for service to a service agent.The detail interactions among agents in the first layer description will be represented in the second layer description. Here, the Delegating, Publishing and Binding interaction protocols are expressed with extended sequence diagram and depicted correspondingly in Fig. 5, Fig. 6, and Fig. 7 respectively.In the delegating protocol, a client agent may query a Facilitator about a service. If the query is available, service results will be replied. On retrieving the location information of the service, the client agent will initialize a slave agent and delegate tasks to it for execution. The client agent will not only delegate tasks to the slave agent but also combine these results from the slave agent. If an error happened, the slave agent will response them to the client agent.Fig. 4. First Layer Description of the Multi-Agent Architecture in MADSSFig. 5. Delegating Interaction ProtocolFang et al: An Architecture for Multi-Agent COTS Software Integration SystemsFig. 6. Binding Interaction ProtocolFig. 7. Publishing Interaction ProtocolIn the Binding protocol, a slave agent sends a service request to a service agent. If the service agent accepts the request, the slave agent will send some data to the service agent as the input of the service. After the service is finished, the result will then be replied to the slave agent by the service agent.In the Publishing protocol, a service agent sends the register request of a service to a Facilitator. If the Facilitator accepts the request, the service agent will send the registration information to the Facilitator. After the processing of registration is finished, a confirmation from the Facilitator will be replied to the service agent.In the third layer description, activity diagram is adopted to express the internal processing of agents according to related interactions. Hence, the internal processing of the client agent, slave agent, Facilitator, and service agent are depicted correspondingly in Fig. 8, Fig. 9, Fig. 10, and Fig. 11 respectively.The client agent, which is a stationary agent, serves users at client side. In the internal processing of a client agent, the client agent deals with the content of tasks after a user input the tasks through the user interface. However, some of these tasks may not be handled by the ability of the client agent. Thus, the client agent may make a query to a Facilitator about a service that could serve these tasks. If the service result is replied to the client agent, the client will analyze the result to get the location information of the service agent that provides the service. The location information of the service and the content of these tasks would be delegated to a slave agent. Finally, the client agent may process the resulting message or error message from the slave agent.Journal of Computers Vol.18, No.1, April 2007taskFig. 8. Internal Processing of Client AgentFig. 9. Internal Processing of Slave AgentThe slave agent, which is a mobile agent, processes the tasks from the client agent. In the internal processing of a slave agent, the slave agent may analyze the delegation from a client agent to get the information of a service, such as service name, service agent name, and server location. After the slave agent migrates to the server side, the slave agent will send a service request to the service agent. If the service agent accepts the request, the slave agent will send input data to the service agent, else an error message will be sent back to the client agent. After getting the result form the service agent, the slave agent migrates back and sends the result to the client agent. The Facilitator, which is a public stationary agent, provides the directory service. It may handle the service register from a service agent (see Fig. 10 (a)) or query from a client agent (see Fig. 10 (b)). On receiving a request of service registration from a service agent, the Facilitator will analyze the message. If the registration service is available, the Facilitator will send the acceptation of registration to the service agent and receive the service information from the service agent. After the information of the service is stored in the registry, the Facilitator will send a registration confirmation to the service agent. Additionally, on receiving a request of service query from a client agent, the Facilitator will analyze the message also. If the service information is stored in the registry of the Facilitator, the Facilitator will then send the service information back to the client agent.Fang et al: An Architecture for Multi-Agent COTS Software Integration Systems(a) Handle Register of Service from Service Agent(b) Handle Query from Client AgentFig. 10. Internal Processing of Facilitator(a) Publish the Information of Service(b) Handle the Request from Slave AgentFig. 11. Internal Processing of Service AgentJournal of Computers Vol.18, No.1, April 2007The service agent, which is a stationary agent at the remote side, manages the COTS software. The internal processing of a service agent could be addressed as follows. The service agent may either publish the service information of a wrapped COTS software as this agent startups (see Fig. 11 (a)) or handle the request from a slave agent (see Fig. 11 (b)). To publish a service, a service agent will send a request of service registration to a Facilitator and waits for the reply from the Facilitator. If the Facilitator accepts the request, the service agent will send the service information supported by a wrapped COTS software back to the Facilitator. In addition, the service agent also handles the service requests from a slave agent. If the request is available and acceptable, the service agent will receive the input data from the slave agent. The input data are the parameters for accessing the programmable interface of the wrapped COTS software by using procedure call or message passing.4 An Example System: A Graphical Mechanical Part Management SystemTo demonstrate the feasibility of our proposed architecture, we report on implementing an experimental integrated software system—Graphical Mechanical Part Management System (GMPMS) in this section. There are numerous mechanical parts in various categories and types but they might be alike in name, shape, model, size, and so on. Many non-expert buyers might thus make incorrect orders without assistance from a dealer for more mechanical part information, like precise specification, picture, and layout. Therefore, the purpose of GMPMS is to assist dealers in efficiently managing and querying the mechanical part database with graphical displays of the part layout.To carry out a GMPMS, two major subsystems are necessary: a database subsystem for storing the mechanical parts data and a graphical display subsystem for displaying the part drawing. To develop these two subsystems from scratch would be a time consuming and costly endeavor. An economic and rapid way is through the software reuse approach. Therefore, AutoCAD 2000 and dBase III Plus are selected to be integrated in the GMPMS. AutoCAD 2000 is a drawing software tool and commonly used to design a mechanical part. The dBase III Plus is a simple database tool for providing the management of mechanical parts and store the command stream of mechanical parts. According to the agents defined in our multi-agent architecture, the GMPMS consists of following five agents.1.Mechanical part management agent. The mechanical part management agent is a stationary agent at theuser side and plays the role of the client agent. It provides a user interface to manage mechanical parts and shows the 2D/3D shape of mechanical parts.2.Slave agent. Slave agent is a mobile agent and responsible for getting the query conditions of mechanicalparts from the mechanical part management agent. It could migrate to the location of the mechanical part information agent to get the information of mechanical parts. It could also be migrated to the location of the shape generation agent to generate the 2D/3D shape of mechanical parts.3.Mechanical part information agent. The mechanical part information agent is a kind of service agent. Itmaintains the queryPart service to query the information of mechanical parts. In order to provide the service, it handles the operations of dBase III Plus through the simulation of keying a sequence of dBase III commands.4.Shape generation agent. The shape generation agent is a kind of service agent. It maintains thegenerate2dShape and generate3dShape services to generate the 2D/3D shape of mechanical parts. In order to provide these services, it handles the operations of AutoCAD 2000 by inputting the AutoCAD command stream of mechanical parts.5.Facilitator. The Facilitator provides directory service and maintains the information about the queryPart,generate2dShape and generate3dShape services.To show the application of our architecture on the system, we give some interaction and internal processing diagrams about the use of queryPart service. For invoking queryPart service, the interactions among agents in GMPMS are based on the protocols of Delegating, Publishing, and Binding. However, to apply these protocols to our application, some modifications are necessary. Fig. 12, Fig. 13, and Fig. 14 represent the Delegating, Publishing and Binding protocols about queryPart service in the GMPMS respectively. In the second layer descriptions about queryPart service, some messages in the aforementioned protocols should be modified to fit our application requirements. For example, the message register-info in Fig. 7 is replaced with queryPart-info in Fig. 13. The message input-data in Fig. 6 is replaced with input-query conditions in Fig. 14.Fang et al: An Architecture for Multi-Agent COTS Software Integration SystemsFig. 12. Delegating Interaction Protocol about queryPart ServiceFig. 13. Publishing Interaction Protocol about queryPart ServiceJournal of Computers Vol.18, No.1, April 2007Fig. 14. Binding Interaction Protocol about queryPart ServiceFig. 15. Example of KQML message for binding queryPart serviceEach message in these protocols may be equal to a KQML messages. For example, when the slave agent arrives the remote side, it communicates with the service agent to get the queryPart service through some KQML messages. The Fig. 15 shows the content of the messages input-query conditions between the slave agent and the mechanical part information agent through the binding interaction protocol.The internal processing of these agents about queryPart service is based on the third layer description in our multi-agent architecture. The behaviors of mechanical part management agent, slave agent, Facilitator, and mechanical part information agent are illustrated in Fig. 16, Fig. 17, Fig. 18 and Fig. 19 respectively. Some processing blocks in the agent state diagrams should be modified to fit the functions of queryPart service also. For instance, the invoke interface in Fig. 11 is replaced with invoke dBase III Plus Wrapper (see Fig. 19).taskFig. 16. Internal Processing of Mechanical Part Management Agent about queryPart ServiceFig. 17. Internal Processing of Slave Agent about queryPart ServiceManagement)(a) Handle Query from Mechanical Part Management AgentInformation)(b) Handle Register of queryPart from Mechanical Part Information AgentFig. 18. Internal Processing of Facilitator about queryPart Service(a) Publish the Information of queryPart Service(b) Handle the Request from Slave AgentFig. 19. Internal Processing of Mechanical Part Information Agent about queryPart Service Each blocks in these internal processing may be implemented to some program codes. For instance, the mechanical part information agent at the remote side may involve some implementation to operate the dBase III. Fig. 20 shows the example codes of controlling dBase III Plus to handle queryPart service. It simulates the key events to input data to dBase III by using the functions of inputString(), hotkey() and key() provided by dBaseWrapper.Fig. 20. Example of queryPart in Mechanical Part Information AgentServerServerFig. 21. Overall structure of GMPMSFig. 21 illustrates the overall structure of GMPMS. In GMPMS, the mechanical part management agent provides a user interface to interact with the user and queries the Facilitator about the information of related services. By delegating the slave agent to interact with the mechanical part information agent and shape generation agent, the mechanical part management agent could get the information and shape of mechanical parts. Here, the slave agent retracts the AutoCAD command stream in the information of mechanical parts gotten from the mechanical part information agent and uses it as the input of the shape generation agent to generate the shape of mechanical parts.In the implementation of the GMPMS, all the agents are written in Java language. In order to provide the communication mechanism and the mobility of agents, the IBM Aglet [21] is adopted as the execution environment.In Fig. 22, the information of mechanical parts in dBase III Plus can be queried by inputting some query string. In Fig. 23, the user interface of querying mechanical parts in GMPMS is shown. By inputting some mechanical part attributes, dealers could get needed mechanical part information in the dBase III Plus. The 2D shape of the indicated mechanical part is shown at the view of top. By using the AutoCAD command stream stored in dBase III Plus as the input, the AutoCAD 2000 would be able to generate the shape of mechanical part. Therefore, dealers would find and show the mechanical parts for customers.Fig. 22. Wrapped dBase III Plus in GMPMSFig. 23. Screenshot of GMPMS5 ConclusionsA multi-agent architecture of MADSS is proposed in this paper to incorporate several COTS software by using software agent technology within an integrated software system. To describe the architecture in detail, the three-layer approach of Odell’s AUML is adopted as the description language. Therefore, the specification of implementation, including protocol and internal processing, are described. A Graphical Mechanical Part Management System (GMPMS) is also experimented in our study to illustrate the use of the proposed architecture. It integrates the services provided by wrapping dBase III Plus and AutoCAD 2000. The proposed architecture would be helpful to programmers with the knowledge of UML or AUML in having a guide to construct distributed COTS software integration systems with the multi-agent paradigm.Finally, we conclude several future works to improve the architecture:1.To define the description of exported COTS service.2.To enhance a mechanism for discovering the suitable and desired services advertised in the community.3.To handle the problem of agent’s ontology.References[1]P. Felber, P. Narasimhan, "Experiences, strategies, and challenges in building fault-tolerant CORBAsystems," IEEE Transactions on Computers, Vol.53, No.5, pp.497-511, May 2004.[2] A. Davis, D. Zhang, "A comparative study of DCOM and SOAP," Proceedings of 4th InternationalSymposium on Multimedia Software Engineering, pp.48-55, Dec. 2002.[3] E. Altendorf, M. Hohman, R. Zabicki, "Using J2EE on a large, Web-based project," IEEE Software,Vol.19, No.2, pp.81-89, March-April 2002.[4]S. Vinoski, "Where is middleware," IEEE Internet Computing, Vol.6, No.2, pp.83-85, March-April 2002.[5]Y. B. Peng, J. Gao, J. Hu, B. S. Liao, "Policy-Driven Agent Social," Proceedings of InternationalConference on Machine Learning and Cybernetics, Vol.1, pp.345-350, Aug 2005.[6]J. R. Koo, "Social commitments in MAS," Proceedings of the 8th Russian-Korean InternationalSymposium on Science and Technology (KORUS-2004), Vol.1, pp.72-74, July 2004.[7] D. X. Xu, J. W. Yin, Y. Deng, J. H. Ding, “A Formal Architecture Model for Logical Agent Mobility,”IEEE Transactions on Software Engineering, pp.31-45, 2003.[8]R. Nicholas. M. W. Jennigns, “Agent-Oriented Software Engineering,” Proceeding of 9th EuropeanWorkshop on Modeling Autonomous Agents in a Multi-Agent World, 2000.[9]J. M. Lin, Z. W. Hong, and G. M. Fang, ”MADSS: a Multi-Agent Based Distributed Scripting System,“ Proceedings of 26th Annual International Computer Software and Application Conference (COMPSAC-2002), Oxford, UK, pp.581-586, Aug 2002.[10]T. G. Baker, “Lessons Learned Integrating COTS into Systems,” Proceedings of 1st InternationalConference on COTS-Based Software System (ICCBSS 2002), Orlando, FL, USA, pp.21-30, Feb. 2002. [11]L. Davis and R. Gamble, “Identifying Evolvability for Integration,” Proceedings of 1st InternationalConference on COTS-Based Software System (ICCBSS 2002), Orlando, FL, USA, pp.65-75, Feb. 2002. [12]T. Pfarr and J. E. Reis, “The Integration of COTS/GOTS within NASA’s HST Command and ControlSystem,” Proceedings of 1st International Conference on COTS-Based Software System (ICCBSS 2002), Orlando, FL, USA, pp.209-221, Feb. 2002.[13] A. Egyed and R. Balzer, “Unfriendly COTS integration – instrumentation and interfaces for improvedplugability,” Proceedings of 16th International Conference on Automated Software Engineering (ASE 2001), pp.223-231, Nov. 2001.[14]J. Odell, H. V. Dyke Parunak, Bernhard Bauer, “Extending UML for Agents,” Proc. of the Agent-OrientedInformation Systems Workshop at the 17th National conference on Artificial Intelligence, pp.3-17, 2000.[15]J. Ousterhout, “Scripting: higher lever programming for the 21st Century,“ IEEE Computer, Volume 31,pp.23-30, March 1998.[16]J. Ousterhout, “Additional Information for Scripting White Papter,” in URL:/people/john.ousterhout/scriptextra.html.[17]Y. Liu, C. Xu, W. D. Chen, Y. Pan, "KQML Realization Algorithms for Agent Communication," FifthWorld Congress on Intelligent Control and Automation (WCICA-2004), Vol.3, pp.2376-2379, June 2004.[18]J. M. Lin, Z. W. Hong, G. M. Fang, H. C. Jiau, and W. C. Chu, “Reengineering Windows softwareapplications into reusable CORBA objects,” Journal of Information and Software Technology, Vol. 46, No.6, pp.403-413, May 2004.[19]Z. W. Hong, J. M. Lin, H. C. Jiau, G. M. Fang, and C. W. Chiou, “Reengineering Windows-BasedSoftware Applications into Reusable Components using Pattern Language,” Journal of Information and Software Technology, Vol.48, No.7, pp.619-629, July 2006.[20]J. M. Lin, Z. W. Hong, G. M. Fang, and C. T. Lee, "A Style for Migrating MS-Windows SoftwareApplications to Client-Server Systems Using Java Technology," SOFTWARE - Practice & Experience, Vol.37, No.4, pp.417-440, April 2007.[21]IBM Aglet, in URL: /aglets/index_e.htm.。

福特网络FortiGate虚拟应用和迁移自动化说明书

福特网络FortiGate虚拟应用和迁移自动化说明书

1“We needed a solution that would allow us to extend our existing security framework into the cloud, while maintaining full control and visibility across the entire infrastructure. Using the Fortinet Fabric Connector for Azure Cloud Services, together with virtual instances of the FortiGate NGFW, gave us single-pane-of-glass control and visibility over everything.”–Marc Verstraaten, Cloud Architect, Wageningen University & Research CASE STUDYLeading Dutch University for Environmental Research Harnesses the Cloud With FortiGate Virtual Appliances and Migration AutomationWageningen University & Research, located in the town of Wageningen in theNetherlands, is one of the world’s highest-ranking universities in disciplinesspanning environmental science, agriculture, forestry, and ecology.In addition to its renown in education and fundamental research, theestablishment has a strong global position as a supplier of application-orientedand field-based research, collaborating with other educational and researchinstitutes, as well as governments, non-governmental organizations, andbusinesses from around the world.Wageningen University & Research employs over 6,500 staff and currently servesaround 12,500 students from over 100 countries.Securely Harnessing the Potential of Dynamic Cloud ServicesA Fortinet customer since 2014, the university had long leveraged FortiGatenext-generation firewalls (NGFWs) to protect applications and data within theperimeters of its two centrally located data centers.FortiGate NGFWs combine dedicated, purpose-built security processors withthreat-intelligence services from FortiGuard Labs to deliver top-rated security andhigh-performance threat protection.With the addition of FortiManager centralized network management andFortiAnalyzer analytics and automation (collectively known as the FabricManagement Center), network administrators gain powerful network management,automation, and response, with broad visibility and granular device and role-basedadministration across the entire infrastructure.In early 2020, with increasing research collaboration on projects requiring a moreflexible and dynamic infrastructure, the university’s IT team realized that it wouldneed to start moving some of these workloads to the cloud.The team chose Azure Cloud Services from Microsoft as its cloud provider. TheAzure Infrastucture -as-a-Service (I aaS) environment provided the agility, scalability,and control the team needed, but the move to the cloud complicated the process ofmaintaining security. Having witnessed a recent high-profile breach at anotheruniversity in the Netherlands, Wageningen University & Research was takingno chances.“We needed a solution that would allow us to extend our existing securityframework into the cloud, while maintaining full control and visibility across theentire infrastructure,” explains Marc Verstraaten, cloud architect at WageningenUniversity & Research. “Using the Fortinet Fabric Connector for Azure CloudServices, together with virtual instances of the FortiGate NGFW, gave us single-pane-of-glass control and visibility over everything.”Details Customer: Wageningen University & Research Industry: Education Location: The Netherlands Business Impact n n Improved flexibility, scalability, and management of IT resources n n Enhanced security n n Greater control and visibility of global research applications and dataCASE STUDY | Leading Dutch University for Environmental Research Harnesses the Cloud With FortiGate Virtual Appliances and Migration Automation Copyright © 2021 Fortinet, Inc. All rights reserved. Fortinet ®, FortiGate ®, FortiCare ® and FortiGuard ®, and certain other marks are registered trademarks of Fortinet, Inc., and other Fortinet names herein may also be registered and/or common law trademarks of Fortinet. All other product or company names may be trademarks of their respective owners. Performance and other metrics contained herein were attained in internal lab tests under ideal conditions, and actual performance and other results may vary. Network variables, different network environments and other conditions may affect performance results. Nothing herein represents any binding commitment by Fortinet, and Fortinet disclaims all warranties, whether express or implied, except to the extent Fortinet enters a binding written contract, signed by Fortinet’s General Counsel, with a purchaser that expressly warrants that the identified product will perform according to certain expressly-identified performance metrics and, in such event, only the specific performance metrics expressly identified in such binding written contract shall be binding on Fortinet. For absolute clarity, any such warranty will be limited to performance in the same ideal conditions as in Fortinet’s internal lab tests. Fortinet disclaims in full any covenants, representations, and guarantees pursuant hereto, whether express or implied. Fortinet reserves the right to change, modify, transfer, or otherwise revise this publication without notice, and the most current version of the publication shall be applicable.May 5, 2021 3:46 AMD:\Fortinet\2021 Rebranded templates\Case Studies\May\WUR\cs-leading-dutch-university-V1-552021\cs-leading-dutch-university-V1-5520211007903-0-0-EN Solutions n n FortiGate VM n n FortiGate n n FortiManager n n FortiAnalyzer The Fortinet Security Fabric is an architectural approach that enables themultiple security elements of a network to act together as a single, intelligent,responsive entity.Since FortiGate virtual appliances are built on the same FortiOS operatingsystem as their physical counterparts, they enable customers to create theoptimal architecture for their specific environment, balancing the unparalleledperformance of the physical form factor with the flexibility and scalability of thevirtual, to provide seamless visibility and control from the network core right out tothe edge.Through FortiManager and the Fortinet Security Fabric, configuration andpolicy management can then be consolidated across both physical and virtualenvironments through a single pane of glass, simplifying management andreducing the potential for service degradation or bottlenecks.Non-Fortinet components, such as those within the Azure Cloud Servicesenvironment, can then be brought under the protective umbrella of the FortinetSecurity Fabric through prebuilt application programming interfaces (APIs) knownas Fabric Connectors.For complex application development operations such as those of WageningenUniversity & Research, one of the key risks associated with moving workloadsinto the cloud is the potential introduction of vulnerabilities resulting fromconfiguration errors and manual data compilation.“The ability to integrate automated cloud deployment scripts into the already-familiar management interface of FortiManager and FortiAnalyzer was anotherkey advantage for us,” adds Verstraaten. “Our team was well-versed in theimplementation of on-premises security policies but lacked experience with thecloud environment.”Ready for the Future“The ability to integrate automated cloud deployment scripts into the already-familiar management interface of FortiManager and FortiAnalyzer was another key advantage for us. Our team was well-versed in the implementation of on-premises security policies but lacked experience with the cloud environment.”– Marc Verstraaten, Cloud Architect, Wageningen University & ResearchHaving completed the first phase of their new cloud migration, the university is now looking to optimize service delivery through the built-in load-balancing capabilities of the FortiGate virtual appliances.“One of the things we particularly like about the Fortinet solution is the range of functionality you get right out of the box,” comments Verstraaten. “It means we can move at a pace that suits us, deploying additional capabilities as and when we need them.”The university’s stated mission, “To explore the potential of nature to improve the quality of life” is undoubtedly one ofincreasing significance in the face of globally accelerating technological and environmental change. Through the FortinetSecurity Fabric and the continued efforts of Marc Verstraaten and his team, Wageningen University & Research is now able to pursue that mission with a greatly reduced risk of disruption from the ever-evolving specter of cyberattack.。

Agent architectures for electronic assistance and commerce

Agent architectures for electronic assistance and commerce

Agent architectures for electronic assistance and commerceMihhail Matskin1and Enn Tyugu21 Department of Computer and Information Sciences,Norwegian University of Science and Technology (NTNU), Trondheim, Norway2 Department of Teleinformatics,Royal Institute of Technology (KTH), Stockholm, SwedenAbstractThis work proposes a generic architecture for agent shells and Agoras [10]. First, wegive a survey of existent agent architectures and try to circumscribe the invariant part ofagents. The main part of the work presents an agent reflection mechanism and aspecification language for describing models of environments and agents. We use twoworking examples: facilitator agents for exhibitions (or virtual shopping centres ) andmodelling of work of a program committee for illustration of the architecture. Co-operation between the agents is an important requirement in both examples, and this isorganised on the basis of the Agoras.1. IntroductionDevelopment of computer networks dramatically changes a way of representation and usage of information. Instead of centralised archives and databases more and more decentralised information sources are available. A complete modelling of such distributed information sources is quite problematic.The main problem is as follows. Most of former modelling approaches were designed for analysis of information in completely specified environments. These environments contain all sufficient information for operation at the environment. It does not mean that a completely specified environment should be only static. However changes in these environments are presented explicitly as well as actions which are also described explicitly. In the other words our world is closed in this case.In the case of decentralised information sources in the network an environment in many cases cannot be specified completely. It is problematic (if possible) to describe completely all available information sources in the network as well as to specify precisely and completely all possible actions and changes. The distributed environment is not closed any more and, generally, there can be no restrictions for affecting the world and being affected by it.A constructive approach for work in an open environment could be similar to human’s way of behaviour in a real world which is also open. This approach is based on perceiving the world, having a rational model of behaviour and having intentions/motivations to be fulfilled by implementing corresponding goals. Of course, it is a schematic view to “human’s way of behaviour”, however, it emphasises autonomous, pro-active and distributed nature of exploring information sources and it can be constructive in the case of open world. This becomes widely acceptable as an agent-based approach where agents are software entities/systems to whom users delegate some activity to be performed. For definition of agents we refer to [22], where agent is defined as an autonomous, pro-active, social and reactive system. We emphasis these features as essential ones for exploring information sources in a distributed environment.However, not only information sources become distributed - control also becomes distributed and decentralised. In order to support decentralised control the role of co-operative mechanisms, such as co-ordination, negotiation and communication, increases very much.2Exploring information in the network and perception of an open environment often requires co-operative efforts and global/local co-ordination, negotiation and communication activities of agents.Having closely followed the developments in the field of software agents for some time, we have come to the conclusion that up-to-date tools for agent programming can be developed in the way similar to the technology of knowledge-based systems/expert systems where expert system shells were introduced for facilitating the expert system implementations. A generic shell of agents can be developed as an ”empty agent” which could be filled in with functionalities required by any particular application. This should considerably facilitate the development of agent-based software. However, when an expert system shell had a well-defined invariant part in the form of an inference engine and knowledge management tools, and included only an empty knowledge-base, an invariant component of agents must be more complicated.In the first part of this work, we give a survey of well-known agent architectures and try to circumscribe the invariant part of agents. Thereafter we propose an agent architecture which shoud cover the requirements of most of the multiagent systems under consideration. We shall use two working examples: facilitator agents for exhibitions (shopping centres) and program committees. Cooperation between the agents will be an important requirement in both examples, and this will be organized on the basis of Agoras, introduced in [10]. We start immediately with describing the working examples.2. Working examplesIn order to illustrate our approach we consider two working examples: a simplified version of a Program Committee (PC) work modelling from the paper [11] and agent-supported guidance at a large computer exhibition and virtual shopping centres. We are going to use these two examples of co-operative work throughout the whole paper.2.1 Program Committee agentsIn general we refer to intuition and experience of most of readers who participate in the work of a PC and we assume that PC includes a chairman (may be a co-chairman) and PC members. A PC is formed by the chairman by personal invitation of members after their agreement. Papers are submitted to PC chair(s) and then allocated to PC members for reviewing. Generally, the PC members review themselves but they also can ask other experts to review a paper on their behalf. Critical points in the work of a PC are 1)allocation of papers for reviewing, 2)making agreement about paper evaluations between several reviewers and 3)satisfaction of deadlines for reviewing and notifications of the acceptance or rejection of papers.2.2 Guidance agentsAs the working example we consider usage of agents as guides at a large exhibition, let it be a computer fair. We expect to have visitor agents and exhibitor agents. The visitor agents are implemented as small portable gadgets which guide the exhibition visitors and help them to communicate with exhibitors. They have a goal to provide a visitor with the information on a level appropriate for the particular person, and to represent him in communication with exhibitors. The exhibitor agents are located at the booths. Each of them provides information about a particular company, trying to present the company as attractively as possible. This includes prioritizing of visitors, helping them to get access to the information sources, arranging collective activities at the booth.3 Visitor agents operate as mobile agents, switching the environment every time the visitor moves to another booth. Besides the communication with exhibitors, the visitor agents provide general support at the exhibition, locating the places of interest and advising in general matters like time schedule, food and rest-rooms. A visitor agent should be able to adjust to the level of the visitor served. In no case should a visitor feel being patronized by the agent. From the other side, laymen will need quite different support than experts need, although they would like to have a sufficient freedom of choice. The categories of visitors can be defined in advance and their models specified in a knowledge representation language. We intend to develop agents with sufficient intelligence for understanding high-level specifications of environments at booths and tasks. In other words – programming of agents should be done in a declarative way, leaving composition of detailed action plans to agents themselves.As a modification of this example we also consider assistance at a virtual shopping center with different shops, agencies, banks etc. Guidance agents at the virtual shopping center may differ with agents at exhibitions in details, however, we believe that on architectural and co-operative levels they can be supported by the same basic tools. In this paper we do not make difference between the examples and everywhere we refer to one of them we also assume possible application of another.3. Analysis of existing agent architectures (related works)Here we briefly overview the most typical approaches to agent architectures.An agent in the Self subsystem [8] has an ability to plan agent’s actions and an ability to make own decisions which may be unpredictable for an external observer. Also reflection is attributed to the Self. The Self is internally divided into deterministic and non-deterministic part. The first can be implemented as a state transition machine. A way of realization of the second part is not clear.The paper [6] presents a number of BDI architectures, beginning from the early ones, some of whose may still be of interest. The IRMA – intelligent resource-bounded machine architecture from [2] includes separate representation of beliefs, desires and intentions, and gives an interesting picture of relations between these knowledge items. It uses a plan library and intention structured into plans. The operation of an agent is based on the following processes: means-end reasoner, opportunity analyzer, filtering mechanism, and deliberation. The IRMA architecture has been tested on a simple simulated robot example.The paper [5] gives an abstract BDI architecture with a simple interpreter loop. Also this work uses explicit representation of beliefs, desires and intentions as separate data structures. The loop presented in the paper reminds a breadth-first search loop, probably, extended with some control by beliefs, although this control is not explicitly visible.The work presented in [18] is a description of a five years long experimental development of a system called CooperaA and intended for supporting of chemical emergencies management. The paper describes rather detailed mechanism of communication between two agents. The communication scheme between agents presented in this work includes more details than any other scheme of communication in the accessible publications. The communication is based on an agent-agent communication protocol developed for this particular project. In the same paper we can find also a scheme of data structures of an agent. These data structures support4the integration of distributed knowledge bases (even heterogeneous knowledge bases) and distributed problem-solving.The work [4] has a goal close to our intentions: development of a testbed providing tools for implementing multi-agent systems. Its agent model has a structure containing a hierarchical knowledge base and components of an agent: cooperation component, plan-based component, behavior-based component. An agents functionality is divided into the following parts: acting, communication, perception. This is a rather nontraditional presentation of the agent architecture.Another work with a similar goal is [13] where an agent factory is described as an environment for implementation of multi-agent systems. This work includes a presentation of an agent behavior by means of a finite state machine with the states: active, sending, inactive, receiving, waiting. Sending and receiving cannot be done as parts of other activities, and have been represented by separate states, because they are considered to be indivisible actions. Still, one can use a more parallel way of acting of an agent than developed in this paper.An overview of an agent-oriented programming [16] includes a scheme of a generic agent interpreter which can be also considered as an agent shell. This is a very general description of agent’s behavior, which should be developed in more detail to become useful as a generic shell. This work suggests the following modalities for representing mental states of an agent: belief, obligation (or commitment), decision (as an obligation to oneself) and capability. The paper [1] presents an open agent architecture proposed under the following assumptions: support of distributed object technology, specialization of the agent communication language, support of interoperability with other agent platforms as well as non agent-based software.There is no general agreement about the architecture of agents, but some convergence towards basic components: proactive, deliberative and reactive can be observed. Also common functionality: communication, knowledge base and reasoning (action planning) can be detected.4. Analysis and general requirementsIt is not surpising, that looking at the architectures reviewed, we have detected the following three layers in most of them: reactive, deliberative, pro-active. These layers have been generally accepted by agent developers. However, there is little written about the implementation of these layers. Looking at anoher dimension – the functionality of agent software, we can detect the support for language processing, knowledge handling and reasoning. No universally applicable tools are available for these functions in agents either. The language processing function seems to have had most of the attention. There is some agreement on the usage of KQML [3] (or FIPA proposals [21]) as the communication language framework, and suggestion to use KIF (a version of the language of the predicate logic for knowledge representation) as an interchange format.Designing an agent shell, we shall develop support for the three layers: reactive, deliberative and proactive. We can accept KQML or FIPA as the framework for communication language, but shall develop our knowledge representation language in more detail. This will determine also requirements on the reasoning mechanism.5 At the top-level of agents we see an infinite loop for a live agent [1, 16], or a finite automaton [13]. Instead of a simple loop, we intend to use a general event-handling mechanism supported by a collection of classes developed in a sound object-oriented style.5. General ArchitectureIn our work we consider two basic components of a multi-agent architecture (see Fig. 5.1): individual agents and facilitators of co-operative work, called Agoras [10, 11].Figure 5.1. Agents and AgorasIndividual agents are autonomous, pro-active, social and reactive software systems which represent somebody (user or another agent) in a computational environment and perform tasks on behalf of their creators. For more detail definitions of agency we refer to [22]. Agora is an area or meeting place where agents can advertise themselves and establish a common context. In order to be able to use an Agora, an agent should be registered. Registration of the agent means announcing it’s name and public information about it’s properties, which may include agent’s goals, tasks it is interested in, tasks it can perform etc. In addition to information about agents, Agora contains information about the problem or situation it should support, common knowledge, references to related Agoras, organisational structures of co-operatively solvable problem and knowledge about information sources. Hence, a common work context can be established by explicit representation of the contents of Agora and by registration of its agents. More generally, Agora is a facilitator of co-operative work (co-operation, negotiation and communication) which provides an infrastructure for such a work (in a way analogous to KQML facilitators which facilitate only communication [3]).6. Agent shellIn order to support description and creation of individual agents we propose an architecture/structure of an agent shell. The shell implements a basic agent functionality and allows its easy customisation, overriding and extension.We introduce the agent shell architecture in several steps. First we describe an agent engine/machinery level, then consider its functional architecture and, finally, discuss a transformation from the functional level to the machinery level.Agent shell machinery is based on Event-driven execution (see Fig. 6.1) and it includes:61)prioritised event list handled by embedded event managers, 2)event description list including event types description with references to handlers, 3) event handlers - procedures which are invoked when a corresponding event is dispatched, 4)agent interface, including ACL and low-level communication ports, 4)agent memory which contains models (specifications, classes, types etc.) i.e. metadata and data (raw data, objects etc.)Figure 6.1. Agent machineryEvents may arrive to the event list externally from the outside world (from the environment or by communication with other agents) via interface or internally from the event handlers.Event handlers have access to the Event description list and they may modify it when necessary. The agent memory is used by the event handlers and can be updated by them or by request from the outside world.Agent creator (a user or an agent) should be provided by tools (external graphical interface or just API) to describe particular event types, event handlers, communication channels and agent memory structure and contents. Detailed consideration of these tools is out of scope of the paper and we consider them as an important future work.7. Agent shell functionalityThis level of agent architecture presents basic agents functionality.7Figure 7.1. Agent shell functional structureA proposed set of functional blocks is based on analysis from Sect. 4 and it includes (see Fig.7.1): 1)communication blocks including ACL communication with agents and a signal-level communication with environment, 2)planner, 3)reactive block 4)declarative reflection block 5)procedural reflection block 6)pro-active block (goals analyser/synthesiser) and 7)executor.8. Agora structureWe assume the following three groups of elements in the Agora contents (see [8] for more details): 1)information about registered agents (individual agent’s information), 2)information about Agora itself (self information) and 3)information about other Agoras and information sources (surrounding information).All Agora components have standard (default) implementation in a generic Agora shell. However the default implementations can be overridden by an Agora creator by attaching corresponding agents (in this case the components in Agora architecture became proxy components/stubs with pointers/addresses of actual components).The functional architecture of Agora is presented in Fig. 9.1.8The communication component is similar to the agent’s communication block (see Sect. 7) and we assume a solution based on FIPA/KQML for it as well. Co-ordination and negotiation components are not considered here in detail and we assume that they implement some co-ordination / negotiation protocols (e.g. CNP [17]). The manager is a central element in the Agora architecture and it contains the following blocks (see Fig. 9.2): 1)router - if message which is sent to the Agora should be proceeded by another agent then router redirects it to the corresponding agent, 2)matchmaker - matches dependent/relevant information sources in Agora structure and decide what to do if matching succeeds/fails, 3)planner - makes plans for action based on self information in Agora and 4)reflection block - updates self information by9 12. Examples continuedIn this Section we return to our working examples (see Sect. 2) and use them to demonstrate general features of the Agent shell, Agoras and reflection mechanism.12. 1 PC agentsThe first step in modelling the work of a Program Committee is making decision about participants of the co-operative work or in the other words - which agents will inhabit our system. There are several possibilities: PC members can be represented by agents and papers for reviewing can be represented by agents. Our first decision is to restrict set of agents to PC members only (we do that for simplicity only but there are no restrictions for other decisions). The next step in our approach is identification of co-operative points in the work. The principal steps are 1)PC formation, 2)allocation of papers to PC members and to other reviewers, 3)discussion of paper evaluation. These three co-operation points should be supported by different Agoras.When PC work starts, a PC chairman creates a PC-Agora, registers his/her agent at PC-Agora and asks potential PC members to participate in the PC work (for simplicity we assume that this is done via email, phone, fax etc.). Those who agree to be in PC should register their agents at PC-Agora (during this registration they also specify areas of their expertise in the field). PC chair makes also decision about a procedure of allocation of papers by registering corresponding co-ordination agent. We consider two basic ways of doing allocation of papers: centralised and decentralised.In the case of centralised allocation, a co-ordination agent is a matchmaking agent. It matches keywords in papers (or titles) and areas of expertise of PC members. Conflict resolution and general constraints can be embedded into the co-ordination agent.In the case of decentralised co-ordination agents, more elaborated protocols can be used. We consider only one of possible protocols: Contract Net Protocol (CNP) [17]. In this case, the co-ordination agent is a manager who announces work to potential contractors (PC members) as a list of papers to be reviewed. PC members submit their bids for doing this job by selecting papers they wish to review from the list and attaching priority numbers (prices) to selected papers. Co-ordination agent analyses bids and awards papers to the higher bidder. In case of collisions, a negotiation between corresponding members happens (this may be done by creating a temporal Agora for these agents as on Fig.12.1.).Choice of the allocation procedure is a point where reflection may play an important role. Initial Agora’s self information could contain reference to a centralised co-ordination strategy. However, after the centralised paper allocation its unfairness can be detected. Unfairness means that some PC members get papers for reviewing which fit well to their specialisation while some other PC members get papers which are out of scope of their expertise. Unfair allocation usually is a result of mismatching between keywords in papers and expertise lists of reviewers. After recognising unfairness, the reflection mechanism should modify Agoras self information and attach a decentralised co-ordination strategy for paper allocation.Next, PC members may create their own Agoras (see Fig. 12.2.) if they ask other experts to help them in reviewing - this process is similar to the procedure of PC formation described above.10P C -A g o r aP C c h a ir P C m e m b e r P C m e m b e rP C m e m b e r C o o r d in a tio na g e n t N e g o tia tio nA g o r a P C -A g o r a P C m e m b e r 1P C m e m b e r 1 A g o r a P C m e m b e r 2A g o r a R e v ie w e r1R e v ie w e r 2P C m e m b e r 2R e v ie w e r 3P C -A g o r a P C m e m b e r 1P a p e r #####A g o r a P C m e m b e r 2P C c h a ir N e g o tia tio n A g e n t (M C P )Figure 12.1. Allocation of Figure 12.2. Reviewing papers Figure 12.2. ReviewingPapers papers by PC members papers by PC membersPC chair can now register another co-ordination agent to the PC-Agora which provides awareness functions for notification of the deadline for reviews.PC members submit their reviews to a co-ordination agent who checks them for discrepancies in evaluation of papers. If discrepancies are found, then a negotiation between reviewers should start. In order to support such negotiation, a temporal Agora is created (see Fig.12.3.) and a negotiation agent for support of particular negotiation protocol is registered at it (for example, Monotonous Confession Protocol (MCP) [15]).Discrepancy resolving is another point where reflection mechanism is used. PC Agora reflection mechanism observes reviews coming from reviewers and filters them into consistent and inconsistent sets. The consistent set contains papers where deviations in reviewer’s evaluations do not exceed predefined values. All other papers come to the inconsistent set. Papers from the inconsistent set identify conflicts to be resolved by Agora and they are pro-active sources for modification of Agora structures. The reflection mechanism may require creation of a temporal Agora for conflict resolution by updating Agora surrounding information (an information on related Agoras). Using classes considered in [23] this situation can be described as follows.Reflection manager gets an inconsistent set of papers and generates the following declarations into Agoras self model:resolvePaper###: DiscrepancyExist;resolvePaper ###.ListOfPCmemebers =[PCmember1,PCmember2];resolvePaper ###. Paper = Paper###;A procedure for implementation of the Conflict method may include a creation of Paper###Agora and registering PCmember1 and PCmember2 on it (in another situation reflection manager can, first, spesialise the class DiscrepancyExist by giving another implementation of the Conflict method). The Conflict method may also update Agora’s surrounding information. When the planner starts to plan a solution of a goal which needs the resolvePaper###.resolveConflict component to be true , it will include the method Conflict into a plan for further execution.12. 2 Managing the model of an exhibitionHere we follow the development of a part of the model of the exhibition for one visitor (in doing this we use classes from [23]). This model should include all essential information about the current situation of the whole exhibition, because it is used in the declarative11 reflection loops of agents active at the exhibition. The model is changed incrementally, adding a declaration for every event which has to be registered in it. At the beginning, only the declarations of the exhibition itself, including its guides and its booths must be available. An example of this kind of declaration is the declaration of the electronic guide Tommy9. Tommy9 : Guide type = Tommy;- Tommy9 is a portable electronic guide of type Tommy in use at Expo2XXX. MrSmith :Visitor name = ´John´;- MrSmith has just entered the exhibiton hall.act1 : FirstMeet guide = Tommy9, visitor = MrSmith;- after bying a ticket, MrSmith picks up his electronic guide,team1024 = act1.team;- and they become a team.act2 : Move team = team1024 ;- MrSmith is moving to the first booth suggested by the itinerary of his visit.act3 : AtBooth booth = act2.nextPlace;- at the booth they go through the steps of discourse guided by the method steps.act4 : Move team = team1024;- MrSmith moves further,act6 : AtBooth booth = Nokia;- he visits the Nokia booth next, ignoring the selection done by hisguide.…The declarations above are created by the event handlers and introduced into the model by the reflection manager. The model can be used by any reflective agent at the exhibition. When some information becomes outdated, the reflection manager removes it, this is a kind of garbage collection on the declarative level.ConclusionsWe proposed a generic architecture of agents and of a multi-agent system. This is done on the basis of analysis of existing implementations of agents. The analysis shows some convergence of existing architectural solutions only on a very general functional level. Agent implementations vary to a large extent, so that it is still impossible to detect an invariant part of the agent implementations.The main message of the present work concerns a concept of a generic agent shell and an architectural solution for Agora – a meeting place of cooperating agents. The agent shell is based on declarative reflection component functionally responsible for reflecting the state of an agent (or a multi-agent system) together with the state of the environment which is an open world.The presentation includes two examples of the agent-based assistance: at an exhibiton and in the work of a program committee. The first example requires adaptation to varying environment and dynamic construction of plans of behaviour. The second one is a good example of a multi-agent system supporting cooperative work.This work is partially supported by Andersen Consulting Research Foundation (project “Agent-Based Methods”).References[1] J. M. Bradshaw, S. Dutfield, P. Benoit, J. D. Woolley. (1996). KAoS: Toward anIndustrial-Strength Open Agent Architecture. In: G. M. O’Hare, N. R. Jennings, eds.Foundations of Distributed Artificial Intelligence, John Wiley & Sons, p. 375 - 418. [2] M. Bratman, D. I. Israel, M. E. Pollack. (1988). Plans and Resource-Bounded PracticalReasoning, Comput. Intelligence, v. 4, 349 - 355。

Multi Agent Knowledge Management Architecture

Multi Agent Knowledge Management Architecture

Multi Agent Knowledge Management Architecture Sheikh Amanur Rahman;Dipti Yadav;Prerna Agarwal;Pankaj Singh Bisht【期刊名称】《软件工程与应用(英文)》【年(卷),期】2012(5)1【摘要】Nowadays, knowledge in Public Sector environment becomes very vast and increasing day by day at speedy pace. So, to handle and manage the knowledge becomes a tedious job, resulting into degrading the overall affectivity and productivity of the system. Hence, the need of effective architecture arises, which can increase the performance of disseminating knowledge in public sector. This results the implementation of knowledge management (KM) using Multi Agents (MA). Using Multi Agents reduces the time overhead for serving relevant knowledge to end users. The objective of this paper is to propose KM architecture using MA which will be helpful and effective in circulating knowledge to public sectors in a much better and easier manner, due to which it enhances the productivity and performance. The paper firstly, gives the understanding of literature on various knowledge management frameworks and tools for implementing Multi Agents. Then it proposes a MA enterprise knowledge management architecture (MAEKM), stating that how knowledge circulation will be done. At the end, using JADE framework, paper implements MAEKM architecture for public sector. The paper describes thenecessity of implementing this architecture and its usefulness in disseminating knowledge in public sectors.【总页数】8页(P33-40)【关键词】Knowledge;Management;Multi-Agent;System;MAEKMA;Enterprise;Public;Sector;Unit;(PSU);JADE【作者】Sheikh Amanur Rahman;Dipti Yadav;Prerna Agarwal;Pankaj Singh Bisht【作者单位】不详【正文语种】中文【中图分类】F2【相关文献】1.An architecture of knowledge management system based on agent and ontology [J],2.An Ontology Reasoning Architecture for Data Mining Knowledge Management [J], ZHENG Liang LI Xueming3.Introducing Intelligent Agents Potential into a competent Integral Multi-Agent Sensor Network Simulation Architecture Design [J], A. Filippou;D. A. Karras4.Dual Layered Architecture for Multi Agent Based Islanding and Load Management for Microgrids [J], Al Kulasekara;Ktmu Hemapala;Rarc Gopura因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A Multi-Agent Architecture for anIntelligent Website in InsuranceCatholijn M. Jonker1, Remco A. Lam1,2, and Jan Treur11 Vrije Universiteit Amsterdam, Department of Artificial IntelligenceDe Boelelaan 1081a, 1081 HV Amsterdam, The NetherlandsURL:http://www.cs.vu.nl/~{jonker,treur}. Email: {jonker,treur}@cs.vu.nl2 Ordina Utopics BV, Leusden, The NetherlandsAbstract. In this paper a multi-agent architecture for intelligent Websitesis presented and applied in insurance. The architecture has been designed andimplemented using the compositional development method for multi-agentsystems D ESIRE. The agents within this architecture are based on a genericbroker agent model. It is shown how it can be exploited to design anintelligent Website for insurance, developed in co-operation with thesoftware company Ordina Utopics and an insurance company.1 IntroductionAn analysis of most current business Websites from the perspectives of marketing and customer relations suggests that Websites should become more active and personalised, just as in the nonvirtual case where contacts are based on human servants. Intelligent agents provide the possibility to reflect at least a number of aspects of the nonvirtual situation in a simulated form, and, in addition, enables to use new opportunities for one-to-one marketing, integrated in the Website. The generic agent-based architecture for intelligent Websites presented in this paper offers these possibilities. It is shown how the architecture has been applied in a project on intelligent Websites in co-operation with an insurance company. The test bed chosen for this project was information and documents that need to be exchanged between insurance agents and the insurance company main office. The goal of the intelligent Website is to provide insurance agents with an accurate account of all available documents and information regarding a specific topic. The supporting software agents are able to provide a match (either strict or soft) between demand and available information. They also support pro-active information provision, based on profiles of the insurance agents that are dynamically constructed.In Section 2 the insurance application domain is introduced. In Section 3 the global design of an intelligent Website is presented; the different types of agents participating in the Website are distinguished. In Section 4 the generic broker agent architecture is described and applied to obtain the internal structure of the agents involved in the Website. In Section 5 the application of the architecture to insurance is discussed in more detail and illustrated by some example behaviour patterns.2 Application Domain: InsuranceOne of the largest insurance companies in the Netherlands works solely on the basis of (human) insurance agents. To better support these agents a Website was created with information about products offered by the firm, forms to support administrative actions and other related information. The site’s aim is to support the insurance agent with their work. To do this a simple setup has been chosen. The Website is structured around four main sections: Store, Desk, Newsstand and Office.The store is the place to go if you want more information about the insurance products offered. The various insurance policies can be found under this heading. Also, request forms for more information, brochures and personalized proposals can be found in this section. From the store a couple of useful programs can be downloaded as well: spreadsheets, an anti-virus toolkit and an insurance dictionary.When the insurance agent is stuck with a problem, he or she can turn to the desk section with questions. Apart from a Frequently Asked Questions page also a form for specific questions the agent might have, is available. In this Website section the editorials can be found that address in depth a certain problem an insurance agent might have. Finally, an address book is available, in which the various departments and teams operating within the company can be found.At the newsstand the visitors of the site can find the latest information. Newsletters can be found. A calendar can be checked for upcoming events and various links to other interesting sites are offered here. Whenever new interesting sites are added, the visitor can be notified of this be email, if he or she wants this. Also an assorted amount of articles is available.At the office, the sale of insurance products is supported. Here resources to improve the insurance agent’s job can be found, like telemarketing scripts, newsletter articles, advertisements that only need further filling out and sales letters. Also, the agent can find its personal production figures for the firm’s products.All this makes the Website a collection of variable information sources. Images, programs, documents, addresses, phonebooks and personal data make it span almost all possible information types. Apart from it having so many different types of information, new information is being added daily. Keeping uptodate with the latest relevant information, can take time with so many different types of information and daily updates. To help the insurance agent managing this the supporting multi agent system was developed to keep the agent uptodate on the latest interesting information.The aim is that the multi agent system integrated in the Website improves the use of the resources such a Website offers. From the visitors point of view, more interesting information can be found, even things the visitor did not think of before. The agent, with its intimate knowledge of who the user is and what he wants can shorten the time needed for visiting the website. Application forms can be offered, already (partially) filled out by the agent. The maintainers can use information collected through the multi agent system to develop a more direct form of marketing. Without much research the appropriate visitor can be contacted about new products or offers that are interesting to him or her. Visitor information can be used to find out what a visitor is interested in and so a personalised product offer could be offered.3 A Multi-Agent Architecture for Intelligent WebsitesIn this section a global multi-agent architecture, that can be used as a basis for an intelligent Website, is introduced. First, in Section 3.1 the top level process composition of the multi-agent system is presented. In Section 3.2 for each of the two types of agents in the multi-agent architecture, basic (external) agent characteristics and behaviours are identified and requirements are expressed. After this global view, in Section 4 the internal structure of the agents is discussed. Although the architecture is generic, for reasons of presentation some of its aspects will be illustrated in the context of the insurance application.3.1 The Overall ArchitectureThe domain has been identified as a multi-agent domain. Therefore, it makes sense to start with the agents as the highest process abstraction level within the system. Four classes of agents are distinguished at the level of the multi-agent system: customers (human agents), Personal Assistant agents (software agents), Website Agents (software agents), employees (human agents); see Fig. 1. The shaded area at the right hand side shows the agents related to the Website; the shaded area at the left hand side shows the two agents at one of the customer sites. In this figure, for shortness only two Website Agents, one employee, one Personal Assistant agent and one customer (user of the Personal Assistant) are depicted. In the application to insurance, the Website Agents are one-to-one related to the departments within the (insurance)company responsible for distinguished parts of the Website.Fig. 1. The overall multi-agent architectureNote that the Personal Assistant is involved as a mediating agent in all communication between its own user and all Website Agents. From the user it can receive information about his or her interests and profile, and it can provide him or her with information assumed interesting. Moreover, it can receive information from anyof the Website Agents, and it can ask them for specific information. The Website Agents communicate not only with all Personal Assistants, but also with each other and with employees. The customer only communicates with his or her own Personal Assistant. This agent serves as an interface agent for the customer. If a customer visits the Website for the first time this Personal Assistant agent is instantiated and offered to the customer (during all visits).3.2 The Software AgentsIn this section the agents are considered from outside only. Which structures are inside remains hidden; the internal structure will be presented in Section 4. The following external agent concepts to define interaction characteristics are used:• interaction with the world (observation, action performance)• communication with other agentsFor the Website agents the interaction characteristics are:Observation- its own part of the Website- presence and behaviour of customers visiting the WebsiteP erforming actions- making modifications in the Website- showing Web-pages to a customer and PACommunication with other agents- from PA: requests for information, customer profile information, customerprivacy constraints- from other WA: info on scopes, customer infoFor the Personal Assistants the interaction characteristics are:Observation- notice changes and offers at the Website- look at the Website for items within the customer’s needsCommunication with other agents- from WA: info on available information, offers- from Customer: customer needs and preferences, privacy constraints- to WA: customer needs, profile information- to Customer: info on available information4 The Internal Design of the Software AgentsThe agents in the application have been designed on the basis of a generic model of a broker agent. The process of brokering involves a number of activities. For example, responding to customer requests for objects (the word object will be used to indicate either a product or an information object such as a text or a form) with certain properties, maintaining information on customers, building customer profiles on the basis of such customer information, maintaining information on products,maintaining provider profiles, matching customer requests and product information (in a strict or soft manner), searching for information on the WWW, and responding to new offers of products by informing customers for whom these offers fit their profile. In this section a generic broker agent architecture is presented that supports such activities. This generic model has been used as a basis for both the Website Agents and the Personal Assistant agents introduced in Section 3.4.1 A Generic Broker Agent ArchitectureFor the design of the generic broker agent the following main aspects are considered: process composition, knowledge composition, and relations between knowledge and process composition. A compositional generic agent model (introduced in [2]), supporting the weak agency notion (cf. [11]) is used. At the highest abstraction level within an agent, a number of processes can be distinguished that support interaction with the other agents. First, a process that manages communication with other agents, modelled by the component agent interaction management in Fig. 2.Fig. 2. Composition at the highest level within the broker agentThis component analyses incoming information and determines which other processes within the agent need the communicated information. Moreover, outgoing communication is prepared. Next, the agent needs to maintain information on theother agents with which it co-operates: maintenance of agent information. The component maintenance of world information is included to store the world information (e.g.,information on attributes of objects). The process own process control defines different characteristics of the agent and determines foci for behaviour. The component world interaction management is included to model interaction with the world (with the World Wide Web world, in the example application): initiating observations and receiving observation results.The agent processes discussed above are generic agent processes. Many agents perform these processes. In addition, often agent-specific processes are needed: to perform tasks specific to one agent, for example directly related to a specific domain of application. The broker agent may have to determine proposals for other agents. In this process, information on available objects (communicated by information providing agents and kept in the component maintenance of world information), and about the scopes of interests of agents (kept in the component maintenance of agent information), is combined to determine which agents might be interested in which objects. Fig. 2 depicts how the broker agent is composed of its components.Part of the exchange of information within the generic broker agent model can be described as follows. The broker agent needs input about scopes of interests put forward by agents and information about attributes of available objects that are communicated by information providing agents. It produces output for other agents about proposed objects and the attributes of these objects. Moreover, it produces output for information providers about interests. For more details; see [5].4.2 Internal Design of a Website Agent and Personal AssistantThe broker agent architecture provides an appropriate means to establish the internal design of the two types of agents involved. In this section four of the components of a Website Agent are briefly discussed. For a Website Agent, the internal storage and updating of information on the world and on other agents (the beliefs of the agent) is performed by the two components maintenance of world information and maintenance of agent information. Profile information on customers is obtained from Personal Assistants, and maintained with the customer’s permission. Also identified behaviour instances of the Personal Assistants can give input to the profile. Maintenance of world information includes: info on available information. Maintenance of agent information includes: info on customer profiles, customer privacy constraints, other WA’s scopes. Within the agent specific task component matching techniques are employed to relate demands and offers.For the Personal Assistant, as for the Website Agent, the internal storage and updating of information on the world and on other agents is performed by the two components maintenance of world information and maintenance of agent information. Maintenance of world information includes information on available information. Maintenance of agent information includes: customer needs and profile, customer privacy constraints, WAs scopes5 The multi-agent system’s behaviourThe multi-agent system’s behaviour will be explained for two cases: behaviour initiated by an information request of a user (user initiated), and behaviour initiated by update or addition of information to the Website (Website initiated). In both cases, after initiation a reactivity chain is trigered. In the first case the main reactivity chain follows the path user-PA-WA-PA-user; the first half of this path deals with the queries, and the second half (back) with answers on these queries. In the second case the main reactivity chain follows the path WA-PA-user-PA-WA; here the first half deals with volunteerly offered information (one-to-one marketing), and the second half (back) with feedback on usefulness of the offered information (in order to update profile information).5.1 Information used in the systemThis system is a prototype, as such it does not work with the actual information on the Website. Instead a sample of the information objects on the Website was taken and a description of each of these was made.Fig. 3. User interface for asking questions and stating user interestIn deliberation with people from the insurance company the following attributes were selected to describe the information:• Title: The title of the information object.• Author: The department or person that created the information object.• Subject: Subject of the information object.• First Relation: The first related subject.• Second Relation: The second related subject.• Date: Date of creation/availability.• Language: What language the information is in.• Persistency: An indication of how soon the information will be outdated.• Kind: The form which the information object takes (mailform, text, audio, etc.).• Type: The type of of information the information object contains (FAQ, newsletter, personal information, etc.).• URL: The hyperlink to where the actual information object can be found5.2 Behaviour initiated by a userWhen a user asks a question, several things happen simultaneously in the Personal Assistant agent. The question is analysed to find similarities to previous questions and if these exist, new interests are created. Also, the agent tries to respond to the information request by finding information available within the PA itself and by contacting the appropriate Website Agents. To keep things clear, first it is described how an answer to a question is found. Next, the process of updating the user profile is discussed.Handling a question. First the behaviour as it appears to the user is described after which a more detailed description is given of what happens within the multi agent system itself.Fig. 4. Display for the answers to questions and offers made by a PAThe user interactionA user wants information about car insurance. So the user communicates this question to the personal assistant using the interface (Fig. 3). The user selects the subject ‘car insurance’ in the scrollable list under the heading ‘Subjects’ and presses the button ‘Question’. The Personal Assistant will start to acquire useful information on behalf of its user.Fig. 5. Details of the information foundFirst it looks into all the information it has already gathered and then it will contactappropriate Website Agents for more information. All the gathered information is thencommunicated to the user, using the display in Fig. 4. Each title is clickable to get adescription of the information (Fig. 5). Within this description a user can indicatewhether or not he or she evaluates the information as interesting.The processes within the multi-agent systemWhen the user communicates a question to the Personal Assistant agent, this agentanalyses this question in the component agent interaction management. The question itselfis then related to the task specific component determine proposals in the PersonalAssistant. In the component determine proposals this question is then matched to theinformation objects in the memory of the agent (component maintenance of world information). It is matched against all the information objects the agent has knowledge of. Two types of matching are covered: strict matching and soft matching. For strictmatching, attributes need to have exactly the same value, or an overlapping valuerange. For soft matching, it can be specified when values of attributes are consideredclose (but not necessarily equal) to each other. This closeness relation may be basedon various techniques. In the current prototype the closeness relation for the subjectattribute is taken as a point of departure, abstracting from the manner in which it isdetermined (it is assumed to be specified in any manner). One of the matching rules is:if query(Q:QUERY_ID, scope(subject, S:SUBJECT))and object_scope(O:OBJECT_ID, scope(related_subject, S:SUBJECT))then possible_answer_to_query(O:OBJECT_ID, Q:QUERY_ID);Subject is being matched with the related subject. If this rule succeeds, the object is selected as a possible answer. For this possible answer to become a definite answer, the object must not differ on another attribute; see the following rule:if query(Q:QUERY_ID, scope(A:ATTRIBUTE, V1:VALUE))and object_scope(O:OBJECT_ID,scope(A:ATTRIBUTE, V2:VALUE))and not A:ATTRIBUTE = subjectand not V1:VALUE = V2:VALUEthen rejected_answer_for_query(O:OBJECT_ID, Q:QUERY_ID);Then with the following rule the final answer to the question is derived:if possible_answer_to_query(O:OBJECT_ID, Q:QUERY_ID)and not rejected_answer_for_query(O:OBJECT_ID, Q:QUERY_ID)then selected_answer_to_query(O:OBJECT_ID, Q:QUERY_ID);Simultaneously, in the same component, the Website Agents the Personal Assistant is aware of are considered for further information. This is done in three steps. First, the Personal Assistant agent looks for a Website Agent that is known to provide information about the same subject (part of the Personal Assistant’s agent model for the Website Agent, expressed in webagent_subject(W:WA, S:SUBJECT) within component maintenance of agent information) as the subject to which the question refers:if query(Q:QUERY_ID, scope(subject, S:SUBJECT))and webagent_subject(W:WA, S:SUBJECT)then main_wa_for_answer(W:WA, Q:QUERY_ID)and found_wa_for_query(Q:QUERY_ID);This rule will not succeed however when the question does not contain a subject term or when no appropriate Website Agent subjects are known. Then the Personal Assistant agent can fall back to a second method of finding an appropriate Website Agent, by considering another part of its agent models of Website Agents:if query(Q:QUERY_ID, S:SCOPE)and can_provide_scope(W:WA, S:SCOPE)then secondary_wa_for_answer(W:WA, Q:QUERY_ID)and found_wa_for_query(Q:QUERY_ID);Finally as a fail-safe, each personal assistant has a default Website Agent it can contact when it does not know whom to turn to. This default WA is stored in the component own process control and is for this purpose also available in the component determine proposals. The final selection of the WA to contact is done by the following three rules:if main_wa_for_answer(W:WA, Q:QUERY_ID)then selected_wa_for_answer(W:WA, Q:QUERY_ID);if secondary_wa_for_answer(W:WA, Q:QUERY_ID)then selected_wa_for_answer(W:WA, Q:QUERY_ID);if not found_wa_for_query(Q:QUERY_ID)and default_wa(W:WA)then selected_W:WA_for_answer(W:WA, Q:QUERY_ID);Now the selected_wa_for_answer terms and the selected_object_for_query terms are transferred to the component agent interaction management where communication is initiated to the selected Website Agent(s).A Website Agent receives the question and handles it in the same way the Personal Assistant handled it. The component determine proposals tries to find a match with the known information objects. The matches it comes up with are then communicated back to the Personal Assistant. By the component agent interaction management of the PA the received answer is then passed on to its user.if communicated_by(query_answer(Q:QUERY_ID, object_scope(O:OBJECT_ID, S:SCOPE)), pos, W:WA)then to_be_communicated_to(query_answer(Q:QUERY_ID, object_scope(O:OBJECT_ID, S:SCOPE)), pos, user);However, the information about the object is also stored by the personal assistant, so that in the future it can supply this information by itself.Update of user profile. In this prototype focus lay on the agent interaction and document selection. Profile management had a lower priority. Therefor the used mechanisms for profile management are very simple, without extensive research behind them. As stated earlier, the PA compares questions with each other. When similarities are found in enough questions, these similarities are then added as new user interests to the system. This is done in the (composed) component interest creator.A question is first compared to all other questions. A simple method has been chosen to create these candidates, whenever three different questions match on one or more attribute values, these attribute-value pairs are combined to a candidate interest specification:if asked(query(Q1:QUERY_ID, scope(A:ATTRIBUTE, V:VALUE)))and asked(query(Q2:QUERY_ID, scope(A:ATTRIBUTE, V:VALUE)))and asked(query(Q3:QUERY_ID, scope(A:ATTRIBUTE, V:VALUE)))and not Q1:QUERY_ID = Q2:QUERY_IDand not Q1:QUERY_ID = Q3:QUERY_IDand not Q2:QUERY_ID = Q3:QUERY_IDthen candidate_for_interest(candidate_id(Q1:QUERY_ID, Q2:QUERY_ID,Q3:QUERY_ID), scope(A:ATTRIBUTE, V:VALUE));Extra constraints could be added to the creation of these candidates. For example, the questions must be asked within a certain (temporal) distance of each other. The three query id’s are combined to create a temporary candidate id. The created candidate is then compared to the already existing interests.if candidate_for_interest(C:CANDIDATE_ID, scope(A:ATTRIBUTE, V1:VALUE)) and belief(interest(I:INTEREST_ID, scope(A:ATTRIBUTE, V2:VALUE))and not V1:VALUE = V2:VALUEthen different(C:CANDIDATE_ID, I:INTEREST_ID);Because this component is reasoning about changes in interests, it is at a meta-level compared to the component maintenance of agent information, in which the interests aremaintained. So reasoning about interests is done by encapsulating them with the term belief, as was done in the above rule.if new_interest_id(I:INTEREST_ID)and approved_candidate(C:CANDIDATE_ID, S:SCOPE)then to_be_created(interest(I:INTEREST_ID, S:SCOPE));If a candidate is not a duplicate of an already existing interest it can be added to the user interests. First a unique interest identifier is created and then the new interest is created in the component maintain agent information by way of an information link.5.3 Behaviour initiated by the WebsiteFor a second type of behaviour, iniatied by the Website, also first the behaviour to directly serve the user interaction is discussed, and next the behaviour of to update the user profile is described in more detail.Offering the user new information. First the behavior as it appears to the user is described after which a more detailed description is given of what happens within the multi agent system itself.The user interactionEvery once in a while the Personal Assistant will notify its user on its own initiative of interesting information it has found. This is done in the same display where answers to information requests are displayed (see Fig. 4). But now on the bottom half of the screen. Again, the user can click on a title to get more information about the proposal (Fig. 5). As with the responses to an information request, the user can choose to accept the proposed information or to reject it.The processes within the multi-agent systemWhen new information becomes available at the Website, the Website Agent starts to look for possible interested parties. Just as the Personal Assistant has built a profile of its user, the Website Agent has built a profile of the Personal Assistants it has been in contact with. In the component determine proposals of the Website Agent this information is matched to the Personal Assistants interests it has collected over time:if new_object_scope(O:OBJECT_ID, S:SCOPE)and interest(P:PA, I:INTEREST_ID, S:SCOPE)then partly_matched_new_object(O:OBJECT_ID, P:PA, I:INTEREST_ID);For each scope in the new object a comparison is done against the interests. When they match, the object is partly selected: that specific scope is matched to the interest. However, on another scope, the interest and the new object may differ. Only if none of these differences exist will the object be selected. The offer is then made in the component agent interaction management.。

相关文档
最新文档