TU Darmstadt / ULB / TUprints

Product-Line development for mobile device applications with attribute supported containers

Cepa, Vasian (2005)
Product-Line development for mobile device applications with attribute supported containers.
Technische Universität Darmstadt
Ph.D. Thesis, Primary publication

[img]
Preview
PDF
cepa-thesis.pdf
Copyright Information: In Copyright.

Download (1MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Product-Line development for mobile device applications with attribute supported containers
Language: English
Referees: Assmann, Prof.Dr. Uwe
Advisors: Mezini, Prof.Dr. Mira
Date: 8 December 2005
Place of Publication: Darmstadt
Date of oral examination: 31 October 2005
Abstract:

Mobile device software applications play an ever increasing role in the interaction with ubiquitous computing environments. To grow the acceptance of the mobile product-lines among the developers, the technology used to implement them should be easy to implement and introduce. This dissertation addresses mobile product-line development related issues in three dimensions. First, based on the success of the software container component technology for server-side enterprise applications, a software container abstraction for mobile applications, called a mobile container, is introduced to organize the common functionality of mobile product-lines. Mobile containers serve as a central point to organize the functionality needed by the mobile applications. A mobile container is defined as a hybrid client- and server-side container. A mobile application communicates with the rest of a ubiquitous computing environment as a client of one or more server-side services. Mobile containers organize the common functionality of a mobile product-line as a set of services used by mobile clients, and by server-side applications. Server-side applications contain mobile client specific code to adapt the data and the services requested by the mobile clients based on the limitations that exist in mobile devices, e.g., low screen resolution. Second, attributes are used to model the container services declaratively in the source code. Attributes are known from technologies, such as .NET and Java, where they are used to decorate the program elements of the language, e.g., classes and methods. Attributes extend the language without having to maintain its compiler and are used to emulate domain-specific abstractions (DSA). Attribute families are used as a means to model the domain variability. A lightweight language extension is created that enables accessing and manipulating the annotated code. Languages that contain attribute transformation support, as part of their core functionality, will be called Generalized and Annotated Abstract Syntax Tree (GAAST) languages. GAAST-languages enable better language support for the code transformations applied in the context of the Model-Driven Architecture (MDA). Third, a structured modularization of attribute-driven transformers is introduced to ease the interpretation of attribute-based DSA. Specialized attribute transformers connect the attribute-based DSA with the container services, exposed as object-oriented (OO) libraries. Attribute-driven transformers are horizontally modularized based on the characteristics of the modeled domain. The semantics of the domain assets, expressed as attribute families, are used to determine the transformation workflow. A uniform composition model for transformers based on the inner attributes is developed. Transformers state their dependencies declaratively by decorating the processed elements with arbitrary information in the form of inner attributes. This information is used to coordinate the code processing by successor transformers. The hardwired OO language meta-model is utilized to introduce a vertical modularization of the attribute-driven transformers. The transformation strategy is structured according to the nesting of the structural elements found in the language meta-model. The layering strategy is enforced by operations, specialized for every supported element of the language meta-model. These operations form a specialized language for attribute-driven transformations. Common attribute operations, such as, checking for attribute dependencies, are declaratively specified and factored out of the individual transformers by using meta-attributes. Meta-attribute enable the decoration of attributes themselves with arbitrary semantics that can be automatically processed. The proposed technology is evaluated by an extensible mobile container framework for Mobile Information Device Profile (MIDP) applications of the Java 2 Mobile Edition (J2ME), that run in small mobile devices. Several technical MIDP concerns are addressed, e.g., data persistence, session and screen management, and networking, resulting in a simpler and more declarative programming model, that preserves the architecture of the domain in the individual applications.

Alternative Abstract:
Alternative AbstractLanguage

Mobile device software applications play an ever increasing role in the interaction with ubiquitous computing environments. To grow the acceptance of the mobile product-lines among the developers, the technology used to implement them should be easy to implement and introduce. This dissertation addresses mobile product-line development related issues in three dimensions. First, based on the success of the software container component technology for server-side enterprise applications, a software container abstraction for mobile applications, called a mobile container, is introduced to organize the common functionality of mobile product-lines. Mobile containers serve as a central point to organize the functionality needed by the mobile applications. A mobile container is defined as a hybrid client- and server-side container. A mobile application communicates with the rest of a ubiquitous computing environment as a client of one or more server-side services. Mobile containers organize the common functionality of a mobile product-line as a set of services used by mobile clients, and by server-side applications. Server-side applications contain mobile client specific code to adapt the data and the services requested by the mobile clients based on the limitations that exist in mobile devices, e.g., low screen resolution. Second, attributes are used to model the container services declaratively in the source code. Attributes are known from technologies, such as .NET and Java, where they are used to decorate the program elements of the language, e.g., classes and methods. Attributes extend the language without having to maintain its compiler and are used to emulate domain-specific abstractions (DSA). Attribute families are used as a means to model the domain variability. A lightweight language extension is created that enables accessing and manipulating the annotated code. Languages that contain attribute transformation support, as part of their core functionality, will be called Generalized and Annotated Abstract Syntax Tree (GAAST) languages. GAAST-languages enable better language support for the code transformations applied in the context of the Model-Driven Architecture (MDA). Third, a structured modularization of attribute-driven transformers is introduced to ease the interpretation of attribute-based DSA. Specialized attribute transformers connect the attribute-based DSA with the container services, exposed as object-oriented (OO) libraries. Attribute-driven transformers are horizontally modularized based on the characteristics of the modeled domain. The semantics of the domain assets, expressed as attribute families, are used to determine the transformation workflow. A uniform composition model for transformers based on the inner attributes is developed. Transformers state their dependencies declaratively by decorating the processed elements with arbitrary information in the form of inner attributes. This information is used to coordinate the code processing by successor transformers. The hardwired OO language meta-model is utilized to introduce a vertical modularization of the attribute-driven transformers. The transformation strategy is structured according to the nesting of the structural elements found in the language meta-model. The layering strategy is enforced by operations, specialized for every supported element of the language meta-model. These operations form a specialized language for attribute-driven transformations. Common attribute operations, such as, checking for attribute dependencies, are declaratively specified and factored out of the individual transformers by using meta-attributes. Meta-attribute enable the decoration of attributes themselves with arbitrary semantics that can be automatically processed. The proposed technology is evaluated by an extensible mobile container framework for Mobile Information Device Profile (MIDP) applications of the Java 2 Mobile Edition (J2ME), that run in small mobile devices. Several technical MIDP concerns are addressed, e.g., data persistence, session and screen management, and networking, resulting in a simpler and more declarative programming model, that preserves the architecture of the domain in the individual applications.

English
Uncontrolled Keywords: Graphtransformationssysteme
Alternative keywords:
Alternative keywordsLanguage
GraphtransformationssystemeGerman
software development, object-oriented programming, attribute enabled programming, software containers, graph rewriting systems, graphs, softwaredesign, softwareengineeringEnglish
URN: urn:nbn:de:tuda-tuprints-6307
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science
Date Deposited: 17 Oct 2008 09:22
Last Modified: 07 Dec 2012 11:51
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/630
PPN:
Export:
Actions (login required)
View Item View Item