TUD Technische Universität Darmstadt
Universitäts- und Landesbibliothek
ULB Darmstadt

EPDA - Elektronische Publikationen Darmstadt


Autor: Cepa, Vasian
Titel:Product-Line development for mobile device applications with attribute supported containers
Dissertation:TU Darmstadt, Fachbereich Informatik, 2005

Die Dokumente in PDF 1.3 (mit Adobe Acrobat Reader 4.0 zu lesen):

cepa-thesis.pdf (1161208 Byte)

Abstract auf Deutsch:


Anwendungen für mobile Geräte spielen eine zunehmende Rolle in ubiquitous computing Umgebungen. Mehr und grössere Anwendungen müssen entwickelt und mehr Code muss von Fehlern befreit werden. Um die Akzeptanz für mobile Produktlinien unter Entwicklern zu fördern, sollte die für die Entwicklung verwendete Technologie schnell und einfach einzuführen sein. Diese Dissertation befasst sich mit den Problemen der Entwicklung mobiler Produktlinien in dreierlei Hinsicht: Erstens, basierend auf dem Erfolg Container basierter Komponententechnologien für serverseitig Unternehmensanwendungen wurden mobile Container definiert. Mobile Container werden genutzt, um das gemeinsame Verhalten von mobilen Produktlinien zu organisieren. Mobile Container dienen als zentraler Punkt, um das von mobilen Anwendungen benötigte Verhalten zu organisieren und als Container Dienste den Anwendungen transparent zur Verfügung zu stellen. Mobile Anwendungen müssen mit dem Rest einer ubiquitous computing Umgebung als Client mehrerer Serverdienste kommunizieren. Serverseitige Dienste benötigen allerdings spezifischen Code für die mobilen Clients, um die Daten an die begrenzten Fähigkeiten der mobilen Endgeräte anzupassen. Ein mobiler Container ist deswegen eine hybride Einheit, welche aus einem clientseitigen und einem serverseitigen Komponente besteht. Er organisiert das gemeinsame Verhalten, das von Anwendungen auf mobilen Geräten benötigt wird, als Dienste, die auf dem mobilen Gerät oder auf Serverseite ausgeführt werden. Zweitens, Attribute bieten eine einfache Möglichkeit, um Containerdienste deklarativ im Quellcode anzufordern. Attribute sind aus Technologien wie .NET und Java bekannt, wo sie genutzt werden, um Elemente im Code zu dekorieren, z.B. Klasen und Methoden. Mit Attributen kann eine Sprache erweitert werden, ohne dass der Compiler angepasst werden muss. Attribute werden verwendet, um die Semantik von domänespezifischen Abstraktionen (DSA) zu emulieren. Attributfamilien werden in dieser Arbeit verwendet, um Domainvariablität zu unterstützen. Eine leichtgewichtige Spracherweiterung wird vorgeschlagen, die Abfragen und Manipulation von attributiertem Code erlaubt. Diese Sprachen werden Generalized and Annotated Abstract Syntax Tree (GAAST) Sprachen genannt. GAAST Sprachen erlauben auch bessere Sprachunterstützung für Model Driven Architecture (MDA) Transformationen. Drittens, um den Aufwand für Attributbasierte DSA niedrig zu halten, wird eine strukturierte Modularisierung der attributgesteuerten Transformatoren benötigt. Spezialisierte attributbasierte Transformatoren verbinden attributbasierte DSAs mit Containerdiensten für eine bestimmte Domäne. Attributgesteuerte Transformatoren sind horizontal modularisiert, gemäss den Eigenschaften der modellierten Domänenfunktionalität. Die Semantik der Funktionalität der Domäne wird genutzt, um Attributfamilien zu modellieren und um den Tranformationsfluss zu bestimmen. Ein einheitliches Kompositionsmodell für Transformatoren, das auf inneren Annotationen beruht, wird entwickelt, um es den Transformatoren zu ermöglichen ihre Abhängigkeiten deklarativ zu definieren. Innere Annotation erlauben es den Transformatoren jedes Element das sie bearbeiten mit beliebigen Metadaten für nachfolgende Transformatoren zu versehen. Das fest verdrahtete Metamodell der object-orientierten Sprache wird benutzt, um eine vertikale Modularisierung der Attributgesteuerten Transformatoren zu ermöglichen. Die Transformationsstrategie ist gemäss der Hierarchieeben der Elemente des Programmcodes strukturiert. Die Strategie wird erzwungen durch Operationen, die spezialisiert sind für bestimmte Elemente des Metamodells der Sprache. Diese Operationen bilden eine spezialisierte Sprache für attributgesteuerte Transformatoren. Attributoperationen, wie zum Beispiel das überprüfen von Abhängigkeiten zwischen Attributen, werden dekarativ spezifiziert und aus den transformatoren herausfaktorisiert durch die Benutzung von Meta-Attributen. Meta-Attribute ermöglichen die Dekoration von Attributen mit beliebiger Semantik, die automatisch verarbeitet werden können. Die beschriebene Technologie wird evaluiert anhand eines erweiterbaren Frameworks für mobile Container; entwickelt für Anwendungen die das Mobile Information Device Profile (MIDP) der Java 2 Mobile Edition verwenden. Verschiedene technische Belange von MIDP Anwendung werden adressiert, z.B. Persistenz, Sitzungs- und Darstellungsmanagement, und Netzwerkkommunikation. Die Verwendung mobiler Container resultiert in einem einfacheren und deklarativeren Programmiermodell, das die Architektur der Domäne in Anwendungen erhält.


Abstract auf Englisch:

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.

Dokument aufgenommen :2005-12-08
URL:http://elib.tu-darmstadt.de/diss/000630