Anda di halaman 1dari 8

ICT-MobileSummit 2008 Conference Proceedings Paul Cunningham and Miriam Cunningham (Eds) IIMC International Information Management Corporation,

2008 ISBN: 978-1-905824-08-3

Extending Reusable Asset Specification to Describe Simple Mobile Services


Georgia M. KAPITSAKI, Dimitrios A. KATEROS, Georgios V. LIOUDAKIS, Iakovos S. VENIERIS 1 Intelligent Communications and Broadband Networks Laboratory, School of Electrical and Computer Engineering, National Technical University of Athens, Heroon Polytechniou 9, Athens, 15773 , Greece Tel: +30 210 7722551, Fax: +30 210 771092, Email: {gkapi, dimitris, gelioud}@icbnet.ntua.gr, venieris@cs.ntua.gr}
Abstract: The wide spread of mobile computing applications predicates the existence of sufficient service description standards that capture all service characteristics, facilitate the work of the service developer and provide adequate support for service discovery mechanisms. One of the main objectives of the Simple Mobile Services (SMS) IST project is to introduce simplicity in mobile services' use and development. In this paper we are presenting an extension of the OMG Reusable Asset Specification (RAS) to describe SMS services and mobile services in general. The method offers many advantages that allow the service developer to exploit in part or in whole existing resources stored in a service repository and is suited for team development environments. Keywords: reusable assets, repository, authoring.

1.

Introduction

It is a common observation that mobile services are becoming more and more popular. This spread of mobile computing has led many developers and architects to focus on the development of services targeting mobile devices. This predicates the existence of efficient mechanisms used for describing the available services. In order to guarantee user satisfaction mobile services need to match the user needs filtering unnecessary information as efficiently as possible - a field where traditional services available over the internet do not perform so well. Moreover, they have to address the special - and often restricted features of mobile devices to assure that the services can run without interruption on the end-user terminal (mobile phones, PDAs etc). The majority of relevant activities borrows and adapts description mechanisms from Web services to describe such services in mobile computing. Indeed, the Web Services paradigm has proven till now a good solution due to the wide approval and use of Web services in commercial and non-commercial applications. However, one should take into account that the standard Web service description mechanisms are limited to describing operation specific aspects of the service. Thus, a mechanism that combines useful aspects of Web services descriptors with mobile computing characteristics is needed, in order, for instance, to include the limited resources and display capabilities of mobile devices. The vast majority of existing service description mechanisms fails to address the aspect of service development in the sense that they are not focusing on reducing the development effort. The developer usually has to start from scratch, since no structured way of reusing existing work exists. Therefore, service description should also assist the developer in exploiting useful service descriptions, in order to identify and reuse existing resources, assuming of course that the necessary licenses for software reuse are available. Copyright 2008 The authors www.ICT-MobileSummit.eu/2008 Page 1 of 8

In this paper, we describe the approach used within the IST SMS project exploiting reusable assets in order to address the above issues by offering a modularized, structured service description that captures the different service aspects present in mobile computing environments. Reusable assets have been gaining importance in many fields in recent years: knowledge management, system development, legacy systems, software reuse etc. and are therefore the most promising candidate for describing mobile services in a reusable way.

2.

Related Work and Motivation

