Behaviour modelling and transformations for context-aware mobile applications

Today‟s panorama of service offerings is characterised by the widespread diffusion of the Internet and Web-based technologies everywhere in society. We are surrounded by devices that can support us in several tasks of our every-day life, like, for example, e-readers to access books and magazines, or mobile phones with extremely intuitive user interfaces for browsing, checking emails, keeping in touch with colleagues and friends through social networks, finding maps and locations, and so on. Moreover, this daily experience would not be possible without ultra-fast networks and wireless technologies that allow us to exchange any kind of data, anywhere, in real time and at low-cost. In this panorama, it becomes of vital importance for service providers to offer services that are innovative and distinctive. On one hand, service providers have to preserve current customers and attract new ones in order to survive in an ever growing arena of competitors. On the other hand, service users become more and more aware of the opportunities offered by the evolving technologies and, consequently, more demanding and with stronger expectations than in the past. Therefore, users expect a profusion of services wherever they are, to support whatever they are doing, and according to their personal preferences and needs, while providers have to create a wide range of enriched services in a rapid, low-cost and user-centric way. This thesis proposes a layered methodology based on behaviour modelling and transformations for the development of context-aware mobile applications, which are distributed applications that can provide advanced and personalised services to their users. Currently available approaches, such as Service-Oriented Architecture (SOA) and Model-Driven Architecture (MDA), are used in this thesis to support such a methodology. The main objective is to progress the state-of-the-art in model-driven development of context-aware mobile applications by taking into account the behaviour of these applications already in early stages of the development process. In order to achieve this, we refine the application behaviour in several steps, from abstract specifications to final implementations, and develop automated model transformations throughout these refinement steps to generate executable models and reason about their behavioural correctness.

[1]  João Paulo A. Almeida,et al.  Model-Driven Design of Distributed Applications , 2004, OTM Workshops.

[2]  Remco M. Dijkman,et al.  BPMN 2.0 Execution Semantics Formalized as Graph Rewrite Rules , 2010, BPMN.

[3]  Patricia Dockhorn Costa Architectural support for context-aware applications: from context models to services platforms , 2007 .

[4]  Rahul Kumar,et al.  Improving Translation of Live Sequence Charts to Temporal Logic , 2009, Electron. Notes Theor. Comput. Sci..

[5]  Giancarlo Guizzardi,et al.  Ontological foundations for structural conceptual models , 2005 .

[6]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[7]  Luís Ferreira Pires,et al.  An MDA-Based Approach for Behaviour Modelling of Context-Aware Mobile Applications , 2009, ECMDA-FA.

[8]  David Harel,et al.  Specifying and executing behavioral requirements: the play-in/play-out approach , 2003, Software & Systems Modeling.

[9]  Jean Bézivin,et al.  In Search of a Basic Principle for Model Driven Engineering , 2004 .

[10]  Jadwiga Indulska,et al.  A software engineering framework for context-aware pervasive computing , 2004, Second IEEE Annual Conference on Pervasive Computing and Communications, 2004. Proceedings of the.

[11]  Wil M. P. van der Aalst,et al.  Pattern-Based Translation of BPMN Process Models to BPEL Web Services , 2008, Int. J. Web Serv. Res..

[12]  Bernd Westphal,et al.  Formal Verification of LSCs in the Development Process , 2004, SoftSpez Final Report.

[13]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[14]  Jochen Ludewig,et al.  Models in software engineering - an introduction , 2004, Informatik Forschung und Entwicklung.

[15]  Jeffrey Parsons,et al.  Current Practices in the Use of UML , 2005, ER.

[16]  Teduh Dirgahayu,et al.  Interaction design in service compositions , 2010 .

[17]  Sebastián Uchitel,et al.  Incremental elaboration of scenario-based specifications and behavior models using implied scenarios , 2004, TSEM.

[18]  Luis Ferreira Pires,et al.  Architectural notes: a framework for distributed systems development , 1994 .

[19]  T. Mens,et al.  A Taxonomy of Model Transformations , 2004 .

[20]  Luís Ferreira Pires,et al.  A SOA-Based Platform-Specific Framework for Context-Aware Mobile Applications , 2009, IWEI.

[21]  Dick A. C. Quartel Simulation and Execution of Service Models Using ISDL , 2008, ACT4SOC.

[22]  David Harel,et al.  Synthesizing State-Based Object Systems from LSC Specifications , 2000, Int. J. Found. Comput. Sci..

[23]  Arend Rensink,et al.  Defining Object-Oriented Execution Semantics Using Graph Transformations , 2006, FMOODS.

[24]  Amir Pnueli,et al.  Temporal Logic for Scenario-Based Specifications , 2005, TACAS.

[25]  Laure Petrucci,et al.  The Petri Net Markup Language: Concepts, Technology, and Tools , 2003, ICATPN.

[26]  Dimitra Giannakopoulou,et al.  Fluent model checking for event-based systems , 2003, ESEC/FSE-11.

[27]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

