A framework for distributed agent-based engineering design support

A framework for distributed agent-based engineering design support

Automation in Construction 10 Ž2001. 631–637 www.elsevier.comrlocaterautcon A framework for distributed agent-based engineering design support Brian ...

62KB Sizes 2 Downloads 126 Views

Automation in Construction 10 Ž2001. 631–637 www.elsevier.comrlocaterautcon

A framework for distributed agent-based engineering design support Brian Lees a,) , Cherif Branki a , Iain Aird b a

Department of Computing and Information Systems, UniÕersity of Paisley, Paisley, PA1 2BE, Scotland, UK b Department of Computer Studies, Glasgow Caledonian UniÕersity, Glasgow, G4 0BA, Scotland, UK

Abstract Concurrent engineering draws together team working and cooperation, with the aim of reducing the need for costly design modifications in the later stages of design and product development. However, the complexities arising in the process of design, in general, defy formal analysis and computational support is required. In providing intelligent computational support for concurrent engineering, a combination of various problem-solving strategies may be required for complex design situations. It is proposed that an appropriate model for such provision is in the form of a set of interacting autonomous intelligent agents, possessing different problem-solving capabilities and differing degrees of intelligence. The requirements for such agent-based design support are discussed and possibilities for its realisation, with the aid of Web technology, in a distributed design environment are explored. q 2001 Elsevier Science B.V. All rights reserved. Keywords: Intelligent agents; Engineering design; Concurrent engineering; Co-operative design

1. Introduction In what might be referred to as the traditional approach to design, designers produce a design solely from their own viewpoint. But this approach fails to consider the effect of early design decisions on possible later design modifications. Furthermore, in a competitive market environment there are strong pressures to reduce design and development times and to reduce overall costs. The traditional approach is inadequate in meeting these needs. In complex design situations, a teamwork approach is necessary to alleviate the above-mentioned problems. This is an important basis for the concur-

)

Corresponding author. Tel.: q44-141-848-3311. E-mail address: [email protected] ŽB. Lees..

rent engineering approach, the rational for which is that decisions made early in the design process should not have an adverse effect on the later design stages. Concurrent engineering has been described as an approach to product management, which is aimed to reduce time-to-market, with shorter development cycle times at lower cost, through multi-discipline team-working w12x. An important aim in the development of concurrent engineering is to reduce the need for modifications to a design in its later stages, which can prove to be costly. Moreover, Harrington et al. w9x points out that because concurrent engineering provides a means of sharing life-cycle perspectives, it aims to avoid conflicts in the later design stages through early consideration of the relevant issues, thus enabling a higher degree of conflict anticipation than is the case with the more traditional sequential design process.

0926-5805r01r$ - see front matter q 2001 Elsevier Science B.V. All rights reserved. PII: S 0 9 2 6 - 5 8 0 5 Ž 0 0 . 0 0 0 7 1 - 6

632

B. Lees et al.r Automation in Construction 10 (2001) 631–637

For all but the simplest of projects, the process of design is undertaken by a group or groups of heterogeneous designers. Each of these individuals or groups will normally work on distinct Žbut sometimes overlapping. parts of the overall design, and will operate from different perspectives. Effective communications and accessibility to design data and standards, past records and documented design histories are very important. The problem is particularly acute in the case of a distributed design team; for cohesion and efficient operation much reliance needs to be placed on computational design support. In this paper, an agent-based approach to concurrent engineering design support is advocated. After outlining a few issues relating to intelligent computational systems support for design in general, the particular features of multi-agent systems are discussed. Then the important issue of learning in agent systems is considered. The essential requirements of an agent-supported design environment are identified, after which proposals for an agent-based system are presented. After considering the communication needs for distributed agent-based support, the paper concludes by reporting on the results of earlier work which provide some of the components for agentbased design support.

2. Intelligent systems and design Since the results of artificial intelligence ŽAI. have been applied, in the form of intelligent knowledge-based systems ŽKBS., to the domains of inter alia medicine and commerce, with notable success, it is perfectly understandable that attention should also have been paid to the investigation of AI methods in the domain of engineering. Indeed, in recent years, an interdisciplinary research community has evolved, whose focus of attention is one particular aspect of engineering, namely, design. Investigations in this area attract, on one hand, AI researchers who are keen to apply AI problem-solving methods to complex real-world problems, and, on the other hand, engineers who are seeking more intelligent design support for an activity that is becoming increasingly computer dependent. One approach to the application of AI to design is to embed a KBS in a commercial computer-aided

