Mohammad Ullah Khan
Scientific assistant from 2005 until 2010
Ph.D. degree received in March 2010
Email: khan -at- vs.uni-kassel.de
Self-adaptive context-aware applications for mobile devices
Many people carry a mobile device of some sort wherever they go, and an increasingly diverse set of mobile devices (PDAs, smart phones, laptops etc.) are becoming widely available. As a matter of fact, people become more and more accustomed to using mobile services ubiquitously in both work and leisure situations. Clearly, the performance and quality of mobile applications crucially depend on the dynamically changing properties of the execution context, e.g. communication bandwidth fluctuates, error rate changes, battery capacity decreases, and a noisy environment may obliterate the effect of sound output. Therefore, applications on mobile devices need to adapt themselves to their current operational context automatically according to goals and policies specified by the user and/or the developer.
The development of self-adapting applications opens up a great challenge: The range of devices, types of infrastructure, types of context dependencies, ways in which context can change, situations in which users can find themselves and the functions they want, introduce great complexity and demand a systematic, general methodology to design and implement self-adapting applications.
Model Driven Development refers to the systematic use of models as the primary artifacts of any engineering development. MDD technologies with a greater focus on architecture and corresponding automation yield higher levels of abstraction in software development. This abstraction promotes simpler models with a greater focus on problem space. Combined with executable semantics this elevates the total level of automation possible.
Among the Model Driven Development approaches, the Model Driven Architecture (MDA) developed by the Object Management Group(OMG) is the most promising and widely known one. The three primary goals of MDA are portability, interoperability and reusability through architectural separation of concerns. MDA provides an approach for, and enables tools to be provided for specifying a system independently of the platform that supports it, specifying platforms, choosing a particular platform for the system, and ransforming the system specification into one for a particular platform. The Unified Modeling Language (UML) is the mostly used graphical modeling language in the model driven development. Among other advantages, use of tools to automate transformations between Platforms independent and platform specific models as well as from model to source code aids the increase in productivity.
As a research associate at the Distributed Systems Group have worked in the MADAM project from February, 2004 to January, 2007. MADAM provides software engineers with modelling language extensions, tools and middleware that collectively foster the design, implementation and operation of innovative applications and services for the mobile user and worker. To achieve this objective MADAM studies the adaptivity requirements of mobile applications and develops a theory of adaptation. A set of reusable adaptation strategies and adaptation mechanisms, based on a dynamically reconfigurable component architecture are developed. Modelling language extensions and tools enable application designers to specify adaptation capabilities at design time.
Since February, 2007 I have been working in the MUSIC project. This is an EC-funded reasearch project comprising 15 partners – both from the industry and academia – from diefferent EU countries. MUSIC builds on the MADAM result with the aim of greatly enhancing the MADAM result and culturing new ideas. MUSIC will provide a design methodology and distributed system architecture for the design and implementation of self-adapting applications in ubiquitous computing environments. This will be complemented with enhanced modelling languages for the specification of context dependencies and adaptation capabilities, supported by model specification, validation and simulation tools. This platform will be used to develop trial services, based on a set of challenging application scenarios with real market potential, having a central role: as sources of requirements, to assess technical adequacy of the results, and to promote the results.
Kurt Geihs, Roland Reichle, Michael Wagner, Mohammad Ullah Khan, Modeling of Context-Aware Self-Adaptive Applications in Ubiquitous and Service-Oriented Environments, To be published in Software Engineering for Self-Adaptive Systems (editors: Betty H.C. Cheng, Rogerio de Lemos, Holger Giese, Paola Inverardi, Jeff Magee) Springer 2009.
Mohammad Ullah Khan, Roland Reichle, and Kurt Geihs, Architectural Constraints in the Model-Driven Development of Self-Adaptive Applications, IEEE Distributed Systems Online, vol. 9, no. 7, 2008, art. no. 0807-o7001. link
Roland Reichle, Michael Wagner, Mohammad Ullah Khan, Kurt Geihs, Jorge Lorenzo, Massimo Valla, Cristina Fra, Nearchos Paspallis, George A. Papadopoulos, A Comprehensive Context Modeling Framework for Pervasive Computing Systems, 8th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS), Oslo, Norway, Springer Verlag, June2008
Roland Reichle, Mohammad Ullah Khan, Kurt Geihs, How to Combine Parameter and Compositional Adaptation in the Modeling of Self-Adaptive Applications, PIK Special Issue:Modeling of Self-Organizing Systems, March, 2008
Roland Reichle, Michael Wagner, Mohammad Ullah Khan, Kurt Geihs, Massimo Valla, Cristina Fra, Nearchos Paspallis, George A. Papadopoulos, A Context Query Language for Pervasive Computing Environments, 5th IEEE Workshop on Context Modeling and Reasoning (CoMoRea) at the 6th IEEE International Conference on Pervasive Computing and Communication (PerCom’08), 17 – 21 March 2008, Hong Kong.
T. Weise, M. Zapf, M. U. Khan, and K. Geihs. Genetic programming meets modeldriven development. In Proceedings of Seventh International Conference on Hybrid Intelligent Systems, 17-19 September 2007, Kaiserslautern, Germany.
Mohammad Ullah Khan, Roland Reichle, Kurt Geihs, Applying Architectural Constraints in the Modeling of Self-adaptive Component-based Applications. Workshop on Model Driven Software Adaptation (M-ADAPT’07) within the 21st European Conference on Object Oriented Programming (ecoop), July 30 – August 03, 2007, Berlin, Germany
Mourad Alia, Geir Horn, Frank Eliassen, Mohammad Ullah Khan, Rolf Fricke and Roland Reichle, “A Component-based Planning Framework for Adaptive Systems”. The 8th International Symposium on Distributed Objects and Applications (DOA), Oct 30 – Nov 1, 2006, Montpellier, France.
Kurt Geihs, Mohammad U. Khan, Roland Reichle, Arnor Solberg, Svein Hallsteinsen, “Modeling of Component-Based Self-Adapting Context-Aware Applications for Mobile Devices”. IFIP Working Conference on Software Engineering Techniques, October 17-20, 2006, Warsaw, Poland.
Kurt Geihs, Roland Reichle, Mohammad U. Khan, Arnor Solberg, Svein Hallsteinsen, “Model-Driven Development of Self-Adaptive Applications for Mobile Devices (Research Summary)”. ICSE 2006 Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), May 21-22, 2006, Shanghai, China.
Kurt Geihs, Mohammad Ullah Khan, Roland Reichle, Arnor Solberg, Svein Hallsteinsen, Simon Merral, “Modeling of Component-based Adaptive Distributed Applications”. Dependable and Adaptive Distributed Systems (DADS Track) of the 21st ACM Symposium on Applied Computing, April 23 -27, 2006, Bourgogne University, Dijon, France
Mohammad Ullah Khan, Kurt Geihs, Felix Gutbrodt, Peter Göhner, Roland Trauter, “Model-Driven Development of Real-Time Systems with UML 2.0 and C”, Proceedings of the Fourth Workshop on Model-Based Development of Computer-Based Systems and Third International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MBD-MOMPES’06) – Volume 00, Pages: 33 – 42, March 30, 2006, Potsdam, Germany