During last decade, the world watched a social acceptance of computing and computers, enhanced information technology devices, wireless networks, and Internet; they gradually became a fundamental resource for individuals. Nowadays, people, organizations, and the environment are empowered by computing devices and systems; they depend on services offered by modern Pervasive Information Systems supported by complex software systems and technology. Research on software development for PIS-delivered information, on issues and challenges on software development for them, and several other contributions have been delivered. Among these contributions are a development framework for PIS, a profiling and framing structure approach, and a SPEM 2.0 extension. This chapter, revisiting these contributions, provides an additional contribution: a pattern to support the use of the development framework and profiling approach on software development for PIS. This contribution completes a first series of contributions for the development of PIS. This chapter also presents a case study that allowed demonstrating the applicability of these contributions.
TopIntroduction
The dissemination of computing and heterogeneous devices and platforms, the high pace of technological innovations and volatile requirements, the size and complexity of software systems characterize the software development context today. This context challenges the way software is developed for emerging forms of information systems. A world full of smart devices and the widespread adoption of pervasive technologies as basis for new systems and applications lead to the need of effectively design information systems that properly fulfil the goals they were designed for. These Pervasive Information Systems (PIS) and the applications that constitute them need to be able to accommodate the permanent technological evolutions/innovations of the heterogeneous devices and the requirements changes that result from a faster and intense world of business competition. Software Development Processes (SDPs), as well as generalized adoption of models, are fundamental to efficient development efforts of successful software systems.
Software engineering has been, since its existence, subject of research and improvement in several areas of interest, such as software development processes (SDPs) whose process models evolved from waterfall and nowadays may assume several forms (Ruparelia, 2010). The development of large software systems is another area of interest that has been, for decades, subject of research work; several topics can be pointed out such as the exploration of issues related to the management of large scale software development (Benincasa, Daneels, Heymans, & Serre, 1985; Kay, 1969), software architecture (Gorton & Liu, 2010; Laine, 2001; Mirakhorli, Sharifloo, & Shams, 2008), model-driven development (Heijstek & Chaudron, 2009; Mattsson, Lundell, Lings, & Fitzgerald, 2007), among others. Not directly related with large projects, Medvidovic (2005) points the relevance of software architecture in leveraging the pervasive and ubiquitous area. Model-Based/Driven Development (hereafter in this document, unless otherwise stated, simply referred as MDD) is another area that gains an increasing focus. MDD constitutes an approach to software design and development that strongly focuses and relies on models (Fernandes, Machado, & Carvalho, 2004). It automates, as much as possible, the transformation of models and the generation of the final code. This enables higher independence from the technological platform that supports the realization of the system.
This document structures its content in the following sections: an introduction section that synthesizes pervasive information systems, its issues and the benefits of a model-based/driven development based approach; a software development for PIS section that provides a background into related research works for PIS; a development framework pattern section that presents the pattern as the contribute in this work; a section case study section that presents a case study wherein the contributions are demonstrated; and a last section that presents the conclusions and finishes this document.