MobileSEWorkshopHeader

Call for Participation

9 October - Abstracts and Full Papers Posted

Workshop Schedule Posted

The goal of the Workshop on Software Engineering for Mobile Application Development is to explore the challenges, issues and opportunities in a systematic approach to the engineering of mobile applications and systems. As mobile phones and devices become more powerful, as cloud services and telecom infrastructure become richer, and as consumer expectations evolve, developers are faced with an array of challenges that affect how they should systematically build and deploy new applications and systems. These technical and business challenges include multiple sources of fragmentation and constraint, such as:

• Multiple hardware and software platforms
• Many development frameworks and programming languages
• Different operator restrictions and features
• Many app stores with different rules and tools
• Very short development cycles
• UI limitations and complexities of interaction with sensors and cameras
• Effective use of context
• Power management
• Security and privacy models and policies
• Computational and storage limitations
• Applications that depend on external services

Goals of the Workshop

Participants will explore the key issues, and together develop a “manifesto” for the Software Engineering of (next generation) mobile applications and systems, accompanied by a roadmap for future research and the identification of best practices, and their application to real-world development. This workshop is intended to be similar in spirit to the series of software architecture workshops that launched the Software Patterns movement. A key topic for exploration is the overarching implication of the increasing fragmentation of the mobile applications ecosystem, involving important decisions on how to address the plethora of devices, platforms, operators, languages and app stores. Should a developer focus on only one combination of these, or use a toolkit or framework to mask (some of) the differences? How would this affect their approach to development? Another driver is the trend away from browser-only apps like those on http://www.hostgatordiscounts.org to native apps, and the closely related importance of agility and frequent updates; release early and release often could be emerging as the most successful paradigm.

Key Questions to Address

1. How does traditional software engineering relate to the engineering of mobile applications and systems?
Is it the same, different or a variant of conventional approaches? For example, should mobile software engineering employ the same methods and processes but with different patterns and heuristics? Which methods should be used? Are there new methods?

2. What are the distinguishing features of mobile software specification, architecture, development and testing that need special attention, skills, or innovation?
For example, consider the technical and business challenges listed above.

3. What should be the suggested focus and agenda for mobile software engineering research and education? What new knowledge and skills do practitioners need most?

We invite you to join us to participate in this discussion by registering for this workshop.

Workshop Papers

Overview Paper

Software Engineering Issues for Mobile Application Development (PDF)
Anthony I. Wasserman, Carnegie Mellon Silicon Valley

Accepted Papers

Improving Mobile Application Development
Ray Bareiss and Todd Sedano, Carnegie Mellon Silicon Valley

Preparing Mobile Software Development Processes to Meet Mission-Critical Requirements
Luis Corral, Alberto Sillitti, and Giancarlo Succi, Free University of Bozen-Bolzano

Mobile Business Applications must be thoroughly engineered
Ralf Carbon and Steffen Hess, Fraunhofer IESE

Mobile-Enabling Enterprise Business Applications using Model-Driven Engineering Techniques
Suman Roychoudhury and Vinay Kulkarni, Tata Consultancy Services

System Design and Software Engineering Challenges in Building an Android Application: a Case Study
Rawan Tarek Khalil and Ala’ Fathi Khalifeh, German University in Cairo

Apps vs. Open Web: The Battle of the Decade
Tommi Mikkonen, Tampere University of Technology, and Antero Taivalsaari, Nokia

Mobile Application Software Engineering: Challenges and Research Directions
Josh Dehlinger and Jeremy Dixon, Towson University

XModel: an Unified Effort Towards the Development of High-Quality Mobile Applications
Érika Cota, Luigi Carro, Lucio Duarte, Leila Ribeiro, and Flávio Wagner, Universidade Federal do Rio Grande do Sul (UFRGS)

Abstracts (Download all papers in PDF format)

Improving Mobile Application Development (Full paper in PDF format)

Ray Bareiss and Todd Sedano, Carnegie Mellon Silicon Valley

Many mobile app developers act more like end-­‐user programmers  –  professionals in disciplines other than software development who create computer programs as pragmatic tools to solve work-related problems - than like professional software engineers. We  can  draw  upon   the  lessons of  end-­‐user  software engineering  research  to  devise  a  lightweight  set  of   tools, techniques,  and  processes  that  mobile  app  developers  may
recognize  as  being   worth  additional  overhead  because  of improvements  in  software  quality,  ideally   leading  to  higher app  store  ratings  and  greater  customer  adoption.

Preparing Mobile Software Development Processes to Meet Mission-Critical Requirements (Full paper in PDF format)

Luis Corral, Alberto Sillitti, and Giancarlo Succi, Free University of Bozen-Bolzano

Mobile systems have evolved to a level where they are required to carry out their operations in a wide range of environments, from voice communication, networking and entertainment to complex business applications. This situation attracts a genuine interest of knowing in a more detailed fashion the conditions under which mobile software systems are conceived, designed, implemented, and maintained, both from process and product point of views. In parallel, “mission-critical” is a recurrent concept in Software Engineering that refers to software systems in which a malfunction may lead to injuries, loss of lives or loss of significant investment. As a consequence, these systems require the highest care through all steps of the software development cycle.

