20 research outputs found

    Logic-Based Specification Languages for Intelligent Software Agents

    Full text link
    The research field of Agent-Oriented Software Engineering (AOSE) aims to find abstractions, languages, methodologies and toolkits for modeling, verifying, validating and prototyping complex applications conceptualized as Multiagent Systems (MASs). A very lively research sub-field studies how formal methods can be used for AOSE. This paper presents a detailed survey of six logic-based executable agent specification languages that have been chosen for their potential to be integrated in our ARPEGGIO project, an open framework for specifying and prototyping a MAS. The six languages are ConGoLog, Agent-0, the IMPACT agent programming language, DyLog, Concurrent METATEM and Ehhf. For each executable language, the logic foundations are described and an example of use is shown. A comparison of the six languages and a survey of similar approaches complete the paper, together with considerations of the advantages of using logic-based languages in MAS modeling and prototyping.Comment: 67 pages, 1 table, 1 figure. Accepted for publication by the Journal "Theory and Practice of Logic Programming", volume 4, Maurice Bruynooghe Editor-in-Chie

    Towards a comprehensive agent-oriented software engineering methodology

    Get PDF
    Recently, agent systems have proven to be a powerful new approach for designing and developing complex and distributed software systems. The agent area is one of the most dynamic and exciting areas in computer science today, because of the agents ability to impact the lives and work of all of us. Developing multi-agent systems for complex and distributed systems entails a robust methodology to assist developers to develop such systems in appropriate way. In the last ten years, many of agent oriented methodologies have been proposed. Although, these methodologies are based on strong basis they still suffer from a set of shortcomings and they still have the problems of traditional distributed systems as well as the difficulties that arise from flexibility requirements and sophisticated interactions. This thesis proposed a new agent oriented software engineering methodology called: Multi-Agent System Development (MASD) for development of multi-agent systems. The new methodology is provided by a set of guidelines, methods, models, and techniques that facilitate a systematic software development process. The thesis makes the following contributions: The main contribution of this thesis is to build a new methodology for the development of multi-agent systems. It is based upon the previous existing methodologies. It is aimed to develop a complete life-cycle methodology for designing and developing MASs. The new methodology is considered as an attempt to solve some of the problems that existing methodologies suffer from. The new methodology is established based on three fundamental aspects: concepts, models, and process. These three aspects are considered as a foundation for building a solid methodology. The concepts are all the necessary MAS concepts that should be available in order to build the models of the new methodology in a correct manner. The models include modeling techniques, modeling languages, a diagramming notation, and tools that can be used to analysis and design the agent system. The process is a set of steps or phases describe how the new methodology works in detail. The new methodology is built to bridge the gap between design models and existing agent implementation languages. It provides refined design models that can be directly implemented in an available programming language or use a dedicated agent-oriented programming language which provides constructs to implement the high-level design concepts such as Jadex, JADE, JACK, etc. The MASD methodology also uses an important concept called triggers and relies heavily on agent roles. The role concept is considered one of the most important aspects that represent agent behaviour. The trigger concept is also considered as an important aspect that represents agent reactivity. The new methodology captures the social agent aspects by utilizing well-known techniques such as use case maps, which enable developers to identify social aspects from the problem specification. MASD methodology is developed based on the essential software engineering issues such as preciseness, accessibility, expressiveness, domain applicability, modularity, refinement, model derivation, traceability, and clear definitions. The MASD methodology is provided by a plain and understandable development process through the methodology phases. It captures the holistic view of the system components, and commutative aspects, which should be recognized before designing the methodology models. This is achieved by using well-known techniques such as UCMs and UML UCDs. The resulting methodology was obtained by performing several steps. First, a review study “literature review” of different agent methodologies is carried out to capture their strengths and weaknesses. This review study started with the conceptual framework for MAS to discuss the common terms and concepts that are used in the thesis. The aim is to establish the characteristics of agent-oriented methodologies, and see how these characteristics are suited to develop multi-agent systems. Secondly, a requirement for a novel methodology is presented. These requirements are discussed in detail based on the three categories: concepts, models, and process. Thirdly, the new mature methodology is developed based on existing methodologies. The MASD methodology is composed of four phases: the system requirement phase, analysis phase, design phase and implementation phase. The new methodology covers the whole life cycle of agent system development, from requirement analysis, architecture design, and detailed design to implementation. Fourthly, the methodology is illustrated by a case study on an agent-based car rental system. Finally, a framework for evaluating agent-oriented methodologies is performed. Four methodologies including MASD are evaluated and compared by performing a feature analysis. This is carried out by evaluating the strengths and weaknesses of each participating methodology using a proposed evaluation framework called the Multi-agent System Analysis and Design Framework (MASADF). The evaluation framework addresses several major aspects of agent-oriented methodologies, such as: concepts, models and process

    Contributos para suportar o desenvolvimento de sistemas de diálogo

    Get PDF
    With the increase of technology present in our daily routine, a specific area rose exponentially. Spoken dialogue systems are increasingly popular and useful: they provide an easier and more versatile access to large and diverse sets of information. Nowadays there is a vast knowledge base regarding this topic, as well as different systems capable of performing numerous tasks just by simply processing voice input. There are also an increasing set of tools for their development. Despite recent advances, development of dialog systems continues to be challenging. The main objective of this thesis is to contribute and make possible and simple the development of new dialogue systems for Portuguese: by selecting, adapting and combining existing tools/frameworks. Supported by the enhancements made to the selected basis framework, two different dialog systems were developed: the first is an assistant aimed at a Smart Home environment - one of areas that benefited the most with the development of dialog systems - and the second targeting accessible tourism. The first assistant was developed aligned with the Smart Green Homes project. It implied the definition of scenarios and requirements that later helped defining the ontology and the system. Another requirement for this system was the inclusion of the back-end system developed previously as part of the Smart Green Homes project. The second was aligned with the project ACTION in the area of Tourism. It was developed for users with accessibility needs, e.g., impaired movement or vision.Com o aumento da tecnologia presente na nossa rotina diária, uma área específica subiu exponencialmente. Os sistemas de diálogo são cada vez mais populares e úteis: proporcionam um acesso mais fácil e versátil a grandes e diversificados conjuntos de informação. Hoje em dia existe uma vasta base de conhecimento sobre este tema, bem como diferentes sistemas capazes de executar inúmeras tarefas através do processamento de uma entrada de voz. Há também um conjunto crescente de ferramentas para o seu desenvolvimento. Apesar dos avanços recentes, o desenvolvimento de sistemas de diálogo continua a ser um desafio. O principal objetivo desta tese é contribuir e tornar possível e simples o desenvolvimento de novos sistemas de diálogo que suportem português: selecionando, adaptando e combinando ferramentas existentes. Baseado nas melhorias feitas nas ferramentas bases selecionadas, foram desenvolvidos dois sistemas de diálogo diferentes: o primeiro é um assistente dirigido a um ambiente Smart Home - uma das áreas que mais beneficiou com o desenvolvimento de sistemas de diálogo - e o segundo visando o turismo acessível. O primeiro assistente foi desenvolvido alinhado com o projeto Smart Green Homes. Implicou a definição de cenários e requisitos que mais tarde ajudaram a definir a ontologia e o sistema. Outro requisito para este sistema foi a inclusão do sistema back-end desenvolvido anteriormente como parte do projeto Smart Green Homes. O segundo assistente foi alinhado com o projeto ACTION na área do Turismo. Foi desenvolvido para utilizadores com necessidades de acessibilidade, por exemplo, deficiência motora ou invisualidade.Mestrado em Engenharia de Computadores e Telemátic

    A Framework for Exploiting Emergent Behaviour to capture 'Best Practice' within a Programming Domain

    Get PDF
    Inspection is a formalised process for reviewing an artefact in software engineering. It is proven to significantly reduce defects, to ensure that what is delivered is what is required, and that the finished product is effective and robust. Peer code review is a less formal inspection of code, normally classified as inadequate or substandard Inspection. Although it has an increased risk of not locating defects, it has been shown to improve the knowledge and programming skills of its participants. This thesis examines the process of peer code review, comparing it to Inspection, and attempts to describe how an informal code review can improve the knowledge and skills of its participants by deploying an agent oriented approach. During a review the participants discuss defects, recommendations and solutions, or more generally their own experience. It is this instant adaptability to new 11 information that gives the review process the ability to improve knowledge. This observed behaviour can be described as the emergent behaviour of the group of programmers during the review. The wider distribution of knowledge is currently only performed by programmers attending other reviews. To maximise the benefits of peer code review, a mechanism is needed by which the findings from one team can be captured and propagated to other reviews / teams throughout an establishment. A prototype multi-agent system is developed with the aim of capturing the emergent properties of a team of programmers. As the interactions between the team members is unstructured and the information traded is dynamic, a distributed adaptive system is required to provide communication channels for the team and to provide a foundation for the knowledge shared. Software agents are capable of adaptivity and learning. Multi-agent systems are particularly effective at being deployed within distributed architectures and are believed to be able to capture emergent behaviour. The prototype system illustrates that the learning mechanism within the software agents provides a solid foundation upon which the ability to detect defects can be learnt. It also demonstrates that the multi-agent approach is apposite to provide the free flow communication of ideas between programmers, not only to achieve the sharing of defects and solutions but also at a high enough level to capture social information. It is assumed that this social information is a measure of one element of the review process's emergent behaviour. The system is capable of monitoring the team-perceived abilities of programmers, those who are influential on the programming style of others, and the issues upon III which programmers agree or disagree. If the disagreements are classified as unimportant or stylistic issues, can it not therefore be assumed that all agreements are concepts of "Best Practice"? The conclusion is reached that code review is not a substandard Inspection but is in fact complementary to the Inspection model, as the latter improves the process of locating and identifying bugs while the former improves the knowledge and skill of the programmers, and therefore the chance of bugs not being encoded to start with. The prototype system demonstrates that it is possible to capture best practice from a review team and that agents are well suited to the task. The performance criteria of such a system have also been captured. The prototype system has also shown that a reliable level of learning can be attained for a real world task. The innovative way of concurrently deploying multiple agents which use different approaches to achieve the same goal shows remarkable robustness when learning from small example sets. The novel way in which autonomy is promoted within the agents' design but constrained within the agent community allows the system to provide a sufficiently flexible communications structure to capture emergent social behaviour, whilst ensuring that the agents remain committed to their own goals

    Multi-Agent Systems

    Get PDF
    A multi-agent system (MAS) is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems which are difficult or impossible for an individual agent or monolithic system to solve. Agent systems are open and extensible systems that allow for the deployment of autonomous and proactive software components. Multi-agent systems have been brought up and used in several application domains
    corecore