Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Software product lines for pervasive computing

: Anastasopoulos, M.

Volltext urn:nbn:de:0011-n-252223 (362 KByte PDF)
MD5 Fingerprint: 15b37cd7f6b1ccc258798f6b4e1f86bf
Erstellt am: 18.11.2004

Kaiserslautern, 2004, VII, 18 S. : Ill., Lit.
IESE-Report, 044.04/E
Reportnr.: 044.04/E
Bericht, Elektronische Publikation
Fraunhofer IESE ()
pervasive computing; variability; product line; PuLSE

Software development today must meet various demands such as reducing cost, effort, and time-to-market, increasing quality, handling complexity and product size. Moreover, organizations must address the need of tailoring software for individual customers. The latter applies especially to human-centric pervasive computing applications, which additionally must take a large number of devices and platforms into account. Organizations trying to comply with the above demands are often led to the development and maintenance of a set of related software products that have common features and differ in context-specific characteristics. However the different software products are often developed separately. That means that product variations are handled in an ad-hoc way and product similarities are not fully exploited. In other words each product in such a family of products is developed as if it was a single one-of-kind system. This leads to uncontrolled redundancy, unnecessary development overhead and finally to failure in responding quickly to new customer requirements and market needs.

Software product line engineering (PLE), which was originally introduced by Parnas, promises to avoid these problems by handling a family of software products as a whole. So, a software product line is defined as a family of products designed to take advantage of their common aspects and predicted variability. A product line infrastructure aims at developing generic software assets that are flexible enough to cover at the same time various customer requirements. Therefore these assets contain variability, which is being resolved upon creating a customer-specific solution. The fundament of a product line infrastructure is strategic reuse as opposed to opportunistic reuse, which usually comes into play in single-system development. Strategic reuse means that attributes of software like generality, modularity, environment independence and self-descriptiveness are planned and implemented with respect to the predictable benefits concerning customer needs and market trends.

The goal of this report is to illustrate how pervasive computing applications can benefit from a software product line approach and especially from the PuLSETM (Product Line Software Engineering) method, which was developed at the Fraunhofer Institute for Experimental Software Engineering (IESE). The report is structured as followed: Section 2 discusses the variability of pervasive computing and section 3 presents the PuLSETM method. The component- oriented and model-driven extensions of the method are covered in section 4. The paper closes with two special issues on data mobility and personal workflow variability (sections 5 and 6).