Towards a Specification Language for Mobile Applications

Towards a Specification Language for Mobile Applications

Abdesselam Redouane
DOI: 10.4018/ijssci.2013040104
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Mobile applications are increasingly being developed by many developers using different environments for diverse devices. However, there is no method or formal language that helps these developers specify their requirements before the coding stage. In this paper, the author describes a specification language that helps in this context. To achieve rigor, the language is based on an extended first order predicate calculus and allows specifiers to modularize their specifications. The language is founded on two concepts: a pristine which can be seen as a unit of cognition and a definition which is a logical rule based on pristines and other definitions. Furthermore, the language allows specifiers to express constraints which are fundamental features in mobile applications. A use of this language is shown by an example.
Article Preview
Top

1. Introduction

The use of mobile devices nowadays has become almost everywhere in the globe. Their very fast spread use exceeded far away the adoption of internet. Applications on these mobile devices are enormous and range from game applications, maps, news, social networking, to sophisticated business transactions. High end mobile devices like Smartphone’s sales are expected to reach high volume of sales all capable of running some applications. The new features, like sensors, found in mobile devices present new challenges to applications developers that are not found in traditional software development. The need for a self-adaptive application and hence expressing the requirements formally is very important in mobile applications software engineering (Dehlinger & Dixon, 2011).

According to the survey in Wasserman (2010) on mobile application development, the following alarming issues have been raised:

  • 1.

    These applications are not large, only several thousand of lines code;

  • 2.

    Small number of developers one to two members who do everything from design to the upload to the app store;

  • 3.

    No rigorous process followed to develop these mobile applications.

One would add that these developers usually they are themselves the customers of the application and hence it will be a big handicap for them to see the errors and any deficiency in the user interface design or the results of the application computation. An independent tester is required for these applications to perform a rigorous test and avoid any set back later after uploading it into an app store. Users are less tolerant even if the application is free. It has been found that many mobile applications exhibit many errors (Muccini, Fransesco & Esposito, 2012; Amalfitano, Fasolino, Carmine, Tramontana, & Memon, 2012; Amalfitano, Fasolino, & Tramontana, 2011).

Rigorous requirements capture for these applications is of paramount importance if these applications are going to be reliable and trustworthy. Designing and developing these applications for an array of devices is not an easy task. The same device may change characteristics within few months. Keeping with these changes is a tremendous job for applications upgrade or the application becomes obsolete for future devices. Recent effort in HTML 5 and PhoneGap allow the development across multi platforms: iOS, Android, window 7 etc … is an attempt to reduce the development effort. But with these technologies there is no access to the native API which hinders the application from accessing the full capabilities of the device.

It is not feasible or expected to be, at least in the near future; to run huge application on these mobile devices given the intrinsic limitations in these devices see for instance section 2.

Other challenges facing the development of mobile applications (Dhelinger & Dixon, 2011) are:

  • 1.

    Creating user interfaces;

  • 2.

    Handling the complexity of providing applications across multiple platforms;

  • 3.

    Designing context-aware applications;

  • 4.

    Specifying requirements uncertainty.

In this paper we introduce a specification language that helps in the specification of these mobile applications. The language is based on an extended first order predicate calculus to achieve rigorousness. The language is typed to allow specifier to express constraints easily as well as models functional requirements quite simply. The specifier can express a resource concept that is always true or always false, he can express an interval based requirement and he can express an instant based requirement that is true at one instant and may be false at another instant of time.

Complete Article List

Search this Journal:
Reset
Volume 16: 1 Issue (2024)
Volume 15: 1 Issue (2023)
Volume 14: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 13: 4 Issues (2021)
Volume 12: 4 Issues (2020)
Volume 11: 4 Issues (2019)
Volume 10: 4 Issues (2018)
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing