Knowledge Engineering Support for Agent-Oriented Software Reuse

Knowledge Engineering Support for Agent-Oriented Software Reuse

Rosario Girardi (Federal University of Maranhão, Brazil) and Adriana Leite (Federal University of Maranhão, Brazil)
DOI: 10.4018/978-1-60960-509-4.ch010
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Automating software engineering tasks is essential to achieve better productivity in software development and quality of software products. Knowledge engineering can address this challenge through the representation and reuse of knowledge of how and when to perform a development task. This chapter describes a knowledge-based approach for automating agent-oriented development whose main components are a software process (MADAE-Pro) and an integrated development environment (MADAE-IDE). MADAE-Pro is an ontology-driven process for multi-agent domain and application engineering which promotes the construction and reuse of agent-oriented application families. MADAE-IDE is an integrated development environment which assists developers in the application of MADAE-Pro, allowing full or partial automation of its modeling tasks through a set of production rules that explores the semantic representation of modeling products in its knowledge base. The approach has been evaluated through the development of a multi-agent system family of recommender systems supporting alternative (collaborative, content-based and hybrid) filtering techniques. Some examples from these case studies are presented to illustrate and detail the domain analysis and application requirements engineering tasks of MADAE-Pro.
Chapter Preview
Top

Introduction

As well as the advent of databases allowed computers to deal with information more effectively, thus giving rise to the so called information systems, advances on knowledge representation formalisms for constructing knowledge bases have enabled the development of knowledge systems.

Knowledge representation formalisms, like ontologies, are used by modern knowledge systems, to represent and share the knowledge of an application domain. Supporting semantic processing, they allow for more precise information interpretation. Thus, knowledge systems can provide greater usability and effectiveness than traditional information systems. This is particularly the case of knowledge systems for software engineering.

Automating software engineering tasks is crucial to achieve better productivity of software development and quality of software products. Knowledge engineering approaches this challenge by supporting the representation and reuse of knowledge of how and when to perform a development task. Therefore, knowledge tools for software engineering can turn more effective the software development process by automating and controlling consistency of modeling tasks and code generation.

Knowledge systems have evolved from expert systems to agent-oriented or multi-agent systems. By supporting the properties of autonomy, sociability and learning ability of software entities, they provide a better approach to the increasing complexity of both software problems and solutions.

In the last years, many efforts have been devoted to the research on agent-oriented software engineering. The proposals have evolved from simple techniques for modeling specific applications to methodologies and software processes for supporting reuse in agent-oriented development.

This chapter describes the MADAE-Pro knowledge-based software process and its design and implementation in the MADAE-IDE software development environment.

MADAE-Pro (“Multi-agent Domain and Application Engineering Process”) is a process for the development and reuse of families of multi-agent software systems. A family of software systems is defined as a set of systems sharing some commonalities but also having particular features (Czarnecki & Eisenecker, 2000). The process consists of two complementary sub-processes: Multi-agent Domain Engineering and Multi-agent Application Engineering. Multi-agent Domain Engineering is a process for the development of a family of multi-agent software systems in a problem domain using MADEM (“Multi-agent Domain Engineering Methodology”); and Multi-agent Application Engineering, the one for constructing a specific agent-oriented application by reusing one or more of those families, using MAAEM (“Multi-agent Application Engineering Methodology”). The process consolidates a long term research effort on techniques, methodologies and tools for promoting reuse on agent-oriented software development (Leite, Girardi, & Cavalcante, 2008a) (Leite, Girardi, & Cavalcante, 2008b) (Girardi & Leite, 2008) (Girardi, Marinho, & Ribeiro, 2005).

Besides providing support for reuse in multi-agent software development, through the integration of concepts of Domain Engineering and Application Engineering, MADAE-Pro is a knowledge-based process where models of requirements, agents and frameworks are represented as ontology instances. Thus, concepts are semantically related allowing effective searches and inferences, facilitating the understanding and reuse of software models during the development of specific applications in a domain. Also, the ontology-driven models of MADAE-Pro can be easily documented, adapted and integrated.

MADAE-IDE (“Multi-agent Domain and Application Engineering Integrated Development Environment”) assists developers in the application of the MADAE-Pro process, allowing full or partial automation of its modeling tasks through a set of production rules that explores the semantic representation of modeling products in its knowledge base. It is currently structured as an expert system. Its main components are a user interface and a knowledge base. Through the user interface, a developer interacts with the system in all phases of MADAE-Pro. The knowledge base includes ONTORMAS (“ONTOlogy driven tool for the Reuse of Multi-Agent Systems”), an ontology representing the development knowledge of MADAE-Pro including a set of rules for reasoning about the creation and transformation of models of families or specific multi-agent applications, following the different abstraction levels of the MADAE-Pro modeling tasks.

Complete Chapter List

Search this Book:
Reset