design ŽCAD. system, This is the strategy of, for example, Reinschmidt and Finn w14x who point out that the advantages of this are that:

v

v

v

v

the approach can provide an explanation facility for the system’s sequence of inferences; the user can concentrate on interactions at the knowledge level, without worrying about the detailed function calls to the CAD system; the knowledge-base is separate from the inference engine, thus enabling a single inference procedure and CAD interface to handle several knowledgebased applications; use of the knowledge-base supports concurrent engineering by ensuring that a designed part meets the requirements of all relevant engineering disciplines, thus reducing time consuming design iterations.

It may be added that this approach also facilitates incremental systems development.

2.1. A strategy for AI design support The activity of design requires an ability to construct, evaluate, and act on alternative perceived scenarios of the future, the richness of which depends on the richness of past experience. Although a large quantity of knowledge may be available and which, potentially, may assist the designer, it is not possible to predict, in advance, exactly how such knowledge may be used in the design. This is exactly the kind of situation in which the adoption of an AI approach may be appropriate. The aim in applying AI methods may be, for example, to advise the designer in the creation of a new product, given its functional specification; or to trace the actions and decisions made by the designer; or to draw to the attention of the designer the possibility for the reuse of previous design experience, appropriate to the current task. In developing a strategy for the provision of AI support for the designer, one might start with one of several proposed models of design, as, for example, given by Evbuomwan et al. w6x and to develop an

B. Lees et al.r Automation in Construction 10 (2001) 631–637

intelligent design support system that might guide the designer through the particular model. However, it is argued that with an essentially creative activity such as design better acceptance of the system, by practising designers, may be expected to be gained by the employment of a less prescriptive approach. Thus the approach advocated is one which provides a collection of AI-based tools which are available to provide guidance and advice to the designer when she or he requests it. It is emphasised that the design environment should be unobtrusive, by providing support only when required by the designer. Furthermore, although a rule-based KBS approach has various merits, as indicated above, it is argued that the complex activity of design may be more effectively supported by the provision of a collection of supporting software components, which embody separate and distinct AI problem-solving mechanisms, for the solution of disparate problems associated with the process of design. The kind of problem-solving components provided in such a design support environment include, but are not restricted to: v

v

v

v

a rule-based inference mechanism — for operation with a knowledge-base containing accumulated design knowledge; a constraint satisfaction mechanism — as an aid in maintaining the integrity of the design, by reference to design standards, customer requirements specifications and knowledge of previous manufacturing and product capabilities; a case-based reasoning mechanism — to utilise knowledge derived from previous design experience; neural network mechanisms — to provide pattern recognition and classification capabilities in situations which involve noisy or fuzzy data.

Clearly, a large monolithic system architecture would be an unsuitable means of creating the kind of system just described. Moreover, for supporting distributed co-operative design a decoupled system providing effective communications facilities is required. It is believed that an architecture incorporating a collection of interacting autonomous agents represents an appropriate model for the realisation of such a system.

633

3. Multi-agent systems An agent is an entity whose state may be considered to consist of mental components such as beliefs, capabilities, choices and commitments w16x. An agent can thus be regarded as an entity that operates continuously and largely autonomously with little guidance or intervention, possibly within an environment which, typically, may be highly dynamic and unpredictable, and within which other agents coexist and operate. According to Werner w19x, a multi-agent system may take the form of a software system, or a collection of robotic agents, or a group, organisation or society of humans; i.e. in essence, reactive systems that interact with their environment in order to perform a specific task, or tasks. Such a system is concerned with coordinating the expertise, knowledge and plans of several agents to achieve a common purpose. Multi-agent systems are particularly suitable for supporting collaborative work where knowledge of, and communication between, members of the working group are essential. Where such teams are composed of specialists, each making use of software tools appropriate to their particular needs, considerable problems may arise in the sharing of information between members working together over a network; the solution of this problem is the subject of much current research.

4. Machine learning in agent systems Learning is an important characteristic of intelligence and, though not exhibited by all intelligent software systems, is, nevertheless, a very desirable attribute. In the case of multi-agent systems, there are two important reasons for the introduction of machine learning capabilities w5x: Ži. to enable the system to adapt to the domain Žand to the problems it has to solve., and Žii. to enable the agents to adapt to each other. However, it should be appreciated that the aim of computational research in support of learning ’should not be to produce learning algorithms that mimic human learning behaviour, but rather should be to produce computational environments that fit and enhance human practice w13x.

634

B. Lees et al.r Automation in Construction 10 (2001) 631–637

