User's Guide
Modeling the Goal Service
MoSCoE (Modeling Web Service Composition and Execution) is a framework for (semi-)automatically realizing new services from a pre-existing set of component services. The graphical interface for MoSCoe is shown in Figure 1. It is composed of three main components: Automata Panel, Attributes Panel, and the Automata Viewer. We will discuss the functionalities of these panels later.
Now, let us start creating our own service. At first the user can choose to either create a new automata or import from the existing automata by choosing File > New Automata or File > Import as shown in Figure 1.
Figure 1: Importing an Automata File
In this example, we choose to import the automata from the existing object file GoalService1 as shown in Figure 2. Now the user can start using this automaton in composing his/her own service.
Figure 2: GoalService1 Loaded
Automata Panel
In the Automata Panel, there are 3 tabs: Automata, Editor, and Composer; and a Navigator (in the bottom of the Automata Panel). The Navigator is used to help the user navigating the automata shown in the Automata Viewer, especially when the size of the whole automata doesn't fit into the Automata Viewer.
The Automata shows the list of the currently loaded automata, with the number of states and transitions exist in each. The number inside the bracket indicates the number of states or transitions selected in the corresponding automata. In this particular example, automata GoalService1 is selected (Figure 2). The total number of states is 9, while the number of selected state is 1 (in yellow color), the number of transitions is 8 and no transition is selected. The selected automaton is shown on the Automata Viewer.
The Editor lets the user add components such as states and transitions to the selected automata (Figure 3). There are 3 types of states: Start State, Non-Terminal State, and End State. There can only be one Start State and if the user tried to add another Start State, the user will be given an error message. To add a state or a transition to the automata, the user needs to choose a certain type of the state or the transition and then drag and drop it inside the Automata Viewer.
The Composer lists all the services that exist in the repository; allowing the user to choose from the list which existing service functionalities he/she will use and lets the user to choose the goal service (Figure 4.). If all the service functionalities needed for the goal service are available then a success message will be given with the information about which service functionalities used to achieve the goal. Otherwise, an error message will be given informing that there is a needed service functionality missing. The result will be shown in the Automata Viewer.
Figure 3: Editor Panel
Attributes Panel
In the Attributes Panel, there are 3 icons: Show, Create and Delete; and 3 tabs: State Attribute Browser, Transition Attribute Browser and Automata Attribute Browser. The first icon lets the user choose which attributes wanted to be shown from the selected object. The second icon lets the user create a new attribute and the last icon allows the user to delete a certain attribute. The selected object inside the Automata Interviewer and the chosen tab determines whose attributes the user wants to be shown, created or deleted. For example, if the user chooses a particular transition and the tab selected is Transition Attribute Browser, when the delete icon is clicked, a list of the transition attributes will be shown, with the change for the user to choose the ones to be deleted.
Figure 4: Attributes Panel shown below the Attribute Viewer
Menu Bar
The menu bar contains the File, Edit, View, Select, Actions, Layout, Plugins, and Help menus. File contains New (to create a new automata), Import (to import an automata from either a BPEL file or an object file), Export (to export an automata as a BPEL file), Quit (to close this application). Edit contains Destroy View (to remove the view), CreateView (to show the selected object in the Automata Viewer), Destroy Automata (to destroy the object and the view in the Automata Viewer), Delete Selected States and Transitions (to delete the selected states and transitions in the Automata Viewer). Select contains menu that lets the user control the selection action of the objects inside the Automata Viewer. Actions contains State where for the chosen state, the user can change the state type, delete/edit the state variables, add state variables, Transition where for the chosen transition, the user can add/edit action, add/edit guard, delete guard, Add Current Service to Repository, Remove Service from Repository to let the user to remove the currently selected service. Layout lets the user to set how the view of the automata will be arranged in the Automata Viewer. Plugins to let the user add his/her own functionality to the tool such that this allows the user to create their own functionalities.
Toolbar
In the toolbar there are icons to zoom out the automata inside the Automata Viewer, to zoom in the automata, to zoom to a specific selected region of the automata, and to view the automata in the original size.



