KNOWLEDGE-BASED SOFTWARE ENGINEERING phần 2 pps

34 175 0
KNOWLEDGE-BASED SOFTWARE ENGINEERING phần 2 pps

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

A. Takaci and M. Ivanovic / Sub-optimal Journey Supported by Agents 23 implemented. The implementation is deeply based on the Java package LASSMachine, which is a tool for agent programming. An agent programmed using the package LASSMachine possesses its beliefs, intentions, services, plans for service executions, behaviors, and meta-capabilities. It is 'aware' of time and it can be accessed via WWW. More detailed description of LASSMachine is given in [1,2,3] 2.1 Travel Agent Travel agents communicate with users and they have the main role in the parallel search for the sub-optimal journey and in the tickets reservation process. Some of the travel agent services are: 1. WEBSERVICE - enables users to access a travel-agent through the WWW. A WEBSER- VICE asks user to select the destination of their journey, to enter the constrains, and to select the criterion for the optimum value. There are three types of constrains: a. avoidance of particular means of transportation (e.g. airplane), b. avoidance of particular towns, c. avoidance of particular areas (e.g. due to visa problems). The criterion for journey optimum value can be: d. minimal expenses e. minimal traveling time f. cost lower(or around) the given sum g. less(or approximately) time than given. After obtaining user specification, a WEBSERVICE initiates the search. The search result will be presented to user, which can then ask the agent for travel tickets reservation. The ticket reservation may not succeed, because in the meantime someone else can reserve the ticket that the user wants to reserve, and there are no more tickets available. Then the second best solution is offered to the user, repeating the process. 2. GETJOURNEY - searches for the sub-optimal journey from the town where the agent is located to the given town. The service has the following input parameters: a. dest - the destination town of the journey, b. constrain type - parameter that specifies the type of the constrain, c. constraint parameters - value of parameters characteristic for the constrain type. GETJOURNEY is the most complex service in the system. 24 A. Takaci and M. Ivanovic /Sub-optimal Journey Supported by Agents IF destination is directly reachable THEN select the optimal departure; ELSE IF starting town is less important than desti- nation THEN get journeys from every superior town of the starting town to destination; add to each journey the journey from starting town to the corresponding superior town ; select the optimal journey; ELSE obtain superior towns of destination (ask Ge- ographical agent); get journey to all of these towns; add to each journey its remaining part to destination; select the optimal journey; END END Listing 1. Pseudo code of GETJOURNEY service The pseudo code [Listing 1 ] shows that searching for the sub-optimal journey is a task executed using parallel search. The selection of the optimal journey will now be explained. First, journeys which do not satisfy a, b, c type constrains will be eliminated, which is a relatively simple programming task. If a constraint which of d and e type is given, the journey with the minimum price/traveling time is picked. In this paper the focus is on f and g type constrains and how to choose the sub-optimal journey according to them. 3 Choosing the sub-optimal journey For representing approximately like "approximately 10 hours" and "around 200 euro" fuzzy numbers are used. Fuzzy numbers are special mappings from R to [0,1], see [12]. The Gaussian numbers are given by a well known formula Transformed Gaussian fuzzy numbers [fig 1, 2] will be used. The transformation or f1(x) = -f(x) + 1 is applied on depending on weather values higher or lower than the optimal are preferred. A. Takaci and M. Ivanovic/Sub-optimal Journey Supported by Agents 25 1. The Gaussian fuzzy number 10 12 M 16 2. The transformed G(x) The constant a is determined by the parameter of the constrain. The constrain has also an importance parameter i, an integer between 1 and 5. The constant , where the formula has been obtained experimentally. Since two constraints are given (price, traveling time) two values between [0,1] will be acquired from each input. The problem is how to aggregate the previous two values. Since the optimal values have the truth value of 0.5 a uninorm with the unit element 0.5 will be used. A uninorm is a commutative, associative, non-decreasing by components mapping from [0,1] x [0,1] to [0,1], with a unit element e between 0 and 1. For more information on uninorms one can consult Chapter 9 of [12]. Naturally, the uninorm that suits our needs should be strict, meaning if x > y then U(x, z) > U(y, z), and also should prefer values closer to the optimal meaning for exam- ple the trip that costs 90 euros and lasts 11 hours should be aggregate over a trip that costs 80 euros and lasts 12 hours (if the importance factors of the price and journey length constrain are the same and 10 hours and 100 euro are the optimal values). The uninorm generated from this mapping will be used: In(l-x), 0.5<z<l; -1.51n(x), 0.5>z>0. where U(x,y) = u~ l (u(x) + u(y)). It is one of the most common uninorms; when x, y < 0.5, then it is equal to U(x, y) = 0.5 • T p (2x, 2y) = 2xy, while when x,y > 0.5, then U(x, y) = 0.5 + 0.5 • S p (2x - 1,2y - 1). Here T p and S p are one of the common extensions of the conjunction and disjunction respec- tively to the [0,1] interval, [12]. After aggregating values for every journey, the one that has the maximum value of U(x, y) is chosen. 4 Example Lets assume that a trip from Novi Sad (Serbia and Montenegro) to Bratislava (Slovakia) is to be taken. The trip should last "around 8 hours" and it should cost "about 60 euro", and money will have a slightly bigger importance than time. This data will be given to the appropriate travel agent and he will start a parallel search. After the search three possible routs are given 26 ,4. Takaci and M. Ivanovic / Sub-optimal Journey Supported b\ Agents • Novi Sad - Belgrade Airport(bus)-Bratislava(plane) cost=250 euros, length=4.5 hours; • Novi Sad - Budapest -Bratislava(train) cost=58 euros; length=9 hours; • Novi Sad - Bratislava(bus) cost=75 euro; length=8 hours. Let us assume that the importance (/) parameter for cost equals 3, and for the journey length equals 1. Gaussian fuzzy numbers according to the parameters will be formed. Then the number that represents the cost will have and the number that represents journey length Then h, g are transformed [fig. 3,4]. 4. The transformed g(x). When the values for each journey are interpolated and aggregated, the following results will be obtained: U(x. y) calculates the joint values of cost and journey length thus measuring the "value" of each journey. Obviously, the journey with a highest value is chosen. In the example, the journey number 2(train) is selected, because it has the maximum value. 5 Conclusion This prototype is only a step towards a global travel multi-agent system. The reasoning mech- anism applied here is general enough and it can be easily extended to multiple constrains and can be applied on many similar problems. Also, adding fuzzy reasoning to the system allows the system to act more human-like, thus obtaining a certain level of machine intelligence. Since fuzzy reasoning is added as an independent component of the system, it can be used in any part of the system. A. Takaci and M Ivanovic / Sub-optimal Journey Supported by Agents 27 The adding of the fuzzy reasoning component to the system, allowed the system to deal with new type of constraints ( f and g type). Adding a tool to resolve complex contraints to the system, made the system advance from a information service to an advisor to its user. If completely implemented, Global Travel Agency MAS based on the proposed prototype will allow traveling anywhere in the world by only pressing a button and showing up for a ride. Thus, the hard job of booking and choosing the optimal journey is left to the travel agent. References [1] M. Badjonski, "Implementation of Multi-Agent Systems using Java", Master Thesis, Novi Sad, Yu- goslavia, 1998, 156 pages. [2] M. Badjonski, M. Ivanovic, Z., Budimac, "Software Specification Using LASS", Lecture Notes in Com- puter Science, Vol. 1345, Springer-Verlag, 1997, pp. 375-376. [3] M. Badjonski, M. Ivanovic, Z., Budimac, "Agent Oriented Programming Language LASS", Computer Science and Electronic Eng., Horwood Publishing Ltd., 1999. [4] M. Badjonski, M. Ivanovic, A. Takaci, "Agent-Based Travelling", Proc. of 2000 ADBIS - DAS FAA Prague, Eds. Masunaga, Y, Pokorny, J., Stuller J., Thalheim, B., 2000, pp. 11–20, Czech Republic. [5] A. H. Bond, L., Gaser (Eds.), "Readings in Distributed Artificial Intelligence", Morgan Kaufmann, 1988. [6] H. D. Burkhard, "Agent-Oriented Programming for Open Systems", Intelligent Agents, Lecture Notes in Artificial Intelligence, Vol. 890, Springer Verlag 1994, pp. 291–306. [7] N. R. Jennings, "Agent Software", Proceedings of UNICOM Seminar on Agent Software, London, UK, 1995, pp. 12–27. [8] N. R. Jennings, M. Wooldridge, "Application of Intelligent Agents", Agent Technology: Foundations, Applications, and Markets (eds. N. R. Jennings and M. Wooldridge), 1998, pp. 3-28. [9] Y. Shoham, "Agent-Oriented Programming", Artificial Intelligence, 60(l):51–92,1993. [10] A. Takaci, "Multi-agent Systems in Travel Agencies", Diploma Thesis, Novi Sad, 1999, 39 pages (in Serbian). [11] M. Wooldridge, N. R. Jennings, "Agent Theories, Architectures, and Languages: A Survey", Intelligent Agents, Lecture Notes in Artificial Intelligence, Vol. 890, Springer Verlag 1994, pp. 1–39. [12] E. Klement, R. Mesiar, E. Pap, "Triangular norms", Kluwer Academic Publishers, Series: Trends in Logic, Vol. 8, 2000. 28 Knowledge-based Software Engineering T. Welter et al. (Eds.) IOS Press. 2002 Software Agents for Uncertain and Complex Environments Behrouz HOMAYOUN FAR Faculty of Engineering, University of Calgary far@enel. ucalgary. ca Abstract. Complexity, knowledgeability and uncertainty issues of multi-agent systems (MAS) are discussed. Complexity of MAS is composed of structural and algorithmic complexity. We define metrics to measure the complexity of MAS. The metrics are used for devising a candidate set of agents for MAS design. Knowledgeability of MAS is defined in terms of problem solving and cognitive capabilities and the ability to cope with agents' interactions, such as cooperation, coordination and competition. Uncertainty usually arises when agents are engaged in competitive tasks. We devise models and techniques to cope with uncertainty in competitive situations 1. Introduction Nowadays, an increasing number of software projects are being revised and restructured in terms of multi-agent systems (MAS). Software agents are considered as a new experimental embodiment of computer programs and are being advocated as a next generation model for engineering complex, heterogeneous, scalable, open, distributed and networked systems. However, agent system development is currently dominated by informal guidelines, heuristics and inspirations rather than formal principles and well-defined engineering techniques. There are some ongoing initiatives by The Foundation for Intelligent Physical Agents (FIPA) (http://www.fipa.org) and some other institutions to produce software guidelines and standards for heterogeneous, interacting agents and agent-based systems. However, such initiatives fall short to address the quality and complexity issues explicitly. Quality for software systems can be defines in terms of conformance to requirement [3] or fitness for use [8]. In the former, the requirements should be clearly stated and the product must conform to it. Any deviation from the requirements is regarded as a defect. Therefore, a good quality software product may contain fewer bugs. The latter, puts emphasis on meeting user's needs. Therefore, a good quality product provides better user satisfaction. Conventional software quality models, such as CUPRIMDA [9], Boehm's [2], McCall's [12], and ISO 9126 address quality in terms of a few quality attributes (or factors) and criteria (or intermediate and primitive constructs) to represent the attributes. The criteria (or primitive constructs) are later mapped to actual metrics. Quality in MAS can be examined from various viewpoints such as: • Conformance: conformance to customers' requirements; conformance to standards; • Development process quality: requirement, design, implementation, test and maintenance quality; • End-product quality: reliability, usability and availability: B. Homayoun Far / Software Agents for Uncertain and Complex Environments 29 • Relativity: advantage over similar products; The two main factors affecting quality of MAS from both the customer and developers' point of view, are complexity and knowledgeability. Complexity of MAS is either structural or algorithmic. Knowledgeability of MAS can be defined in terms of problem solving and cognitive capabilities and the ability to cope with interactive scenarios, such as cooperation, coordination and competition. Complexity and knowledgeability issues are discussed in the next two sections. 2. Complexity in MAS In conventional software systems complexity is structural in nature. As the system evolves new components or functions may be added to the system. By doing so, the structure of the software may deteriorate to the extent that major effort is needed to maintain its consistency and conformity with the requirements. Complexity of MAS is both structural and algorithmic. They both can be defined in either objective or subjective way. 2.1 Structural Complexity A main complexity component in MAS is structural because new agents may be added to the system or new functions, program modules or packages may be added to the existing agents. The MAS architecture is the primary artifact for conceptualizing, constructing, managing, and evolving the system under development. It is difficult to draw a sharp line between software design and its architecture. Software architecture is a level of design concerned with issues beyond the computation. Architectural issues include strategic decisions upon: • Structural issues including gross organization and global control structure. • Selection among design alternatives. • Assignment of functionality to constituent agents. • Composition of constituent agents. • Protocols for communication, synchronization, etc. • Physical distribution. • Scaling and performance. Hierarchical decomposition is a major method of handling complexity in conventional software analysis and design, assuming that the final product shall have the hierarchical architecture. Unfortunately, hierarchical decomposition cannot be used directly in MAS system development due to the facts that the MAS architecture may not necessarily be hierarchical and MAS analysis and design is not essentially top-down or bottom-up. That is, the participating agents of the MAS cannot be defined at the outset in a hierarchical way. The interactions of the MAS system with the outside world, i.e., use case models, usually come first and then the architectural pattern and participating agents may be decided upon. This is equivalent to moving up the hierarchy. Defining detailed design for each agent is equivalent to moving down the hierarchy. An architectural pattern expresses a fundamental structural organization schema for the MAS systems. It provides a set of predefined agents, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them. The most popular architectural patterns for MAS are: 30 B. Homayoun Far / Software Agents for Uncertain and Complex Environments • Layers: application is decomposed into different levels of abstraction, such as application layer, business specific layer, middleware layer, etc and each constituent agent may belong to one layer only. • Blackboard: independent specialized agents collaborate to derive a solution, working on a common data structure called blackboard. The architectural pattern may be extended to devise the internal architecture of each constituent agent. Common internal architectural patterns are: • Model-view-controller (M-V-C): application is divided into three partitions. The model, which is the business rules and underlying data; the view, which is how- information is displayed to the user; and the controllers, which process the user input. • Reasoning-communication-documentation engine (R-C-D): the application is composed of three processing engines. The reasoning engine to process the basic business logic; the communication engine to manage messages to and from the outside world; and the documentation engine to manage data internally [4]. In MAS the relationships among the agents are dynamic. Two kinds of dynamic relationships can be devised: interactions among subsystems and infra-actions within subsystems [5]. Interactions are between an agent and its outer environment and manifested by the messages sent, received (in case of cooperation and coordination) and perceived (in case of competition). Intra-actions are the characteristics of the agent's inner environment. Contemporary software engineering techniques can manage the intra-actions using decomposition and abstraction techniques and interactions using RFC. RMI. etc. 2.2 Algorithmic Complexity Algorithmic complexity stands for the mechanisms for knowledge processing and knowledge sharing as well as the ability to engage with the other agents in cooperative, coordinative and competitive tasks. 2.3 MAS Complexity Metrics Subjective complexity accounts for the way that a human user evaluates the complexity of the agent system. A modified version of Function Point (FP) [1], that accounts for algorithmic complexity can be used. For each participant agent, the parameters involved in the model are: External inputs (N,) and external outputs (N 0 ), external inquiries (A/,), external interfaces (M/), internal data structures (), algorithmic complexity (Am) and knowledge complexity factor (A). The algorithmic complexity (N m ) factor is the sum of three Boolean variables stating whether cooperative, coordinative and competitive mechanisms are implemented or not . The knowledge complexity factor has a value between 0 and 5 depending whether the agent has a knowledge-base and whether the knowledge-base is sharable or is based on a shared ontology. B. Homayoun Far/ Software Agents for Uncertain and Complex Environments 31 The adjusted MAS function point (MAS-FP) is derived by multiplying UF e C with the subjective assessment of technical complexity, the TCP factor [1]. The overall complexity of the MAS will be the mean of the adjusted feature points of its constituent agents. Objective complexity accounts for complexity as an internal property of the agent- based system. If the MAS system is nearly-decomposable, the cyclomatic complexity [11] metrics can be used. Complexity of the MAS is the sum of cyclomatic complexities of its constituent agents. As a measure for nearly-decomposability, the communicative cohesion metrics can be examined. The communicative cohesion metrics (CCA/) for an agent g, is defined in terms of the ratio of internal relationships (interactions) to the total number of relationships (i.e., sum of interactions and intra-actions). The CCM for the MAS is the statistical mean of CCM of its constituent agents. Systems with CCM > 0.91 are usually considered to be nearly-decomposable. In this research, we identify two types of organizational relationships: signal level and symbol level relationships. Signal level accounts for dynamic message passing. At this level, messages between two communicating agents are interpreted via ascribing the same meaning to the constants used in the messages. In this way, mutual understanding of the domain constants before further message passing is guaranteed. Symbol level relationships, on the other hand, account for dynamic knowledge sharing. The internal and external relationships in CCM account for signal level relations only. 2.4 Application The first step in design of a MAS system is to sketch the use cases and then identify constituent agents using the use cases and architectural patterns. The problem is how to devise the constituent agents. The MAS complexity metrics can be used for decomposing the problem based on function/ input/ output into an organization of agents and refining this list. First, the target CCM and UF e C is set and decomposition is performed to devise a tentative set of agents with CCM greater than the target value. Then the UF e C is measured for each agent and those with higher UF e C value will be the target for further decomposition. These steps are repeated until all the agents have satisfactory CCM and UF P C. 3. Knowledgeability in MAS Traditional software engineering can handle data and information. Data is defined as a sequence of quantified or quantifiable symbols. Information is about taking data and putting it into a meaningful pattern. Knowledge is the ability to use that information. Knowledgeability can be defined in terms of: • Interactions, i.e., the ability to directly communicate or collect data on the other agents. • Cognitive capabilities, i.e., the ability to manipulate knowledge and make decisions based on the knowledge and collected data. The following subsections elaborate this. 32 B. Homayoun Far/ Software Agents for Uncertain and Complex Environments 3.1 Cognitive Capabilities Three main capabilities of agents in MAS are representing, using and sharing the knowledge. A modified version of semantic net called Symbol Structure (SS) is used to represent individual agent's knowledge structure [5]. Ability to use the knowledge is realized by having the knowledge-base in the form of SS and mechanisms for problem solving using the SS [5]. Finally, ability to share the knowledge depends on ontologies for the domain and task. Mechanisms for using and sharing are presented in [6]. 3.2 Interaction in MAS Basic agents' interactions are cooperation, coordination and competition. • Cooperation: Cooperation is revealing an agent's goal and the knowledge behind it to the other party. In cooperation both agents have a common goals. • Coordination: Coordination is revealing an agent's goals and the knowledge behind it to the other party. In coordination, agents have separate goals. • Loose Competition: Loose competition is revealing only an agent's goals but masking the knowledge behind it to the other party. • Strict Competition: Strict competition is neither revealing an agent's goals nor the knowledge behind it to the other party. 3.3 Decision Making Mechanism in MAS Figure 1 shows decision making mechanism based on agents' interaction. Agents engaged in cooperative and cordinative tasks usually have precise information about the other agents' goals due to the fact that direct communication between the agents is possible. Therefore the predictive model is usually deterministic. In case of competition, the agent must predict the other agents' goals based on the signals from the opponents rather than direct communication. Thus the predictive model is usually non-deterministic. Figure 1. Decision making mechanism [...]... management technology, " Proc CSCW ' 92, pp 28 1 28 8, 19 92 [7] Ohnishi, A.: "Software Requirements Specification Database Based on Requirements Frame Model, " Proc of the IEEE second International Conference on Requirements Engineering (ICRE'96), 1996, pp 22 1 22 8 [8] Ohnishi, A., Potts, C.: "Grounding Scenarios in Frame-Based Action Semantics, " Proc REFSQ 01, pp l77-1 82, 20 01 [9] Ohnishi, A., Zhang, H H.,... vol 20 , pp 23 3 -25 5, 1990 38 Knowledge-based Software Engineering T Welzeretal (Eds.) 1OS Press, 20 02 The consistency management of scenarios from different viewpoints Atsushi Ohnishi, Zhang Hong Hui, Hiroshi Fujimoto Department of Computer Science, Ritsumeikan University Shiga 525 –8577, JAPAN Abstract Scenarios that describe concrete situations of software operation play an important role in software. .. journal of IPSJ, Vol 38, No lO, pp 20 31 20 39, (1997 10)(in Japanese) [8] Tomokazu Yago, Minoru Harada, An Automatic Generation of Object Oriented Dynamic Models from Japanese Requirement Statements, 62th National Convention of IPSJ, special truck4–95-96 (20 01 3) (in Japanese) 51 52 Knowledge-based Software Engineering T Welter et al (Eds ) IOS Press 20 02 Requirements for a Software Process Repository Content... seven software companies were asked to provide persons for interview These companies have participated in a software process improvement network in the Satakunta region (SataSPIN) in Western Finland These SPUs work in an area of customer related software projects, produce software services, telecommunication software, industrial software, knowledge management software, embedded software and software. .. what are the responsibilities of a software engineer 5 2 SE Knowledge An important part of software engineering is to make a rational choice of development style for a given software project Another important theme of software engineering is the evaluation of the software products This includes such diverse activities as peer review of code and test plan, testing, software quality assurance, and measures... Technology, Information TechnologyP O Box 300, FIN -28 101 Pori, Finland Abstract This paper describes requirements for a content of software process repository Software process repository is aimed to provide software process improvement related knowledge and software engineering related knowledge for software companies and organisational units producing software Requirements are collected using semi-structured... Knowledge-based Software Engineering T Welzerelal iEds ) IOS Press, 20 02 A Controlling System of Progress for Users by Using Use Cases Kyoko YOSHIDA Faculty of Law, Heisei International University 20 00 Mizufukaohtateno Kazo, Saitama, 347-8504 Japan e-mail: yoshida-shirao@, eva hi-ho ne jp MorioNAGATA Dept of Administration Engineering, Faculty of Science and Technology Keio University 3–14–1 Hiyoshi, Yokohama, 22 3-8 522 ,... COMPSAC 20 02, 20 02 [10] Rolland, C., Souveyet, C., and Achour C B.: "Guiding Goal Modeling Using Scenarios, " IEEE Trans Softw, Engnr., Vol 24 , No 12, pp 1055–1071, 1998 [11] Schank, R.: "Representation and Understanding of Text, " Machine Intelligence 8, Ellis Horwood Ltd., Cambridge, pp 575-607, 1977 [ 12] Searle, J R.: "An Essay in the Philosophy of Language, " Cambridge Univ, Press, 1969 44 Knowledge-based. .. to cope with uncertainty in competitive situations References [I] [2] [3] [4] [5] [6] [7] [8] [9] [10] [II] [ 12] [13] [14] Albrecht, A.J and Gaffney, J.F., Software Function, Source Lines of Code and Development Effort Prediction: A Software Science Validation, IEEE Trans Software Engineering, vol 9, no 6, pp 639648, 1983 Boehm, B., Software Risk Management, IEEE Computer Society Press, CA, 1989 Crosby,... results of this study are the requirements for a software process repository content from the user point of view 1 Introduction Small software companies and small organisational units developing software often have a lack of knowledge in the area of Software Process Improvement (SPI) and in software engineering (SE) This study describes user requirements for the software process repository (SPORE) content . International Journals of General Systems, vol. 20 , pp. 23 3 -25 5, 1990. 38 Knowledge-based Software Engineering T. Welzeretal. (Eds.) 1OS Press, 20 02 The consistency management of scenarios . Complexity Measure, IEEE Transactions on Software Engineering, vol. 2, no. 4, pp. 308- 320 , 1976. [ 12] McCall, J.A., Richards, P.K., Walters, G.F., Factors in Software Quality, RADC TR-77-369, 1977 pp. 1–39. [ 12] E. Klement, R. Mesiar, E. Pap, "Triangular norms", Kluwer Academic Publishers, Series: Trends in Logic, Vol. 8, 20 00. 28 Knowledge-based Software Engineering T.

Ngày đăng: 12/08/2014, 19:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan