MobiDSL-a Domain Specific Language for Mobile Web Ankita Arvind Kejriwal, Mangesh Bedekar Birla Institute of Technology and Science, Pilani, Goa Campus, India {kejriwal.aa | mangesh.bedekar}@gmail.com

Abstract. The enormous potential of mobile web as an information appliance presents all organizations a compelling reason to create mobile specific versions of certain parts of the ir systems. However, developing mobile web applications for dynamic information delivery and simple transactional capabilities requires sufficient knowledge of web engineering. As a result, it might be difficult for many organizations to develop these applications quickly due to inadequate resources. In this paper, we describe our aim to mitigate this problem by using MobiDSL - a Domain Specific Language (DSL) for modeling Mobile Web Applications and show it can enable system designers and analysts to easily define the application's specification at a very high level of abstraction without any web programming. We also explain how a Virtual Machine (VM) is used to execute MobiDSL models, which helps in radically simplifying the deployment and life cycle management of such applications.

1 Problem and Motivation The mobile web is emerging information medium in the making which presents us with a massive opportunity to provide information and e-services to entire human population. It can be the best enabling mechanism to empower billions of people with information and to bridge the digital divide. This research is motivated by the following two key issues: If the mobile web applications are simpler compared to regular web applications, then why are we using the same heavy duty techniques, methodologies and frameworks which are used in regular web development? If the mobile web has such enormous potential as an information appliance, what can be done so that various organizations can quickly extend their current applications to mobile platform? To address these, we attempted to find a solution using the DSM based approach. We analyzed the mobile web domain to identify various constructs and designed a simple, compact and extensible DSL for defining or modeling the mobile web applications. Though most DSM based approaches involve generation of the programs which can be compiled and run, we chose to develop an execution engine or a Virtual Machine (VM) to execute the model defined in DSL. We believe that our approach provides a reasonably sound framework for rapid prototyping, development, deployment and life cycle management of mobile web applications without the need of any programming and provisioning of any special middleware.

2 Background and Related Work Mobile internet access began with the Wireless Access Protocol (WAP), wherein the pages were composed in Wireless Markup Language (WML). The advent of WAP 2.0 permitted use of XHTML markup with end-to-end HTTP. To assist the development community, W3C has launched Mobile Web Initiative [1] and published standards such as Mobile Web Best Practices (MWBP), XHTML markup for mobile (XHTMLMP), Cascading Style Sheet for mobile (CSS-MP), and MobileOK Basic Tests. The mobile web applications are generally developed using Web Engineering methodologies and frameworks ranging from scripting technologies such as CGI, PHP,ASP and JSP (to name a few) to sophisticated web modeling based frameworks such as HDM, WAE, WSDM, UWE and WebML. Moreover, there are some XML based frameworks employing XML transformation (XSLT) such as Apache Cocoon. However, creating a robust and scalable data intensive mobile web application using any of the above methodologies is not a trivial task. Many researchers including Gopal [2] have advocated use of Domain Specific Language based frameworks to enable developers to develop robust, reliable and secure programs at least cost in least possible time using high level abstractions. The DSM based approach has been reported to be successful in many application areas [3,4]. DSL paradigm has also been used in web engineering by researchers such as Nunes et al. [5], Martin et al. [6], E. Visser [7] and Ceri et al. [8]. We were particularly influenced by Web Modeling Language (WebML) proposed by Ceri et al. [8]. However, whereas WebML’s meta-model is very elaborate, we have combined the various models proposed in WebML into one simple model. Moreover, whereas WebML’s tool generates the application code, we have implemented a VM to execute the model. The concept of executable DSL models has been demonstrated in ModelTalk [9].

3 Approach Our solution to the stated problem is based on the promise of Domain Specific Modeling approach. The driving factor for identification of language constructs is primarily based on “Domain Expert’s and Developer’s Concepts” approach. We identified the distinct features and recurring themes in mobile web applications based on our earlier work and analyzed popular dynamic mobile web sites to mine recurring patterns. Based on this analysis and discussions with an industry expert to understand the concepts for extending current systems to mobile platform, we designed a textual DSL called MobiDSL for mobile web domain. MobiDSL is simple and combines the Structural, Hypertext and Navigational Models into one Page Composition Model. The model is supplemented using Cascading Style Sheet (CSS). We have used XML as Meta language for our DSL as it is simple, flexible and easily understood. To understand MobiDSL, let us consider an example of the Physicians List Page of a Pharma Sales Force application as shown in figure 1. The specification of above page in MobiDSL is given in figure 2. We can see how the search request and query view sections have been specified at a high level of abstraction and how SQL is used.

Figure 1. The Physicians List Page Search for Physicians select a.* from physician a, towns b where a.town=b.town and b.medrepid=$_userid and a.physician=$physician* and a.spclcode=$spclcode* and a.town=$town* order by physician Figure 2.The Complete Specifications for Physicians List Page in MobiDSL

To support MobiDSL, We have implemented a VM as shown in figure 3. On one side, it interfaces with HTTP encapsulating the CGI API. On the other side, it interfaces with database encapsulating the database access API. When it receives HTTP input, it identifies the page, parses the corresponding XML model, runs database queries and constructs the response page in XHTML. In nutshell, it handles complete server side processing encapsulating various web engineering technologies.

Figure 3. A macro level view of MobiDSL Virtual Machine

4 Results and Contributions In this paper, we have looked into the question of how we can simplify the development, deployment and life cycle management of mobile web applications. The question is important because mobile web is a fast growing information delivery medium and it is vital for organizations to quickly develop systems for mobile platform with least effort. Our main contributions can be summarized as follows: Identifying core requirements and design elements of mobile web applications Evolving the concept of a unified Page Composition Model Designing a DSL or a meta-model for defining the Page Composition model Incorporating the concept of using SQL in DSL for Queries Creating a VM to support the DSL

References [1] Mobile Web Initiative. Available: http://www.w3.org/Mobile/ [2] Gopal Gupta : Language Based Software Engineering. Available: http://www.utdallas.edu/~gupta/ [3]Janne Luoma,,Steven Kelly, Juha-Pekka Tolvanen : Defining Domain-Specific Modeling Languages: Collected Experiences. Available: http://www.metacase.com [4] Arie van Deursen, Paul Klint, Joost Visser: Domain-Specific Languages: An Annotated Bibliography. SIGPLAN Notices 35(6): 26-36 (2000) [5] Nunes, D. A.; Schwabe, D. : Rapid Prototyping of Web Applications Combining Domain Specific Languages and Model Driven Design. in 6th International Conference on Web Engineering (ICWE’06), ACM Press, Jul. 2006. [6] Martin Nussbaumer, Patrick Freudenstein, Martin Gaedke: Towards DSL-based web engineering. WWW 2006: 893-894 [7] Eelco Visser: WebDSL, “A Case Study in Domain-Specific Language Engineering,” in GTTSE 2007: 291-373 [8] Stefano Ceri, P iero Fraternali, Aldo Bongio: Web Modeling Language (WebML): a modeling language for designing Web sites. Computer Networks 33(1-6): 137-157 (2000) [9] Atzmon Hen-Tov, David H. Lorenz, Lior Schachter: ModelTalk: A Framework for Developing Domain Specific Executable Models. CoRR abs/0906.3423: (2009)

MobiDSL-a Domain Specific Language for Mobile Web

The mobile web applications are generally developed using Web ... PHP,ASP and JSP (to name a few) to sophisticated web modeling based frameworks.

360KB Sizes 0 Downloads 237 Views

Recommend Documents

No documents