Using Techniques Based on Natural Language in the Development Process of Multiagent Systems

10
Using techniques based on Natural Language in the Development Process of Multiagent Systems Juan Carlos González Moreno and Luis Vázquez López Escuela Superior de Ingeniería Informática Departamento Informática Universidad de Vigo As Lagoas s/n, 32004, Ourense, Spain [email protected]; [email protected] Abstract. The last years have been very prolific in the study of methods, methodologies and even development process in the area of Agent Oriented Software Engineering. However, there are two aspects that are not developed sufficiently, the first is the acquisition and establishment of requirements and goals for Multiagent Systems from the descriptions of customers / users. The second is a successful implementation of reverse engineering to implementations undertaken in order to retrieve a detailed design of the application obtained. The concern of this work focuses on the first of these aspects. The proposal applies techniques of natural language processing, throughout the entire lifecycle of multi-system, to obtain a model and improve product required. One noteworthy point of this proposal is that the client is actively involved in the development process in a manner non-attendance. Lastly, the proposal allows maximize obtaining initial models for different projects, minimizing their involvement in this process. Keywords: Natural Language, Initial Models, Multiagent Systems, Agent Oriented Software Engineering. 1 Introduction As for the implementation of an information system, its realization is always an expensive task that involves a lot of effort. Thus, the presence of environments automated software provides a great advantage when it comes to deal with this work, because it represents a significant savings in both material and temporal. INGENIAS [17] is a recent methodological proposal for the development of applications based on multi Systems. The proposal has a good definition of the elements of modelling in which it is based, uses an amendment to the Unified Process Development for its life cycle and allows obtaining consistently, and correctly executable code traceable to the requirements modelled [8]. In order to generate code automatically specification on starting out, you have to integrate all the features of the organization and not to be ambiguous, that is, it is deemed necessary for a full specification of requirements to be met by the system, defined based on the infrastructure business which owns the organization and who will lead the post conceptual modelling. Thus an organization has a

Transcript of Using Techniques Based on Natural Language in the Development Process of Multiagent Systems

Using techniques based on Natural Language in the Development Process of Multiagent Systems

Juan Carlos González Moreno and Luis Vázquez López

Escuela Superior de Ingeniería Informática Departamento Informática Universidad de Vigo As Lagoas s/n, 32004, Ourense, Spain [email protected];  [email protected]    

Abstract. The last years have been very prolific in the study of methods, methodologies and even development process in the area of Agent Oriented Software Engineering. However, there are two aspects that are not developed sufficiently, the first is the acquisition and establishment of requirements and goals for Multiagent Systems from the descriptions of customers / users. The second is a successful implementation of reverse engineering to implementations undertaken in order to retrieve a detailed design of the application obtained. The concern of this work focuses on the first of these aspects. The proposal applies techniques of natural language processing, throughout the entire lifecycle of multi-system, to obtain a model and improve product required. One noteworthy point of this proposal is that the client is actively involved in the development process in a manner non-attendance. Lastly, the proposal allows maximize obtaining initial models for different projects, minimizing their involvement in this process.

Keywords: Natural Language, Initial Models, Multiagent Systems, Agent Oriented Software Engineering.

1 Introduction

As for the implementation of an information system, its realization is always an expensive task that involves a lot of effort. Thus, the presence of environments automated software provides a great advantage when it comes to deal with this work, because it represents a significant savings in both material and temporal.

INGENIAS [17] is a recent methodological proposal for the development of applications based on multi Systems. The proposal has a good definition of the elements of modelling in which it is based, uses an amendment to the Unified Process Development for its life cycle and allows obtaining consistently, and correctly executable code traceable to the requirements modelled [8].

In order to generate code automatically specification on starting out, you have to integrate all the features of the organization and not to be ambiguous, that is, it is deemed necessary for a full specification of requirements to be met by the system, defined based on the infrastructure business which owns the organization and who will lead the post conceptual modelling. Thus an organization has a

method that allows you to have aligned its information system and its strategy, key to business success [16].

It should be noted that the process of generating the conceptual model is not fully automatic, none of the proposed systems, both as INGENIAS to be completed manually.