In the context of multi-agent systems, machine learning needs to be targeted at both the domain and also at the interaction-related knowledge of the agents. It is generally accepted that students learn more efficiently if they are able to discuss what they have learned individually among themselves; similarly, it is to be hoped that integrating the learning of multiple agents in a system might produce similar benefits. Various strategies have been implemented to address this issue, of which several are: Ž1. all agents collect data, but all data collected is then passed to a central learning agent w15x; Ž2. several agents learn, but do not communicate during the learning process; the contrasting knowledge of these agents is then taken into account during problemsolving. Gams w8x shows that this model can achieve superior performance, in comparison with models that are restricted to a single knowledge base; Ž3. agents learn individually, then integrate that knowledge — what Brazdil and Torgo w3x refer to as ‘distributed re-learning’; this integration of knowledge is capable of producing significant improvements in performance over individualised learning systems, possibly by acting as a ‘symbolic filter’ for noisy knowledge w4x; Ž4. each agent learns individually but solicits the opinions of other agents on the hypotheses that it forms, with the objective of achieving a consensus w17,18x; this has the advantage of allowing early testing of hypotheses.

5. Agent-based design environment Having considered some aspects of concurrent engineering and the role that AI methods may play in support of design, particularly in the form of a multi-agent system, an outline of such a design support environment is now presented. First the design-oriented aims of the environment are stated. 5.1. Aims The general aims of the agent-based design support environment are: v

v

to provide computational support for concurrent engineering, to support distributed cooperative design,

v v

v

v

to assist in maintaining design constraints, to alert the designer when safety constraints are in danger of being violated, to compile design histories, through the tracing of detailed design processes, to support, where appropriate, the reuse of designs.

5.2. Agent types Agents operating in the design environment fulfil differing roles, either as part of the problem-solving process, or as part of the communications infrastructure. The various kinds of agent are outlined below. 5.2.1. User interface agents Each user is associated with a user interface agent ŽUIA. which is responsible for managing and monitoring all user interactions and implementing the level of communication necessary for a given user and task combination. Unlike conventional systems where the interface remains static throughout a session, a UIA, by keeping track of a user’s progress and by using its internal model of users profiles, can tailor the dialogue to the user’s level of expertise and performance history. To perform this function, the interface agent has several mechanisms at its disposal for maintaining interaction with the user. The primary mechanism is a generic set of dialogue objects which are presented to the user depending on the type of user and their level of expertise. A UIA is the means of communication between the other agents in the environment and the user. 5.2.2. Design critics Designers can be assisted by critics w7x, in the form of intelligent agents which need to obtain the designer’s goals Žeither by recognising them, or from explicit designer input.. Critics are associated with particular design concerns and have individual tasks; for example, maintenance of design constraints, or recognition of patterns of design activity. Critics communicate with the user, when necessary, via the user’s UIA.

B. Lees et al.r Automation in Construction 10 (2001) 631–637

5.2.3. SerÕice agents SerÕice agents ŽSA. perform the detailed processing operations in the system. They may possess some ’intelligence’ by incorporating an AI problem-solving method; alternatively, they may perform relatively simple tasks, for example, providing an interface to a CAD database. The CAD database accessed by the Service agents may contain design information which is able to be re-used in new designs or consulted in order to obtain, for instance, the rationale behind certain design decisions. While such databases contain rich design information, which is well structured, the interpretation and recognition of the relevance of such information may be difficult and require sophisticated reasoning mechanisms. 5.2.4. Agent communications serÕer An agent communications serÕer ŽACS. is used by the collaborating agents to share data and knowledge, and also system intelligence and processing capabilities. The ACS supports reliable interaction of agents with shared resources, and with shared computer and communication resources. The ACS provides both asynchronous and synchronous message delivery services to agents that are distributed among the designers’ workstations. Messages flow over logical conversation paths, where path connections may be established between co-operating agents or between queue servers located at designers’ workstations. In the latter case, a connectionless communication service is provided, in which agents’ messages are added to queues which may reside anywhere within the agent network environment. Messages are retrieved from queues local to a designer’s workstation, either upon agent request or upon receipt of certain message types that trigger the activation of co-operative agents.

level of operation, Level 2, in terms of the particular type of information or knowledge processing that is being performed. Processing at this level is carried out by service agents; these may be simple procedural agents without any intelligence. They may also include agents whose task is to carry out some automated reasoning or knowledge handling activity; they may thus be, for example, rule-based agents, case-based reasoning agents, or artificial neural network agents. To perform their tasks, some of these agents may require access to knowledge-bases, databases or case-bases. Level 2 therefore represents the level of AI processing. Although there will normally be a one-to-one correspondence between critics and agents at the functional level, it could be the case for certain situations that a single critic may require the services of two or more cooperating service agents, which report to the critic. Such a situation represents a hierarchical structure of agents at different levels and in which an agent at the higher level possesses some control over its collaborating agents at the lower level. To support co-operative processing among agents in a distributed environment, the agent communication server is located at a lower level, Level 3. Agent communications are explained in the following section. 5.4. Agent communication Agents may select service options that determine: v