The majority of work performed in the domain of service description focuses on middleware solutions (e.g. Jini [1]), or on Web service description by offering extensions to Web Services Description Language (WSDL) [2] or to Universal Description Discovery and Integration (UDDI) [3], such as Universal Service Description Language (USDL) [4]. An interesting approach concentrating on pervasive computing environments is presented in [5], where the authors propose the Pervasive Service Description Language (PSDL) as a description mechanism. PSDL is an XML-based description language containing information on the device, service and physical characteristics, the methods provided, as well as Quality of Service (QoS) and security information. It is accompanied by the Pervasive Service Query Language (PSQL) responsible for helping in service discovery. Although this approach captures useful service characteristics, its main focus is on the organization and use of service description content in service discovery. Another interesting approach is found in [6]. In this approach the Composition Capabilities/Preference Profiles (CC/PP) standard [7] is extended to provide adequate service description for mobile devices. Another trend of the last years is the reusable assets. Reusable assets have been exploited in various areas and their popularity is still growing, while a specification on reusable assets has been published by the Object Management Group (OMG) [9]. An interesting case study has been presented by the NASA Earth Science Data Systems Software Reuse Working Group who developed its software reuse portal based on reusable assets [10]. An extension of OMG specification for more complete software reuse referred as Multiphased Component (MPC) has been presented in [11] and has been applied in the development of a military logistics system. Software reuse has been studied in association with other concepts to provide reusable working environments (e.g. [12]). Reusable assets are also a great potential for enterprise interoperability, since IT teams from different enterprises can collaborate and produce reusable software and system parts, and legacy systems of various enterprises can be exploited and reused. In [13] a tool that includes a number of heuristics responsible for identifying reusable assets was developed. These heuristics analyze the input application, state whether it can be reused and if so the application is uploaded on a repository. Our approach addresses the needs of service as well as reusable software discovery, both in the context of mobile computing. Our solution is employed in the framework of the Simple Mobile Services (SMS) [8] project, a European project whose aim is to create innovative tools enabling a new class of services, addressing the specific needs of mobile users and enabling individuals and small businesses to become service providers. Specifically, we are targeting a different application field from the above techniques; that of the mobile services, and try to address the issues of this field by a specialized use of reusable assets.

3.

The Reusable Asset Specification

OMG defines asset as a ''collection of artifacts that provide a solution to a problem for a given context'', while artifacts can be seen as products of the software development phases. Copyright 2008 The authors www.ICT-MobileSummit.eu/2008 Page 2 of 8

The OMG Reusable Asset Specification (RAS) [9] constitutes a solution that allows the combination of different service description file types in a uniform service description. Assets are comprised of multiple artifacts that are actually files of different types: XML files, text documents, Unified Modeling Language (UML) diagrams, implementation code, etc. Through RAS standardized way of organizing and describing the different artifacts a more efficient management of reusable units can be achieved. The different artifacts are packaged with a manifest file containing service metadata to form a packaged asset. OMG provides a Default Profile for RAS, which includes the fundamental asset elements and allows the introduction of new profiles that capture special constraints and system semantics as extensions to Default Profile. A Default Component Profile and Default Web Service Profile for use with components and Web services respectively are also available. The most important classes that make up the structural elements of RAS are: Asset: the first element in the manifest document associated with other classes that provide more information on the asset. Classification: used for classifying the assets, used in association with Context (Context defines the concepts that help in understanding the meaning of the elements of the asset). Solution: container for the collection of artifacts. Usage: section that provides guidance on using and customizing the asset. Related Assets: shows relations to other assets. Profile: describes the type of the asset.

4.

Asset Extension The simple Mobile Services Profile (sMSP)

The advantages of OMG RAS can be introduced into service description of mobile computing applications and have been exploited in the framework of the SMS project. Instead of using independent files for the service description, the RAS approach gives the opportunity to package all different files forming the service description as a whole, while it facilitates the handling of the distinct service parts. For this purpose we are extending RAS Default Component Profile 2.2 by the simple Mobile Service Profile (sMSP) suitable for describing mobile service capabilities. The new classes added in the Solution section of Default Component Profile are highlighted in Figure 1, while the sub-sections that follow explain the role of the additions. 4.1 FunctionalP and NonFunctionalPr

Although not officially part of the service development phases, the properties of an application are vital for its proper use and tightly coupled with the service design and implementation. The application-specific properties can be distinguished in functional and non-functional properties. Functional properties provide a description of the behavior or the capability of a service and refer to configuration characteristics related with running the service (e.g. displayed text, images used). On the other hand, non-functional properties refer to constraints over the functionalities of a service (payment, temporal and spatial availability, QoS, etc). This latter type of information is related to Context and Classification sections of RAS. However, NonFunctionalPr class has been added to provide a more detailed description. Indeed, significant importance should be given to these properties, as the reasoning that can be performed over service descriptions reduces the candidate set of services returned during end-user service discovery. The elements included in non-functional properties (classes Device and OtherSemantic) are based on description requirements needed in mobile services and include information on: Device requirements: hardware, software and network characteristics of the mobile terminal the service is targeting. Copyright 2008 The authors www.ICT-MobileSummit.eu/2008 Page 3 of 8

Service availability: temporal and spatial availability (e.g. in a shop service the mobile application can be available only during office hours). Context of use: target population (e.g. in a university: students or faculty professors). Security guarantees: security and privacy protocols enforced, authentication support, encryption, etc. QoS: bandwidth needed, bandwidth guaranteed, etc. Service charging.