To avoid the need for manual development models that develop a solution to the problem, is that the proposed system through a very active involvement by the client avoids a significant participation of the analyst.

It proposes an iterative process with the customer / user, which can describe this in writing and in natural language (in his own words) the problem we want it solved. The various iterations (do not need the involvement of the analyst) actively engage customers in the development process (can be made against the system by the customer from any location) and are accurate to better understand the domain of the application, the problematic and also to disembogues vague descriptions or impersonal. At each iteration the text introduced undergoes an analysis and subsequent transformation process leading to the award of problem a model based on INGENIAS. A model obtained from the engineer or analyst tool with which it will develop the product, one can begin to shape a solution that will include architectural adequate and appropriate solutions which will be linked to each problem (objectives) raised by the client / user, making it easier debugging, testing and maintenance of development.

The rest of the article has been structured as follows: The second section is devoted to briefly describe other work related to the proposal, an overview for the proposed model described in section 3. The following section presents our tool proposed. It continued section 5 makes a series of conclusions and future work, and lastly the classical sections of acknowledgements and references.

2 Related Works

In [11] presents a procurement process requirements for INGENIAS, from natural language descriptions in Spanish, based on the discovery of targets and agents / roles. The part of a process of linguistic processing you gets a lot of information. Because much of the information is redundant or not prosecution are considering transforming the text entered by the user to a controlled manner (in a manner transparent to the user).

They intend to develop a knowledge base of their own domains resolve to avoid, as far as possible, conducting much of the analysis in cases where domains are introduced and studied in specifications or similar in functionality .

The shortage is that it presents the conceptual framework does not extend to all phases of software development, but explained that what they are trying to solve is obtaining models automatically currently existing tools left to be done so handbook. The model obtained from the system could be integrated into any existing tools, which would cover the remaining phases of software development. Its integration into INGENIAS is almost automatic.

Other works aim to resolve the approach for obtaining the requirements from an approach stressing integration of different tools [20] to address the problem of alignment uses a significant use of approaches and models that facilitate their understanding and solution. Reutilise and combine proposals success in its corresponding application framework that has been widely tested.

KAOS permits to build models of requirements from the organizational goals. This approach is supported by a formal framework that defines each term rigorously. The main contribution of KAOS is demonstrating that the conditions correspond to the goals of the future system. The main drawback is that it provides no mechanism to represent the structure of the organization and as a result does not make, for example, an analysis of process reengineering.

On the one hand, [21] intends to make the elicitación requirements from business processes and its goals, but I do not know operational decomposition of the goals. On the other hand, [6] and [19] put forward proposals for the automatic generation of models use cases from models of business processes and to guide the case definition from organizational models defined in framework i* respectively, but we would have the disadvantage that the models that generate use cases are too complex and in the case of multiagent systems model use cases is a model secondary.

Article [5] presents an approach that enriches approximations based development goals with a model of processes, proposing a set of guidelines or heuristics to divert a model of requirements based on a model processes using a tree intermediate targets. The proposal allows developers to identify in a systematic way and participatory (as it involved various actors such as business managers, analysts and analysts organizational information systems) system requirements that will support the organization.

In addition, the proposal ensures alignment between the business strategy of the organisation and its information system, thanks to the trace ability between the various models. The latter requirements are defined from the goals of the business processes, which in turn are based on the strategic goals of the organization.

At present, the work is being applied to other case studies to assess the scope of the method and the heuristics proposals.

This work [22] is part of a broader project which aims at the analysis of important aspects of the needs identification and modelling of multi-agents. In this study the goal was to provide a qualitative assessment of the methodology used ADELFE suit and the proposed framework Yu Cysneiros [23].

ADELFE has a great set of modelling concepts Agents cooperation covering different situations of the requirements, analysis and the phases of the project.

With a well-defined process. However, the methodology has to improve certain aspects of the trace ability of requirements and the identification of the shares. The medium where it develops can be improved by the addition of new modelling diagrams that may objectives, a plan and organizational aspects in the early months of the requirements.

