Introduction: In this project, a domain specific modeling language is designed and implemented. The domain is Semantic Web enabled Multi Agent Systems, SEA_ML. The SEA_ML tool is developed and implemented collaboratively by Software Laboratory of International Computer Institute at Ege University, Izmir-Turkey (http://mas.ube.ege.edu.tr/) and Programming Methodologies Laboratory of Institute of Computer Science at University of Maribor, Maribor-Slovenia (http://lpm.uni-mb.si/). SEA_ML Language consists of eight viewpoints. The user can graphically model his/her MAS system in SEA_ML tool using these viewpoints. Then, the developer can generate the Jadex, OWL, and OWLS models of his/her system. Finally, the developer can automatically generate related codes. The developed tools of SEA_ML is available as an online bundle at: http://mas.ube.ege.edu.tr/downloads/sea_ml_bundle.zip The study was funded as a bilateral project by the Scientific and Technological Research Council of Turkey (TUBITAK) under grant 109E125 and Slovenian Research Agency (ARRS) under grant BI-TR/10-12-004. Please feel free to contact and ask the questions related to the tools with: m.challenger@gmail.com Contents of the bundle: In the bundle you can find: - Graphical Tool Projects for SEA_ML (24 projects for 8 viewpoint in GMF_Projects folder), - M2M transformation projects for SEA_ML (4 Projects in M2M_Transformation_Projects folder), - M2T transformation projects for SEA_ML (3 Projects in M2T_Transformation_Projects folder), - SINTEF's MofScript free distribution, version 1.3.3 (already included in SEA_ML's bundle) - Case Studies folder (3 folders in CaseStudies folder), - Ecores and their diagrams folder (3 folders in the EcoresAndDiagrams folder) Requirements: SEA_ML is developed using Eclipse GMF, ATL, and MofScript. Also, some of the GMF projects are generated using Eclipse Epsilon and its artifacts (Emfatic and Eugenia). The current version of SEA_ML tool is using following languages and plug-ins in Eclipse: - JAVA 7 - Eclipse Framework, JUNO Release 2 - Graphical Modeling Framework (GMF) Tooling SDK, version 3.0.2 - ATL-Atlas Transformation Language, version 3.3.1 - MofScript version 1.3.3 - Eclipse Epsilon version 1.0.0. - Emfatic (Incubation) 0.8.0 - Eugenia 1.0.0 Installing: As a developer of a DSML, you need to install all of the above mentioned bundles and plug in's to extend SEA_ML. However, to simply use the language you just need to do the follwoings: 1. Either Download Eclipse JUNO and install GMF plugin in it, or simply download Eclipse Modeling Tool (JUINO release) which has already GMF installed: http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/SR2/eclipse-modeling-juno-SR2-win32.zip 2. Install ATL plugin: http://www.eclipse.org/atl/downloads/ 3. Install MofScript: It can be downloaded from several places, e.g. http://modelbased.net/mofscript/ also, it is available in our bundle. To install this version simply unzip its content in "dropins" folder of your Eclipse, under a folder (the folder's name is not important). Then restart the Eclipse. Note: To download and run the JADEX editor to modify the JADEX diagrams, you can use the following link: www.seagent.ege.edu.tr/wiki/index.php?title=Download Importing and Configurations: After Installing Eclipse Modeling Tool, ATL, and MofScript, you can import SEA_ML projects from the bundle into your Eclipse to run SEA_ML tools. Similarly, you can import M2M and M2T projects into your Eclipse workspace. To configure the GMF projects, you can right click on a GMF project, say AgentViewpoint, then select Run as-> run configuration. In this window you can create a new configuration for running GMF projects by double clicking on Eclipse Application. Then you can create the new configuration and make your settings. For example, you can arrange the memory settings in case of "out of memory problem" in Arguments->VM arguments, by adding a value like "-Xms256m -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m". For another example, you can select "plug-in selected below only" option in Plug-ins tab and then select the projects which you want to run. Please note that you should select all of the three projects for each of the viewpoints to have it run. To configure the ATL projects, similarly to the GMF project's configuration, right click on an ATL project, and then select Run as -> run configuration. You can create a new configuration by double clicking on "ATL Transformation" and provide the transformations setting in ATL configuration tab. To ease the use of ATL projects, the default configurations are saved in XML files inside each ATL project (the files with ".launch" extension) To make the configurations for MofScript, you should select Window -> preferences -> "MofScript Preferences" and then make the settings. You should fill all of the text boxes (those which have Browse button beside). Please refer to the related tools website, for more information on their configuration and running. Running SEA_ML: Generally, to run the GMF projects (after the configuration) you can simply press run button in the tool bar or ctrl+F11. If you have selected all of the GMF projects, you can create projects for each of the 8 viewpoint diagrams. After running the GMF configuration, a new eclipse will run. In this Eclipse, you can create a project, say a general project. Then you can create project for each viewpoint by selecting File -> New -> Examples and then selecting the title of desired viewpoint and pressing finish button. At this point the related palette will be opened and you can model the system. After modeling the system with different viewpoints, e.g. with Agent Viewpoint and Agent-SWSInteraction Viewpoint, you can fulfill the M2M and M2T transformations. To do this, it is better to copy the instance model file (the file of the viewpoint which has no "_diagram" at the end of its extension) of the viewpoint into related M2M project. Logically, the instance model of a viewpoint can be transformed using a specific M2M project. For example, the instance of Agent viewpoint can be passed into SEA_ML(Agent)2JADEX project, and an instance of Agent-SWSInteraction viewpoint can be processed by both SEA_ML(SWS)2JADEX and SEA_ML2OWLS projects to transform related Agent and SWS information respectively. As another example, Ontology viewpoint instance model can be manipulated via SEA_ML(Onto)2OWL project to generate equal OWL model. As a final step, the generated JADEX, OWL, and OWLS models which are in XMI format can be given to related platform specific code generator projects: MofScriptJADEX, MofScriptOWL, and MofScriptOWLs. Note: It worth to note that unlike ATL projects which need not to re-configure it to execute another ATL project, in MofScript, it should be re-configured to run the next MofScript project. Also, after code generation by MofScript, a refresh is needed to show the generated files. Case Studies: For more description of executing complete case studies with different projects, please refer to the case studies. There are three case studies, Expert Finding, Stock Exchange, and E-Barter Manager system. The StockExchange and ExpertFinding case studies have more design issues and are more elaborated.