Knowledge Engineering Support for Agent-Oriented Software Reuse
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.