Summarizing indicates that the first problem that we must address now to generate models to solve the problem is to grasp adequately solve the problem.

In this process, the ambiguity of natural language is a problem [3] it difficult to interpret the requirements of the domain of the problem, resulting in inappropriate responses or customer dissatisfaction with the solutions and not allowing fulfil the objectives of the organization .

In order to alleviate these problems has been proposed within the so-called Requirements Engineering process Elicitación Requirements that can be defined as "the process of acquiring all knowledge is important and necessary to produce a model of requirements in a domain problem" . The idea behind this process is that only after understanding the nature, characteristics and limitations of a problem, you can generate a specification of the minimum quality requirements to be developed and validated with the user.

Within this area you can find many suggestions to extract all relevant information in developing software requirements from texts written in natural language [21]. Usually, these solutions are based on reformulating descriptions of the problem through natural language subsets of the employee or using semi-formal languages, from which apply processing techniques lead to obtaining and / or appropriate deliverables that can be validated both by the user / client and the development team.

These proposals improve the quality of the model obtained and try to shorten development time (one of the critical factors in modern software development processes), but are faced with the difficulty of the active involvement of customers / users in the life cycle the application (very important and widely recommended by modern development processes).

3 Our Proposal

INGENIAS [17] The goal-model of organization defines how the agents gather in crowds, the functionality of the system and which restrictions are necessary to impose on the behaviour of the agents. The goal-model of interaction details how the agents are coordinated and communicate and the goal-model of environment define what exists about the new system and how every agent perceives it. In [11] a study of the elements has been done of shaped used by the main methodologies of Systems Multiagent and the unification of criteria appears of what is understood by each of the elements of shaped in our case. The system raised multiagent is going to arise on the basis of the aims of the system and the first organization of the system in agents / roles. The aims are associated with cases of use described by means of scenes in those who develop individual tasks and interactions among the identified agents / identified roles.

As the initial other that raises us the client / user to solve the problem is going to realize it in natural language not to force this one to have to be able to interpret the methodology of development, which in many cases would be so or more complex than the solution to the raised problem. Doing it in natural language, raises as principal disadvantage the possibility of that present ambiguity that is going to be solved by the involvement of an active way on the part of the client / user in the different phases of the process of product development, with this there

are also going to avoid possible forgotten of characteristics that it must have the product or in coherences of what must have the end product developed with regard to the first realized description. The organization model in figure 1.

In the process of acquisition it differs between the aims [7] of the System that indicate what is tried to obtain by the development, and the aims of an Agent who is what has, needs or this agent wants to reach to satisfy or to help to satisfy an aim of the system. As for the roles they are characterized as the set of actions that determine a distinctive behaviour of an agent[2]. When multiagent [12] refines [1] the graph of the system the roles they are constructed in cases of use that are in use for solving the aims indicated by the role. If the aims to resolving are a complex at the time the subsystems can be used as elements of refinement. On the other hand, the Roles realize Tasks that cover Activities and that satisfy the aims to resolving. In general the identification of all these elements of shaped comes from interviews, between the client and members of the equipment of development (analysts, engineers of requirements...) that remain reflected as descriptions in natural language in most of the cases.

In the process of identification of elements of shaped of the system multiagent from a description of text in Spanish the following characteristics are born in mind: The agents [11] are going to be extracted from the own names, the objects and the subjects of the passive verbs of the description.

The cases of use are going to correspond with the lexical verbs, due to the fact that the verb of the prayers that defines a case of use must be transitive. An idea similar to it, is the used in marked automatically of texts raised in [4].

Fig. 1. Organization Model

The aims are going to be the verbs that are in subjunctive way and the verbs in gerund or participle. The verbs when gerund and participle or subjunctives way are in the not personal forms are in the habit of indicating reached achievements or in phase of attainment, that it is the definition of object that it is going to handle.

The roles are going to be identified analysing the subjects of the phrases in which aims are identified, with the condition of common names. The interactions between agents it is a complex process but possibly they can be established in phrases in which several fastened (agents / roles) appear in active phrases that are in the habit of denoting collaboration and/or cooperation.

