An Eclipse-Based Authoring Tool For Developing Model- Based Adaptive Service Frond-Ends Safdar Ali, Umair Javed Human Computer Interaction Laboratory, SAP AG Bleichstr. 8, 64283 Darmstadt, Germany {firstname.lastname}@sap.com ABSTRACT the implementation in order to be consistent with high-level This paper describes the initial results of our research choices. Thus, by using models which capture semantically within the context of Serenoa project, where we have meaningful aspects, designers can more easily manage the developed the first version of an authoring tool, which has increasing complexity of interactive applications and been developed as a plugin for the widely used Eclipse IDE analyze them both during their development and when they in the industry and academia. This authoring tool supports have to be modified [3]. all the CRUD (Create, Retrieve, Update, and Delete) operations for the adaptation rules and front-end UIs Serenoa Project [4] is aimed at developing a novel, open development for the service definitions at Abstract level. platform for enabling the creation of context-sensitive or The adaptation rules and the front-end UIs are developed adaptive SFEs. A context-sensitive SFE provides a user using the model-based languages, namely the Advanced interface (UI) that exhibits some capability to be aware of Adaptation Logic Description Language (AAL-DL) and the the context and to react to changes of this context in a Advanced Service Front-End Description Language continuous way. As a result such a UI will be adapted to a (ASFE-DL), respectively, which have been developed in person’s devices, tasks, preferences, and abilities, thus the project. improving people’s satisfaction and performance compared to traditional SFEs based on manually designed UIs. Author Keywords Serenoa will provide domain-independent reference models Serenoa Project, Authoring Tool, Adaptive Service and languages (ASFE-DL, AAL-DL) devoted to simplify Frontends, Model-Driven Architectures, Eclipse-Plugin the development of adaptive SFEs. It is developing the ASFE-DL language targeted to the specification of context- ACM Classification Keywords sensitive SFEs that can adapt to different platforms, Algorithms, Design, Languages modalities or users in ubiquitous computing environments. General Terms Also, it is developing AAL-DL as a high level description Algorithms, Design, Languages, Theory language for expressing advanced adaptation logic (Rules). The adaptations of SFEs are carried out according to these INTRODUCTION AND BACKGROUND rules. Furthermore, Serenoa is aimed to provide the Model-based approaches mainly aim at helping the technology for the automatic generation of context-sensitive developers to understand user needs and design solutions in SFEs with user involvement and machine learning. an effective way. Nowadays, many industrial and academic An authoring tool is a software package which developers initiatives for implementing context-aware adaptation of use to create and package content deliverable to end users. user interfaces rely on model-based approaches for UI It is a software that allows (usually non-programmer) users design [1] and Model-Based Integrated Development to create their own courseware, web page, or multimedia Environments (MB-IDEs) [2]. The purpose of model-based applications and the associated navigating tools. It requires design is to identify high-level models, which allow less technical knowledge to master and is used exclusively designers to specify and analyze interactive software for applications that present a mixture of textual, graphical applications from a more semantic oriented level rather than and audio data. It could be developed as a plugin or it could starting immediately to address the implementation level. be developed as a web based application as well. This allows them to concentrate on more important aspects without being immediately confused by many AUTHORING TOOL AND ARCHITECTURE implementation details and then to have tools which update In Serenoa project, we have developed an Eclipse-Plugin based authoring tool, where our objective was to develop Permission to make digital or hard copies of all or part of this work for two editors, namely the Service Editor and the Rules Editor personal or classroom use is granted without fee provided that copies are to create the service definitions and context rules, not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, respectively. The Service Editor can be used to create or republish, to post on servers or to redistribute to lists, requires prior Abstract-level service descriptions, while the Rules Editor specific permission and/or a fee. supports creating the context-sensitive transformation rules using the Design and/or Code views. Another important objective was to allow the authoring tool to communicate The Property View shows the properties associated with with a remote repository via RESTful Web Services based each element that can be set in the fields. The miniature interface and support all the CRUD (Create, Retrieve, view of the drawing area provides an overview of when Update, and Delete) operations on the service definitions editing in the XML editor. The Graphical editor also and context-dependent transformation rules. provides features such as Selection, Moving, and Resizing of elements, Actions (like Redo, Undo, Delete, and Zoom), keyboard shortcuts, context menu, drag and drop, cut and paste. Both the XML editor and the Graphical editor are synchronized to reflect changes made at any time in their respective views. IMPLEMENTED FUNCTIONALITIES Currently the following functionalities have been implemented and supported by the authoring tool in the form of wizards for each of the functionality. Creation of a Serenoa Project In order to create rules or UI definitions for the services, first of all a project must be created, which will serve as a container for holding other project related elements. In order to do this, the user creates a Serenoa project with the Figure 1: Authoring Tool in Eclipse Plugin Environment help of a wizard, where the user can set different properties and structure. Figure 1 shows the high-level implementation architecture of the authoring tool plugin, which shows how the two Loading of XML Schemas and Data Type Definitions different views, namely Code view and the Design view In order to create rules or UI definitions for the services, the have been implemented along with the plugin specific relevant XML schemas and DTSs files are loaded and used perspective. On the other hand, Figure 2 shows the by the respective wizard to create the desired depth or screenshot of Rules editor with the Design view (the hierarchy of the structure of the rule. description of each part of the editor is explained in the caption of the figure). The important thing is that the Action Creation of AAL-DL Rules element of the rule can include nested rules and the Once the XML schemas and DTSs have been loaded in the Condition element can be made as complex condition project, the user can create adaptation rule, either with the (nested conditions) with different logical and arithmetic help of provided wizard, or simply creating an XML file in operators. The Rules Editor is designed as a multi-page the project. After this step, the user opens this file in AAL- editor with Graphical Editor and XML Editor to facilitate DL Editor, as shown in Figure 1, for creating new rules or the creation and editing of rules in graphical and code editing the existing ones. views, as shown in Figure 2. The Code View is displayed simply in an XML Editor as the model languages are based Creation of ASFE-DL Service Definition Locally on XML as underlying language. The Graphical editor is Once the XML schemas and DTSs have been loaded in the developed using GEF, which internally uses MVC [5] project, the user can create UI definitions for the services. architectural pattern and provides technology to create rich Currently, only the Abstract UI definitions are supported, graphical editors and views for Eclipse Workbench UI. The but in later versions, the editor will support creating the languages schemas and example rule files provided by the Concrete and Final UI definitions. project partners helped us in designing the graphical part of the rules editor. Creation of ASFE-DL Service Definition Remotely The graphical part is designed to have a tool palette which Once the Abstract UI definitions have been created locally, contains elements’ list for creating rules. The element list is they can be stored by creating a new service on a remote divided into three categories as Event, Condition and repository via RESTful services interface. In order to do Actions (the structure used for specifying Rules). The this, the user selects the service folder from the project drawing area is used to drag and drop elements from the explorer and presses Shift + C, which opens a dialog where palette and displays the rules in a graphical representation the user selects the respective files and finishes the process (in the form of boxes). This helps the developers to easily by clicking on Create button. and quickly develop the rules for Adaptive SFE applications. The editor can also display the Outline View in Deletion of Rules and Service Definition the form of tree structure and provides displaying and easy The user can delete adaptation rules or service definitions navigation feature for the Rules drawn in the drawing area. not only from the local project, but also from the remote Figure 2: The Design View of the Rules Editor of the authoring tool plugin. On the right hand side, the Palette block shows the elements that can be dragged and dropped on the design canvas in the middle. These elements include, mainly, Rule, Event, Condition and Action, where all the elements can be dropped inside a Rule element. Multiple rules can be created, as shown in this figure. In the bottom, the Properties View shows the respective properties which a user can set by selecting an element. On the left hand side, The Project Explorer shows the project and all the files of rules and UI definitions created in it. Also, the Outline area shows the tree view of the rules and the Miniature View shows the miniaturized view of the design view repository by pressing Shift + D as well. CONCLUSION We have developed the first version of Eclipse-Plugin Retrieval of Rules and Service Definition based authoring tool. The current implementation The adaptation rules or service definitions can be retrieved comprises of two editors, namely the Service Editor and the or downloaded from a remote repository. First of all, the Rules Editor to create the service definitions and context user selects the project, where the Service should be rules, respectively. Currently, the Service Editor can be downloaded to, and then presses Shift + G. used only to create Abstract-level service descriptions, while the Rules Editor supports creating the context- Updating Rules and Service Definition dependent transformation rules using the Design and/or After the retrieval of adaptation rules or service definitions, Code views. The authoring tool is able to communicate the user can make changes to them. After saving it locally, with a remote repository via RESTful Web Services based the user can update them on remote repository by pressing interface and support all the CRUD (Create, Retrieve, Shift + U and then selecting the updated rules and service Update, and Delete) operations on the service definitions definitions files. and context-dependent transformation rules. FUTURE WORK REFERENCES In future, the authoring tool will support the editing of SFEs 1. Fabio Paternó; Model-based Design and Evaluation of at Concrete and Final levels along with testing of SFE Interactive Applications; Springer Verlag, November designs on a variety of target environments, e.g. through a 1999, ISBN 1-85233-155-0 means to emulate those environments (e.g. mobile, tablet, 2. Puerta, A.R; A Model-Based Interface Development desktop, etc.) for different interaction modalities, e.g. Environment; IEEE Software, 14(4), July/August 1997, graphics, voice, touch etc. pp. 41-47. ACKNOWLEDGMENT 3. Fabio Paternó; Model-based Tools for Pervasive This work received funding from the European Usability; Interacting with Computers, Elsevier, May Commission within the context of Serenoa Project 2005, Vol.17, Issue 3, pp. 291-315. (http://www.serenoa-fp7.eu/) under grant agreement 4. EU FP7 Serenoa Project; http://www.serenoa-fp7.eu/ number 258030 (FP7-ICT-2009-5). 5. Model View Controller (MVC) Design Pattern; http://en.wikipedia.org/wiki/Model%E2%80%93view% E2%80%93controller