Mobile Business Applications must be thoroughly engineered (Full paper in PDF format)

Ralf Carbon and Steffen Hess, Fraunhofer IESE

Mobile business apps are provided by organizations to offer valuable mobile services to their customers (B2C scenario) or equip their own mobile workers with appropriate workflow support (B2B scenario). We supported, for instance, customers in the agricultural domain to develop mobile business apps for farmers, contractors, and field workers and in the airline domain to build mobile business apps for passengers, pilots, and service personnel. The examples show that mobile business apps are used in business-critical situations and therefore need to provide the required functionality with guaranteed quality. Especially a great user experience, security, but also flexibility with respect to future extensions are beyond the key quality requirements.

Mobile-Enabling Enterprise Business Applications using Model-Driven Engineering Techniques (Full paper in PDF format)

Suman Roychoudhury and Vinay Kulkarni, Tata Consultancy Services

According to a recent Gartner report it is predicted that the number of the combined installed base of smartphones will exceed the installed base of PCs by 2013. This indicates that there would be a huge market of mobile- enablement of existing enterprise systems. Current state-of-the-art within the industry is to develop a fresh channel application for all mobile platforms of interest. Instead we propose to use model-based generative approach to deliver the same specification onto multiple mobile platforms, i.e., an ability to model the service being invoked, the interfacing screen, the data along with the interaction protocol and the capability to generate code from its specification. We have initial proof-of-concept results that verify the validity of our proposed technique.

System Design and Software Engineering Challenges in Building an Android Application: a Case Study (Full paper in PDF format)

Rawan Tarek Khalil and Ala’ Fathi Khalifeh, German University in Cairo

With the tremendous increase in the number of mobile phone users. The demand on having mobile applications that provide solutions to many of the people’s daily life aspects increases too. However, designing these applications is different from the typical desktop applications and imposes many software engineering challenges that need to be taken into consideration. In this paper, we present the system design and the software engineering challenges encountered while implementing an Android mobile application that provides a voiced based text messaging functionalities for people who tends to text while driving their cars.

Apps vs. Open Web: The Battle of the Decade (Full paper in PDF format)

Tommi Mikkonen, Tampere University of Technology, and Antero Taivalsaari, Nokia

Today, both desktop and mobile software systems are usually built to leverage resources available on the World Wide Web. However, in recent years desktop and mobile software have evolved in different directions. On desktop computers, the most popular application for accessing content and applications on the Web is the web browser. In mobile devices, in contrast, the majority of web content is consumed via custom-built native web apps. This divergence will not continue indefinitely. We anticipate that in the 2010’s we will witness a major battle between two types of technologies: (1) native web apps and (2) Open Web applications that run in a web browser or some other standards-compliant web runtime environment. This ―Battle of the Decade - will determine the future of the software industry – as well as the future of software engineering research – for years to come.

Mobile Application Software Engineering: Challenges and Research Directions (Full paper in PDF format)

Josh Dehlinger and Jeremy Dixon, Towson University

The rapid proliferation and ubiquity of mobile, smart devices in the consumer market has forced the software engineering community to quickly adapt development approaches conscious of the novel capabilities of mobile applications. The combination of computing power, access to novel onboard sensors and ease of application transfer to market has made mobile devices the new computing platform for businesses and independent developers. However, the growth of this new computing platform has outpaced the software engineering work tailored to mobile application development. This position paper looks at four significant challenges to mobile application software engineering and provides a discussion of possible research directions, drawing from existing areas of software engineering, that should be further examined. Specifically, we examine the challenge of: 1) creating user interfaces accessible to differently- abled users; 2) handling the complexity of providing applications across multiple mobile platforms; 3) designing context-aware aware applications; and, 4) specifying requirements uncertainty.

XModel: an Unified Effort Towards the Development of High-Quality Mobile Applications (Full paper in PDF format)

Josh Dehlinger and Jeremy Dixon, Towson University

This paper proposes a model-based line of research and education for establishing new development approaches for mobile applications, where several non-trivial quality aspects of the product must be considered. We first detail our view of the main requirements for a mobile design methodology and discuss why traditional software engineering processes fail to address such requirements. We then present our view on how new design methodologies should tackle the existing challenges and actually provide design and implementation layers that can improve productivity and quality. The proposed line of action is based on the definition of appropriate high-level models and on multi-disciplinary knowledge, shifting the focus of education and research to topics that are currently marginal in the software engineer curriculum, such as optimization theory, model-based design and verification.

Workshop Committee

Tony Wasserman, Carnegie Mellon Silicon Valley, Chair
Ray Bareiss, Carnegie Mellon Silicon Valley
Adam Blum, Rhomobile
Ralf Carbon, Fraunhofer IESE

Theresa Dao, Carnegie Mellon Silicon Valley, Administration