As for the identification of concrete tasks and scenes associated with a certain aim, the importance of an active it is necessary to realize in general in later iterations with the user in which it specifies this one with more detail the actions, relations and meaning of certain verbs and names. With which returns to be indicated participation active on the part of the client / user.

In [10] plus information of automatic model generation for multi-agent systems.

4 Our Tool

Our shaped architectural it goes from the Model NLP4INGENIAS presented in [11] and the design of multiagent system architecture [9] whom might be summarized of the following way: Departing from a description in an electronic suitable format, a linguistic processing of the same one is done. Consisting of a morphologic analysis, a parsing and the alteration of the text in case of some mistake be detecting during the morphologic or syntactic analysis. Resting on an approach example STILUS [18]. Due to this alteration sometimes the collaboration of the user is necessary. Finished this part of the process is obtained for each of the tried words: his type, his motto and his function inside the phrase that can store in format table, if it considers it to be suitable.

Now already it is in conditions to do the process of extraction of the entities of the system consistent multiagent in:

The compound phrases are simplified using a few own rules of production. This process consists of being seeking for the verbs of request and to leave every verb with the corresponding complements as if it had been enunciated as a simple request. Another possibility that is being studied at this moment is the raised one in [13] by means of the marked one with the words in the own text. With which he avoid the step 5 that he are to realizing.

The aims are identified following the criterion mentioned before: "the verbs are looked in gerund or participle and the infinitive verbs in phrases desiderative and conditional ". It is possible to see more information since the aims of a description obtained in [15].

It is looked the lexical verbs that determine the cases of use of the system. These verbs are those which are in indicative and that do not form a part of a verbal periphrasis.

Later there are identified the own names, the objects and passive subjects of the phrases that the agents / agents of the system determine. The roles associate to the subjects of adjectives or qualified names.

Transformation of the description of transparent form for the user to controlled language. [25]

Once extracted [24] the entities of the system multiagent it is necessary to verify the existence of entities repeated (synonymous, antonyms): if they have the same value they are eliminated and if it is different the order of appearance is verified, taking like correct the first appearance.

Now he is already in conditions to indicate which is going to be the agents architecture that it is going to use for our system for the generation of the first phases of the process of the development of the cycle of life of the product requested (Fig. 2) by the client/user.

Applying the tool are extracted different entities to maintain the order of appearance. To verify the existence of entities or contradictory repeated scans synonyms and antonyms comparing the respective results.

So would the following: Dealers heterogeneous form the Organization. The agents form the homogenous group. Adverbs tell us circumstances test which will be used to make test cases. The common names not used as agents will be resources (If you are passive.

Ni.: Drink) or Applications (Actions associated with active shares). The names may have the following features: Role, Agent, and Appeal

Application. Verbs (verbal proposals) will lead to: Objectives, Case studies, Other

(applications or tasks). The DTD is the specification of this type: <specification>

Fig. 2. Initial Model of Agents

<agent> ... + </agent> <objectives> .. +. </objectives> <roles> ... + </roles> <usecase> ... + </usecase> <activities> ... + </activities> <tasks> ... + </tasks> </specification> Therefore the XML document used in the proposed model will be as follows.

The model in XML integrating the offer in the IDK the INGENIAS. Below is a process of extracting entities of multi-system consisting of: Sentences are composed using simplified rules its own production. This process

is to go looking verbs of the prayer and leave every verb with supplements for as if it had been phrased as a simple sentence.

It identifies the objectives following the criteria cited above: "looking verbs in gerund or participle and verbs in sentences infinitives desiderative and conditional."

Looking lexical verbs determining instances of the use of the system. These verbs are in the indicative mood and are not part of a verbal periphrases.

He then identifies the names, subjects and passive objects of the phrases that determine the agents / roles in the system. The roles are associated with the subjects of the phrases that have specific goals, and if the subject is composed of adjectives or qualified names.

Once extracted entities of multi-system check the existence of several entities (synonyms, antonyms): If you have the same value and are eliminated if it is found different order of appearance, taking as the first appearance correct.