Figure 1: Solution Section of sMSP

4.2

Quality

Quality is important in software engineering and many software quality metrics have been proposed and are widely used [14]. In order to guide developers in choosing the appropriate assets, we have introduced a number of general quality metrics included in Quality subclass of Properties. These metrics measure the asset quality in terms of: extensibility, reusability degree, user satisfaction and reviews. An average ranking of the asset is maintained based on developers input on these metrics. This average is one of the criteria used for asset retrieval from the service repository. For this purpose we have also added quality ranking in RAS Context categories.

Copyright 2008 The authors

www.ICT-MobileSummit.eu/2008

Page 4 of 8

4.3

Model-Profile, Datatype, Documentation

The service model in RAS is the UML model of the service constructed with the help of a UML modeling tool (e.g. Magicdraw [15], ArgoUML [16]) and consists of a number of diagrams (e.g. class diagrams) that capture the service characteristics at design time. In order to be able to introduce UML profiles in the service models the Model-profile class has been added in sMSP. The UML profiles are important when using Model-Driven Development techniques [17] in service engineering, as they guide the code generation process. Information and instructions on the service usage and activities to be performed are included in the Usage section of the asset. However, the Documentation class contains supplementary text and documentation describing in human readable form the service functionalities and purpose. An example of a service descriptor containing the artifact files based on the classes of sMSP is depicted in Figure 2. For the interface artifact WSDL was the most suitable choice for mobile services, since it allows interoperability between heterogeneous systems, which is essential in mobile computing. The implementation artifact completes the service description and contains the service source code, which can be written manually by the developer or be produced automatically from the service model through the use of MDA standards.

Figure 2: SMS Service Description

5.

Usage and Implementation

As mentioned above, one of the goals of the SMS project is the support for simple service authoring. SMS distinguishes between two kinds of service developers: the non-expert developer that has limited or no technical expertise and the expert developer that has advanced knowledge on service engineering. The RAS adaptation finds use in three different use cases in SMS: Copyright 2008 The authors www.ICT-MobileSummit.eu/2008 Page 5 of 8

Non-expert Service Authoring: The role of the non-expert developer lies in customizing service templates found in the repository. The structured form of the service description helps in discovering the appropriate service assets that suit the needs of the non-expert developer. Expert Service Authoring: The advanced developer has access not only to the service assets, but also to the individual artifacts comprising the assets. That way he can exploit the existing models, code, non-functional properties etc. of other developers and accelerate the development time. End-User Service Discovery: The RAS compatible service description can help in accelerating the process of end-user service discovery. Since all service characteristics are captured and no redundant information is present in the description the mobile services of interest to mobile users can be discovered by matching the service descriptions against the user preferences, context information, etc. An example use case showing how an advanced developer can profit from the described approach can be found in the following scenario: assume that an expert user wants to develop a new SMS service for his software company. He wants to provide the service users with information on the software solutions provided by his company and allow the user to book an appointment in his firm. Browsing through the RAS repository paying special attention to the asset quality ranking the developer discovers a number of existing service components he can exploit: 1) a greeting service displaying a personalized message to the user and 2) a catalogue service displaying a number of purchased items. However, no appointment service is available in the repository. Based on the service test description the developer decides to exploit the two existing services. Moreover, he decides to create the new appointment service in the sMSP asset format and upload it on the repository so that other developers can profit as well (Figure 3).

Figure 3: Advanced Developer Use Case

In order to bring sMSP and resource reuse in contact with the developers we have developed a Web front-end prototype to the asset repository that allows expert developers to Create asset resources, Retrieve them, Update them and Delete them as necessary. A snapshot of an asset browsing page of the front-end prototype is illustrated in Figure 4. The asset name, average ranking, type, category and description are used for asset discovery in the repository against users input. It is our belief that the service development community (both research and industrial) can benefit significantly from the advantages of the RAS specification and the proposed extension. Through our involvement in the RAS extension we have observed that it is straight forward for the developer to exploit a well documented RAS compatible repository, which simplifies his work. However, special attention needs to be paid to the asset discovery, since browsing through very large repositories can be inconvenient. Discovery mechanisms could include keywords and categorization - like in our case - or even personalized views of the repository based on the developers preferences and needs that could be stored in a user profile. Copyright 2008 The authors www.ICT-MobileSummit.eu/2008 Page 6 of 8

