Towards a context-driven development framework for ambient intelligence

Portable and embedded devices form an increasingly large group of computers, often referred to as ambient intelligence (AmI). This new variety in computing platforms cause a corresponding diversity in software/hardware platforms and other context factors. Component-based middleware platforms offer a uniform environment for software, but they do not take away specific context differences, such as hardware resources, user identity/role and logical/physical location. Specialised component versions and/or configurations have to be made for each computing context if that computing context is to be used to its full extent. This is because the fine differences between component versions cannot be separated into finer components with the current component models. Aspect-oriented programming and generative programming technologies can be used to provide the fine-grained modularity that is necessary. In addition, the diversity of component-based platforms themselves form an extra reason for different component versions. We propose using a context-driven framework for the development of AmI components, which is based upon a gradual refinement mechanism. This refinement mechanism can cope with the course-grained differences between component models as well as the fine-grained differences between computing configurations.

[1]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[2]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[3]  Bedir Tekinerdogan,et al.  Synthesis - Based Software Architecture Design , 2001 .

[4]  Don Batory,et al.  Scaling step-wise refinement , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[5]  A. Watson,et al.  OMG (Object Management Group) architecture and CORBA (common object request broker architecture) specification , 2002 .

[6]  Noël Plouzeau,et al.  UMLAUT: a framework for weaving UML-based aspect-oriented designs , 2000, Proceedings 33rd International Conference on Technology of Object-Oriented Languages and Systems TOOLS 33.

[7]  Pedro Sánchez Palma,et al.  Oasis Versión 3.0: un enfoque formal para el modelado conceptual orientado a objeto , 1998 .

[8]  Anind K. Dey,et al.  Understanding and Using Context , 2001, Personal and Ubiquitous Computing.

[9]  Gabor Karsai,et al.  Generative Programming via Graph Transformations in the Model-Driven Architecture , 2002 .

[10]  D. B. Davis,et al.  Sun Microsystems Inc. , 1993 .

[11]  David Platt Introducing Microsoft .NET, Third Edition , 2003 .

[12]  Javier Jaén Martínez,et al.  A conceptual model for context-aware dynamic architectures , 2003, 23rd International Conference on Distributed Computing Systems Workshops, 2003. Proceedings..

[13]  K. Ducatel,et al.  Scenarios for Ambient Intelligence in 2010 Final Report , 2001 .

[14]  Vicente Pelechano,et al.  Automated code generation of dynamic specializations: an approach based on design patterns and formal techniques , 2002, Data Knowl. Eng..

[15]  Bernhard Rumpe,et al.  UML+ROOM as a standard ADL? , 1999, Proceedings Fifth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'99) (Cat. No.PR00434).

[16]  Dennis Wagelaar A Concept-Based Approach to Software Design , 2003 .

[17]  Jing Dong,et al.  UML Extensions for Design Pattern Compositions , 2002, J. Object Technol..

[18]  Benjamin J. Shannon,et al.  Java 2 platform enterprise edition specification , 2001 .

[19]  Siobhán Clarke,et al.  Towards a standard design language for AOSD , 2002, AOSD '02.

[20]  Francesco Marcelloni,et al.  Deferring elimination of design alternatives in object‐oriented methods , 2001, Concurr. Comput. Pract. Exp..

[21]  Magnus Larsson Applying Configuration Management Techniques to Component-based Systems , 2000 .

[22]  David S. Platt,et al.  Introducing Microsoft® .NET , 2001 .

[23]  Stefan Hanenberg,et al.  A UML-based aspect-oriented design notation for AspectJ , 2002, AOSD '02.

[24]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[25]  Gregor Kiczales,et al.  Discussing aspects of AOP , 2001, CACM.