Following the conclusion of the process ensures that, at least, for every paragraph of the description of the problem has been identified a goal and an instance of use associated with a role or an agent or an outside service that will be linked to an application / appeal.

All descriptions made by the customer / user to spend documenting goals and / or use cases identified, as well as the roles and agents identified.

5 Conclusions and Future Work

This paper presents a process of acquisition requirements of a problem posed by the user through a natural language description for the Spanish to get from this initial diagrams of the system to automatically develop and then carry them INGENIAS; its operation is based on the discovery of targets and agents / roles. The parts of a process of linguistic processing you get a lot of information. Because much of the information is redundant I know changing the text entered by the user to a controlled manner (in a manner transparent to the user).

A work in progress is the development of a knowledge base itself of the domains resolve to avoid, as far as possible, conducting much of the analysis in cases where domains are introduced and studied in specifications or similar As to its functionality.

Another fact to bear in mind is that the few tools that have been documented in the literature to obtain models on the basis of these proposals [14], often taken as a language of the English game that presents a level of ambiguity lower than the Spanish. A proposal to break the language barrier is UN-Lencep [25], which proposes the use of a Controlled Spanish language for specifying Schemas Preconceptual [24], which will be used to compile will automatically various UML diagrams with which model The underlying problem.

The development of automatic software eliminates many of the traditional stages of the software development processes, and the necessity to define many of the business models of architecture thereby earns a lot in time and efficiency.

It would also be interesting conducting a study comparing our proposal with tools based on strategic alignment.

Acknowledgements. This work has been supported by the following project: Methods and tools for agent-based modelling supported by Spanish Council for Science and Technology with grant TIN2005-08501-C03-03.

References

1. Breaux T., M. Vail and A. Antón, "Towards Regulatory Compliance: Extracting Rights and Obligations to Align Requirements with Regulations" In Proc. of RE'06, pages 46-55, Washington, DC, USA. IEEE Comp. Society. (2006)

2. Bresciani P., P. Giorgini, F. Giunchiglia, J. Mylopoulos, "TROPOS: An Agent-Oriented Software Development Methodology.” Netherlands: KLUWER Academic Publisher. (2004)

3. Ceccato M., N. Kiyavitskaya, N. Zeni, L. Mich, D.M. Berry, “Ambiguity Identification and Measurement in Natural Language Texts”, Technical Report DIT-04-111, (2004)

4. Chitchyan R., A. Rashid, and P. Rayson. “Semantics-based Composition for Aspect-Oriented Requirements Engineering”, International Conference on Aspect-Oriented Software Development (AOSD), Vancouver, Canada. ACM. (2007)

5. De la Vara-González J.L., D. Anes, J. Sánchez. “Descomposición de árboles de metas a partir de modelos de procesos.” Anais do WER07 - Workshop em Engenharia de Requisitos, Toronto, Canada, May 17-18, pp 35 – 46, (2007)

6. Dias, F., et al. “Uma Abordagem para a Transformação Automática do Modelo de Negócio em Modelo de Requisitos”, IX Workshop on Requirements Engineering (WER’06), Río de Janeiro, Brasil, (2006)

7. Estrada H, A. Martínez, O. Pastor and J. Sánchez, "Generación de Especificaciones de Requisitos de Software a partir de Modelos de Negocios: un enfoque basado en metas", Anais do WER02 - Workshop em Engenharia de Requisitos, Valencia, Espanha, Novembro 11-12, pp 177-193, (2002)

8. Gomez-Sanz J.J., and J. Pavón, “Metamodelling in Agent-Oriented Software Engineering. In: Advances in Artificial Intelligence” – IBERAMIA 2002, Lecture Notes in Artificial Intelligence 2527, Springer-Verlag, 606-615, (2002)

9. González-Moreno J.C. and L. Vázquez, “Design of Multiagent System Architecture” 3rd IEEE International Workshop on Engineering Semantic Agent Systems (ESAS 2008), COMPSAC2008, Julio, Turku, Finland, (2008)

