## 2 SEA_ML-Based MAS Development Methodology
Ontology Viewpoint addresses the ontological concepts which constitute agent's knowledgebase (such as belief and fact). Agent\(-\)SWS Interaction Viewpoint defines the interaction of agents with SWS including the definition of entities and relations for service discovery, agreement, and execution. A SWA executes the semantic service finder Plan (SS_FinderPlan) to discover the appropriate services with the help of a special type of agent called SSMatchMakerAgent who executes the service registration plan (SS_RegisterPlan) for registering the new SWS for the agents. After finding the necessary service, one SWA executes an agreement plan (SS_AgreementPlan) to negotiate with the service. After negotiation, a plan for service execution (SS_ExecutorPlan) is applied for invoking the service. Table 1 lists the important SEA_ML concepts (meta-entities) and their brief descriptions for the comprehension of the corresponding visual notations used in the diagrams throughout this paper. Based on SEA_ML, the analysis and the design of the software system can be realized using the application domain's terms and notations. This helps the end users to work in a higher level of abstraction (independent of target platform) and close to expert domain. Also, generative feature of SEA_ML paves the way to produce the configured templates from the designed models for the software system in the underlying languages and technologies. Currently, SEA_ML can generate architectural code for JADE [18], JADEX [19], and JACK [20] agent programming languages and OWL-S [29] and WSMO [30] SWS documents. This is realized by model to model transformation of the designed platform independent instance models to the instance models of the target MAS languages and SWS technologies. Then, these platform specific models are transformed to the platform specific codes by model to code transformations. This generation capability of SEA_ML can increase the development performance of the software system considerably. Finally, by constraints checking provided in SEA_ML, the instance models are controlled considering domain-specific syntactic and semantic rules. These rules are applied in the abstract and the concrete syntaxes of the language. This feature helps to reduce the number of errors during the analysis and design of the software system and avoid postponing them to the development and the testing phases. In this section, the SEA_ML-based MAS development approach is discussed. Although this new development methodology also considers the adoption of SEA_ML, it differentiates from the previous development approach [17] as being a complete development methodology covering the analysis, design, and implementation of the MAS. Analysis phase, which does not exist previously, is now included in the methodology and both analysis and design phases are improved with two types of iterations. Such an iterative development process is not considered in the previous methodology. In addition to the modification of models, new methodology also supports the changes in auto-generated codes if required. The proposed SEA_ML-based MAS development methodology includes several steps following each other (see Figure 1): MAS Analysis, MAS Modeling, Model-to-Model (M2M) and Model-to-Code (M2C) Transformations, and finally code generation for exact MAS implementation. Following subsections discuss the methodology's phases covering those steps. Figure 1: SEA_ML-based MAS development methodology. SEA_ML: semantic web enabled agent modeling language: MAS: Multi-Agent System; VP: View Point; SWS: semantic web services; PIM: platform independent model; PSM: platform-specific model; OWL-S: Web Ontology Language for Services; ADF: agent definition file.