v

5.3. Processing leÕels Data and knowledge processing and communications take place at different processing levels. At the highest level, Level 1, design reasoning is represented. Also at this level are situated the UIAs, providing the means of interaction between Žhuman. users and agents, and which could possibly provide some natural language processing capability. Critics have specific goals. The processing tasks required by each critic may be considered at a lower

635

v

v

v

whether message exchange is to occur synchronously or not, and at which of four priority levels; whether explicit responses are required to specific messages; whether specific agents must be activated upon receipt of certain messages; message types that are persistent across system malfunctions; message context values associated with origin and identity.

Task-oriented dialogues are supported in part through a conversation mapping service, which acts

636

B. Lees et al.r Automation in Construction 10 (2001) 631–637

on either one or both ends of the conversation path. The mapping function allows additional information about task objectives and resources to be attached to each message that flows over a specific path. Mapping data may be combined with the original message for delivery of a single, mapped message or the mapping data may be delivered separately, for display by agent processes. Conversation mapping information may be changed at any time by authorised agents, to reflect the progress and status of the planning process. Reliable communication of data and knowledge is supported through alternate path selection, peer-topeer transactions and message persistence. Alternate paths may be necessary when physical links between geographically dispersed workstations are interrupted or taken out of service. Or a new designer may wish to join a co-operative planning session through a communication link that is not currently in use by the active players. The ACS supports a set of transparency services that provide many of the benefits of distributed computing, including server replication, service migration, location independence, service concurrency, and a limited degree of failure transparency. All the information describing a co-operative design task is held in a persistent message queue: after a malfunction, it can be recovered by the appropriate server, and the task restarted. 6. Use of the web The Web represents the first true large-scale distributed application of network computing. It also solves some of the problems associated with clientrserver technology: it is easy-to-use, and provides a low-cost, open, deployment platform. As a generic platform for large-scale, distributed applications, however, it presents problems of its own: it lacks scalability, mission-critical services, security and a simple means of developing applications. If the Web is to evolve from an electronic ‘library’ to a true design platform, capable of handling secure transactions on both private intranets and public internets, additional challenges must be faced: how to provide data security, integrity, distributed transaction support and robust, scaleable, reusable extensibility.

To meet these challenges, network-aware objects are required which are capable of operating across any combination of systems, languages, applications, tools and hardware. Distributed object technology can enhance the existing nature of Web-based and client-server computing in several ways: v

v

v

v

v

developers will be able to create new applications by linking objects containing the business logic of the enterprise; development teams may organise, share and evolve objects in parallel; objects distributed across a network may provide inter-operability and platform independence; distributed objects may be partitioned across the network for better utilisation of system resources; object wrappers may enable distributed objects to interface with legacy applications.

Many technologies are currently competing to provide the infrastructure for large-scale distributed applications. Each technology, such as HTTPr HTML, CORBA, IIOP, ActiveX, DCOM, Java, etc., offers new and different possibilities to the user. They all, however, have the potential to limit the ability of the system to respond to change. Each tool, technology or application programming interface represents a significant risk, through investment in software, training and infrastructure. It is unlikely that any single technology or standard will become dominant in the foreseeable future. What is required, therefore, is the ability to exploit the advantages of each environment, while retaining the ability to integrate existing systems with new web and object technologies.

7. Conclusion The ideas presented in this paper build on the work already done on co-operative building design using CORBA in the Co-operative Design Project w2,11x. This project is concerned with developing software environments to provide support for design collaboration across heterogeneous platforms, and designing intelligent software agents to support collaborative design.

B. Lees et al.r Automation in Construction 10 (2001) 631–637