10. González-Moreno J.C. and L. Vázquez, “Generación Automática del Modelo para Sistemas Multi-Agente” 3ª Conferencia Ibérica de Sistemas y Tecnologías de Información, CISTI 2008, Junio, Ourense, Spain, (2008)

11. González-Moreno J.C. and L. Vázquez, “NLP4INGENIAS: Adquisición de Requisitos en INGENIAS a partir de descripciones en Lenguaje Natural” DESMA’07 – CEDI 2007. ISBN: 978-84-9732-613-1 Zaragoza, Spain, (2007)

12. http://jade.tilab.com/nav-up.htm “Java Agent Development Framework”. (2008) 13. Kiyavitskaya N., N. Zeni, T. Breaux, A. Antón, J. Cordy, L. Mich, J. Mylopoulos

"Extracting rights and obligations from regulations: toward a tool-supported process" Proceedings of the twenty-second IEEE/ACM International Conference on Automated Software Engineering. ISBN: 978-1-59593-882-4 Pages 429-432 Atlanta, USA (2007)

14. Kiyavitskaya N., N. Zeni, J. R. Cordy, L. Mich, J. Mylopoulos, “Applying Software Analysis Technology to Lightweight Semantic Markup of Document Text”, ICAPR Bath, UK (2005)

15. Letier E., A Van-Lamsweerde, "Deriving Operational Software Specifications from System Goals" In Proc. 10th ACM Symp. on Foundations of Soft.Engr., Charleston, SC, USA, pp. 119-128, (2002)

16. Luftman, J., P. Lewis, S. Oldach. “Transforming the enterprise: The alignment of business and information technology strategies”, IBM Systems Journal, 32(1), (1993)

17. Pavón J., J. Gómez-Sanz, and R. Fuentes, The INGENIAS Methodology and Tools. In Henderson-Sellers, B., and Giorgini, P., editors: Agent-Oriented Methodologies. Idea Group Publishing, chapter IX, pp. 236--276, (2005)

18. Polo-Bayo C., J. C. González, J. Villena. “SFL-STILUS: a Didactic Text Checker for Students of Spanish as a Foreign Language”. MICTE, Sevilla, Spain, 22-25 November, ISBN: 978-84-690-2471-X, (2006)

19. Santander, V., J. Castro. “Desenvolvendo Use Cases a partir de Modelagem Organizacional”, III Workshop on Requirements Engineering (WER’00), Río de Janeiro, Brasil, (2000)

20. Vara J.L., J. Sánchez, O. Pastor, “Integración de un entorno de producción automática de software en un marco de alineamiento estratégico.” Anais do WER07 - Workshop em Engenharia de Requisitos, Toronto, Canada, May 17-18, pp 68 – 79, (2007)

21. Villanueva I., J. Sánchez, O. Pastor. “Elicitación de requisitos en sistemas de gestión orientados a procesos”, VIII Workshop on Requirements Engineering (WER’05), Porto, Portugal, (2005)

22. Werneck V.M., A. Y. Kano , L. M. Cysneiros. “Evaluating ADELFE Methodology in the Requirements Identification” Anais do WER07 - Workshop em Engenharia de Requisitos, Toronto, Canada, May 17-18, pp 13 – 24, (2007)

23. Yu, E. and L.M. Cysneiros, “Agent-Oriented Methodologies-Towards a Challenge Exemplar”, in Proc of the 4th Intl. Bi-Conference Workshop on Agent-Oriented Information Systems (AOIS 2002), Toronto, pp.47-63, (2002)

24. Zapata C. M., A. Gelbukh, F. Arango, “Preconceptual Schema: a UML Isomorphism for Automatically Obtaining UML Conceptual Schemas”, Research in Computing Science: Advances in Computer Science and Engineering, Vol. 19, pp. 3-13, (2006)

25. Zapata C. M., A. Gelbukh, F. Arango, “UN-Lencep: Obtención Automática de Diagramas UML a partir de un Lenguaje Controlado”, Avances en la Ciencia de la Computación. VII Encuentro Internacional de Computación ENC’06, ISBN 968-5733-06-6, (2006)