Font Size: a A A

A Generative Domain Engineering Method Based On Agent Technology

Posted on:2009-09-18Degree:DoctorType:Dissertation
Country:ChinaCandidate:H H LiangFull Text:PDF
GTID:1118360302958534Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Multi-Agent system is a sub topic of Agent technology. A multi-Agent system is made up of Agents who own knowledge feature; interact with each other, and behavior autonomy. With the increasing complexity of business applications and advance in networking technology, MAS gains more and more attention. But the cost of developing MAS within schedule and satisfying the requirement such as reusability and maintainability is still a challenge. Identify and modularize the concerns of multi-Agent system are difficult. MAS is a too high level concept that can not used directly to model the crosscutting concerns, satisfy quality requirements, direct the detail design and implementation well, improve the code readability, and make the software module composition easier.Several methodologies and implementation frameworks have been proposed for Agent-oriented software engineering. Agent-oriented methodologies propose modeling language and Agent-oriented abstraction elements for modeling Agents. Implementation frameworks improve the productivity of developing Agent system through middleware which supports Agent communication and collaboration, through a set of graphical tools that supports the designing, debugging and deployment phases, and through a set of API which enables the use and extension of the framework. Although the Agent oriented software engineering methods have many advantage, they also have some limitation: 1) Most of the methods model the Agent application from a very high level, which can not be directed the detail design at the object-oriented level directly; 2) the implementation framework does not provide the guide lines to model the MAS; 3) current Agent methodologies does not model the crosscutting concerns which are popular in the MAS.Generative programming (GP) is a software engineering paradigm based on modeling software families such that, given a particular requirements specification, a highly customized and optimized intermediate or end-product can be automatically manufactured on demand from elementary, reusable implementation components by means of configuration knowledge. The problem space consists of the domain-specific abstractions that can be used to specify family members, whereas the solution space contains implementation components with their possible configuration. The problem space and solution space, together with the associated configuration knowledge, constitute the Generative Domain Model (GDM). The separation of problem and solution spaces gives flexibility to evolve both independently. Code generators produces reusable components based on the configuration knowledge.Using GP for the development of MAS brings to three benefits: 1) making domain engineering for MAS domain favors improving reusability and flexibility; 2) the separation of problem space and solution space allows to evolve independently; 3) code generation technology enables the mapping from the high level feature to the concrete components and the relationship between the components; because of the generation of reusable element components and the generator (which forms the solution space), the productivity of building MAS could be improved..Aspect-oriented software development (AOSD) provides a means to capture crosscutting concerns in a modular way and a join point model to hook the aspect (which modularizes the crosscutting concerns) to the program. The use of aspect-oriented techniques enables us to capture crosscutting features and code frames scattered in the MAS programs. So the maintainability and reusability of MASs are improved because the crosscutting concerns are captured and separated from the non-crosscutting concerns.In this paper, we imported Agent technology to Generative Programming to form a Model Driven Multi-Agent Domain Engineering (MDMADE) method. MDMADE uses Agent's organization/role model and feature-oriented modeling technology in domain analysis phrase. Aspect-oriented technology and object-oriented technology are applied in domain design and domain implementation phrase to provide reusable components and other products for application engineering.Through applying MDMADE to MAS domain, the crosscutting concerns in MAS can be captured. The domain engineering process promotes reusability in MAS domain. And the generative technology enables the Agent's abstract feature to map to detail design and implementation.The main contributions of this paper are listed as following:·GP predicts the future of software engineering is like what happened in other industries: standard reusable components and product line. But a practical process is needed to implement GP. In this paper, Agent technology is imported in GP, and a model driven generative domain engineering process is provided;·Applying MDMADE to MAS domain, the crosscutting concerns in MAS can be captured. The domain engineering process promotes reusability in MAS domain. And the generative technology enables the Agent's abstract feature to map to detail design and implementation.·Provided a modeling language for Multi-Agent System development, which covers most Agent feature, and improve the productivity for programmer;·Catch the Aspect features in MAS, combined Aspect oriented software development technique and Agent oriented software development, improve reusability of MAS development.·A tools supported MDMADE is presented, which is built on EMF, assisting model driven development;·MAMADE is a model driven development methodology for MAS development, which is described in this paper, which has solid theory fundamental and utilize MDA, GP and Asepct-oriented technology, will assist agent programmers very much.
Keywords/Search Tags:Generative Programming, Aspect-oriented software development, Multi Agent system, Model-Driven Development
PDF Full Text Request
Related items