Advances in networking technology have revitalized the investigation of agent technologyasapromisingparadigmforengineeringcomplexdistributedsoftware systems. Agent technology has been applied to a wide range of application - mains, including e-commerce, human-computer interfaces, telecommunications, and software assistants. Multi-agent systems (MASs) and their underlying t- ories provide a more natural support for ensuring important properties such as autonomy, mobility, environment heterogeneity, organization, openness, and intelligence. As a consequence, agent-based systems are likely to provide new - proaches to dealing with the complexity of developing and maintaining modern software. However, developing robust large-scale agent-based systems will - quire new software engineering approaches. There are currently many methods and techniques for working with individual agents or with systems built using only a few agents. Unfortunately, agent-based software engineering is still in its infancy and existing software engineering approaches are unable to cope with large MASs. The complexity associated with a large MAS is considerable. When a huge number of agents interact over heterogeneous environments, various phenomena occur which are not as easy to capture as when only a few agents are working together. As the multiple software agents are highly collaborative and operate in networked environments, they have to be context-aware and deal with - vironment uncertainty. This makes their coordination and management more di?cult and increases the likelihood of exceptional situations, such as security holes, privacy violations, and unexpected global e?ects. Moreover, as users and softwareengineersdelegatemoreautonomytotheirMASs,andputmoretrustin their results, new concernsarise in real-life applications.