[28]  Dick A. C. Quartel Action Relations. Basic Design Concepts for Behaviour Modelling and Refinement , 1998 .

[29]  L. Ferreira Pires,et al.  Interaction Patterns for Refining Behaviour Specifications of Context-Aware Mobile Services , 2008 .

[30]  Luís Ferreira Pires,et al.  Towards a Rule-Based Approach for Context-Aware Applications , 2007, EUNICE.

[31]  Luís Ferreira Pires,et al.  Towards automatic behavior synthesis of a coordinator component for context-aware mobile applications , 2009, 2009 13th Enterprise Distributed Object Computing Conference Workshops.

[32]  David Harel,et al.  Modeling and Verification of a Telecommunication Application Using Live Sequence Charts and the Play-Engine Tool , 2005, ATVA.

[33]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[34]  Gregor Engels,et al.  From UML Activities to TAAL - Towards Behaviour-Preserving Model Transformations , 2008, ECMDA-FA.

[35]  Luís Ferreira Pires,et al.  Towards an MDA-Based Development Methodology , 2004, EWSA.

[36]  Paolo Traverso,et al.  Service-Oriented Computing: a Research Roadmap , 2008, Int. J. Cooperative Inf. Syst..

[37]  Martin Große-Rhode Integration of Software Specification Techniques for Applications in Engineering , 2004, Lecture Notes in Computer Science.

[38]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

[39]  Gregory D. Abowd,et al.  A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications , 2001, Hum. Comput. Interact..

[40]  Bernd Westphal,et al.  Live Sequence Charts: An Introduction to Lines, Arrows, and Strange Boxes in the Context of Formal Verification , 2004, SoftSpez Final Report.

[41]  Jochen Klose Live sequence charts: a graphical formalism for the specification of communication behavior , 2003 .

[42]  Lou Somers,et al.  Yet another smart process editor , 2005 .

[43]  Thomas Erl,et al.  SOA Principles of Service Design , 2007 .

[44]  Wil M. P. van der Aalst,et al.  Diagnosing Workflow Processes using Woflan , 2001, Comput. J..

[45]  Jean-Marie Favre,et al.  Towards a Basic Theory to Model Model Driven Engineering , 2004 .

[46]  Niels Lohmann,et al.  Analyzing interacting WS-BPEL processes using flexible model generation , 2008, Data Knowl. Eng..

[47]  Mike P. Papazoglou,et al.  Service-oriented design and development methodology , 2006, Int. J. Web Eng. Technol..

[48]  Jan Martijn E. M. van der Werf,et al.  A software framework for automated verification , 2007, SAC '07.

[49]  Sebastián Uchitel,et al.  A workbench for synthesising behaviour models from scenarios , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[50]  Marsha Chechik,et al.  Behaviour Model Synthesis from Properties and Scenarios , 2007, 29th International Conference on Software Engineering (ICSE'07).

[51]  Sofoklis Efremidis Service Creation , 1999, IS&N.

[52]  David Edmond,et al.  Service Description: A survey of the general nature of services ⁄ , 2002 .

[53]  Karsten Schmidt LoLA: a low level analyser , 2000 .

[54]  Howard Foster,et al.  A rigorous approach to engineering web service compositions , 2006 .

[55]  Remco M. Dijkman,et al.  Semantics and analysis of business process models in BPMN , 2008, Inf. Softw. Technol..

[56]  Jan Friso Groote,et al.  Transformation of BPMN Models for Behaviour Analysis , 2007, MSVVEIS.

[57]  Roy H. Campbell,et al.  A Middleware for Context-Aware Agents in Ubiquitous Computing Environments , 2003, Middleware.

[58]  Luís Ferreira Pires,et al.  Towards runtime discovery, selection and composition of semantic services , 2011, Comput. Commun..

[59]  Jean Bézivin,et al.  Model Engineering for Complex Systems , 2008 .

[60]  Luís Ferreira Pires,et al.  Context Handling in a SOA Infrastructure for Mobile Applications , 2008, ACT4SOC.

[61]  David Harel,et al.  PlayGo: towards a comprehensive tool for scenario based programming , 2010, ASE.

[62]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[63]  Brian Henderson-Sellers,et al.  UML – the Good, the Bad or the Ugly? Perspectives from a panel of experts , 2005, Software & Systems Modeling.

[64]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[65]  Luís Ferreira Pires,et al.  Process-Oriented Behavior Generation Using Interaction Patterns , 2010, 2010 14th IEEE International Enterprise Distributed Object Computing Conference Workshops.

[66]  Boudewijn F. van Dongen,et al.  The ProM Framework: A New Era in Process Mining Tool Support , 2005, ICATPN.

[67]  David Harel Can Programming Be Liberated, Period? , 2008, Computer.

[68]  Wolfgang Reisig,et al.  An Operating Guideline Approach to the SOA , 2005 .

[69]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[70]  Andreas Metzger,et al.  A Systematic Look at Model Transformations , 2005, Model-Driven Software Development.