Figure 4: Repository Front-End Prototype

6.

Conclusions

In this paper we presented how RAS can be extended to describe Simple Mobile Services and mobile services in general and introduced the simple Mobile Service Profile. By adapting sMSP we prompt for a modularized service description. We capture service characteristics that apply in mobile computing environment and need to be present to fully describe a service targeting mobile terminals. This feature is useful in service discovery process, where the available mobile services need to be discovered fast and conform to the environment constraints. Furthermore, we approach service description from the developer's point of view. The major advantage is that anyone interested in developing mobile applications and services can exploit the artifacts developed by other developers, thus facilitating the service development. The descriptions stored in the repository serve as service templates. Future work will include the extension of artifact types by merging the non-functional properties artifact with a Semantic Markup for Web Services (OWL-S) [18] descriptor, in order to provide extended service composability properties. We also intend to work on how sMSP can be used to build service flows from the different service descriptions.

Acknowledgements
This work has been conducted in the framework of the European Union co-funded project IST SMS [8].

References
[1] Jini Architectural Overview, available online at http://www.sun.com/software/jini/whitepapers/architecture.pdf. [2] Web Services Description Language (WSDL) 1.1, available online at http://www.w3.org/TR/wsdl. [3] Universal Description, Discovery and Integration (UDDI) Specification Version 3.0.2, available online at http://uddi.org/pubs/uddi-v3.0.2-20041019.htm. [4] L. Simon, A. Mallya, A. Bansal, G. Gupta, T.D. Hite, ''A Universal Service Description Language'', In Proceedings of the IEEE International Conference on Web Services (ICWS'05), 2005.

Copyright 2008 The authors

www.ICT-MobileSummit.eu/2008

Page 7 of 8

[5] M. S. Thompson, S. F. Midkiff, ''Service Description for Pervasive Service Discovery'', In Proceedings of the 25th International Conference on Distributed Computing Systems Workshops (ECDCSW'05), 2005, pp. 273 - 279. [6] H. Li, H. Wang, ''A Method of Service Description and Discovery in Pervasive Computing Environments'', In Proceedings of the 1st International Symposium on Pervasive Computing and Applications (SPCA'06), 2006, pp. 604 - 607. [7] Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 1.0, available online at http://www.w3.org/TR/CCPP-struct-vocab/. [8] Simple Mobile Services, IST 2006 034620, official website http://www.ist-sms.org. [9] The OMG Reusable Asset Specification, version 2.2, November 2005, available online at http://www.omg.org/docs/formal/05-11-02.pdf. [10]R. Gerard, R. R. Downs, J. J. Marshall, R. E. Wolfe, ''The Software Reuse Working Group: A Case Study in Fostering Reuse'', In Proceedings of the IEEE International Conference on Information Reuse and Integration (IRI'07), 2007, pp. 24 - 29. [11]Soojin Park, Sooyong Park, V. Sugumaran, Extending Reusable Asset Specification to Improve Software Reuse, In Proceedings of the 2007 ACM symposium on Applied computing (SAC07), 2007, pp. 1473 - 1478. [12]H. M. Haddad, ''Integrated Collections: Approach to Software Component Reuse'', In Proceedings of the Third International Conference on Information Technology: New Generations (ITNG'06), 2006, pp. 28 33. [13]M. Oliveira, E. Machado Gonalves, K. R. Bacili, ''Automatic Identification of Reusable Software Development Assets: Methodology and Tool'', In Proceedings of the IEEE International Conference on Information Reuse and Integration (IRI'07), 2007, pp. 461 - 466. [14]S. H. Kan, Metrics and Models in Software Quality Engineering, 2nd Edition, Addison Wesley Professional, 2002. [15]The MagicDraw official website, http://www.magicdraw.com/. [16]The ArgoUML official website, http://argouml.tigris.org/. [17]The OMG Model-Driven Architecture (MDA) official website http://www.omg.org/mda/. [18]OWL-S: Semantic Markup for Web Services, available online at http://www.w3.org/Submission/OWLS/.

Copyright 2008 The authors

www.ICT-MobileSummit.eu/2008

Page 8 of 8

Anda mungkin juga menyukai