The paper has presented an approach to design support through the application of AI and agent-oriented technology. Components necessary for the full realisation of this approach have been proposed. Some of the components already exist from previous research, in which the aim was to provide Ži. software tools to support the traceability and monitoring of designers’ actions, and Žii. an environment for computer-supported cooperative work w10x. A particular emphasis in this work was on a process-based approach w1x to the provision of support in the early, conceptual, stage of design. No attempt was made to support any particular model of design. The approach adopted was to create: Ži. an electronic analogue of the designer’s journal Žin which engineering designs are traditionally recorded. which enables design protocol to be captured, and a design history recorded, that can be later inspected and critiqued. The implemented On-Line Design Journal ŽODJ. is supported by an associated protocol agent which monitors the use of standard software to summarise and report on activities, to support self management and reflective working; Žii. a Designer’s Assistant ŽDA. in the form of a software agent operating on each designer’s machine, which detects the current focus of attention, known as a concern, in the designer’s work; the DA also maintains the documentation relating to such concerns. Work episodes are associated with related design concerns and decisions to create records of work, which may then be used to form a memory prosthesis to aid the designer in the recovery, recall and possible reuse of past work. To conclude, it is believed that the exploitation of intelligent agents through the further extension of the ideas and developments in both the above-mentioned projects represents a potentially effective method of providing support for various tasks in the complex process of design. References w1x L.T.M. Blessing, Design process capture and support, in: M. Tichem ŽEd.., Proceedings of the 2nd Workshop on Product Structuring, 1996, pp. 109–121, Delft, June. w2x C. Branki, I. Douglas, Q. Mair, The RoomMove System

w3x

w4x

w5x

w6x

w7x w8x

w9x

w10x

w11x

w12x

w13x w14x w15x

w16x w17x

w18x

w19x

637

Using the Common Object Request Broker Architecture, EuropIA’95, EuropIA Publications, Lyon, France, 1995. P. Brazdil, L. Torgo, Knowledge acquisition via knowledge integration, in: B. Wielinga ŽEd.., Current Trends in Artificial Intelligence, IOS Press, Amsterdam, 1990. P. Brazdil, M. Gams, S. Sian, L. Torgo, W. van de Velde, Learning in distributed systems and multi-agent environments, in: Y. Kodratoff ŽEd.., Proceedings of the 6th European Working Session on Learning ŽEWSL-91., Morgan Kaufmann, 1991. Brown Ž1990.: Design Agents That Learn. AIEDAM Abstracts — ML in Design at htpp:rrwww.arch.su.edu.aur kcdcrAIEDAMrmailboxr0004.html. N.F.O. Evbuomwan, S. Sivaloganathan, A. Jebb, A survey of design philosophies, models, methods and systems,Procs. Instn. Mech. Engrs. Part B: Journal of Engineering Manufacture, vol. 210, 1996, pp. 301–320. A. Fischer et al., Using critics to empower users,Procs. CHI’90, 1990. M. Gams, The measurement highlight the importance of redundant knowledge, in: K. Morik ŽEd.., Proceedings of the 4th European Working Session on Learning ŽEWSL-89., Pitman–Morgan Kaufmann, 1989. J.H. Harrington, H. Soltan, M. Forskitt, Negotiation in a knowledge-based concurrent engineering environment, Expert Syst. 2 Ž2. Ž1995. 139–148, May. B. Lees, D.G. Jenkins, An agent-based approach to conceptual and co-operative engineering design support, J. Des. Sci. Technol. 6 Ž2. Ž1998. 19–33. Q. Mair, C. Branki, An infrastructure for co-operative building design using CORBA, IEEE International Conference on Distributed Platforms, Dresden, Germany, 1996. S. Medhat, Advanced technology management through concurrent engineering, Comput. Control Eng. J. Ž1996. 60–62, April. Y. Reich et al., New roles for machine learning in design, Artif. Intell. Eng. 8 Ž1993. 165–181. K.F. Reinschmidt, G.A. Finn, Smarter computer-aided design, IEEE Expert Ž1994. 50–55, August. J.C. Schlimmer, D. Fisher, A case study of incremental concept induction,Proceedings of the Fifth National Conference on Artificial Intelligence, Morgan Kaufmann, 1986. Y. Shoham, Agent-oriented programming, Artif. Intell. 60 Ž1993. . S. Sian, Adaptation based on co-operative learning in multiagent systems, in: Y. Demazeau, J.-P. Mueller ŽEds.., Proceedings of the 2nd European Workshop on Modelling Autonomous Agents and Multi-Agent Worlds ŽMAAMAW 90., Elsevier, 1991a. S. Sian, Extending learning to multiple agents: issues and a model for multi-agent machine learning ŽMA-ML., in: Y. Kodratoff ŽEd.., Proceedings of the 6th European Working Session on Learning ŽEWSL-91., Morgan Kaufmann, 1991. E. Werner, The design of multi-agent systems, in: E. Werner, Y. Deamazeau ŽEds.., Decentralised A.I. Elsevier, 1992.