Adaptable Environments for Distributed Ubiquitous Systems
| /People /Proposal |
EPSRC Platform Grant Proposal GR/R95715/01
Page Contents
Background
The Distributed Software Engineering (DSE) group in the 5* rated Department of Computing, Imperial College consists of 9 academics, 9 research associates and 12 research students. It is a world-renowned group which combines practical work on building tools for design and implementation of adaptive distributed systems and networks with more formal software engineering approaches to behaviour modelling, requirements specification, language semantics and type systems for distributed programming. As stated in International Review of UK Research in Computer Science, Nov 2001, p21 "The UK has one of the strongest groups world-wide in software architecture and distributed software engineering (at Imperial), based on work in techniques for describing, analysing, animating, and dynamically reconfiguring software architectures." It is also one of the few UK groups with a long track record in building experimental environments which are made available in the public domain e.g., Conic, Darwin, Regis, Ponder, LTSA, Go! and Kendra. The group has current EPSRC grants totalling Ł1,427K, and other current grants from industry and EU totalling Ł434K (see 4.1 for details). This proposal requests support for a 5 year Platform Grant to provide continuity of funding for Research associates whose projects are due to end in the next few months and to enable the group to embark on some short-term evaluation of new topics plus some travel funds.
Adaptable Distributed Environments
Importance of the Research Area
Our daily lives are increasingly dependent on distributed computer systems for office workstation support, banking transactions, supermarket stock supply, mobile phones, web services etc. Many of the latest technological directions such as peer-to-peer computing and ambient intelligence are dependent on distributed processing technologies. We are using web services for e-commerce, education, and for information access within and between organizations. In the future, mobile communicators will be an important means of interacting with an intelligent ubiquitous environment in the home, office, in shopping malls or while traveling in order to support commerce, entertainment, human interaction or monitoring and even controlling your health.
One of the key issues that needs to be solved is the support of adaptability at many different levels. Applications and immediately accessible data needs to adapt to users' current context in terms of location, activity, device/communicator capabilities; the network environment needs to adapt to provide services for mobile users and particular applications with specific quality of service requirements; web services need to store and provide a variety of different media; information sources from multiple distributed heterogeneous databases need to be integrated to form a cohesive information store; there is a need for self-configuring services and applications that automatically detect and adapt to the resources available to support them; we need distributed programming languages that are extensible, that can be tailored to specific applications and are suitable for producing applications to be embedded in consumer devices.
There are issues of whom and what to trust when there is no face-to face interaction in modern networked environments used for ad-hoc cooperation and e-commerce. How is privacy maintained when location and activity are tracked (and predicted) by the ubiquitous environment? There are interesting and challenging problems in providing consistency in the management of security and in specifying authorization policies for multi-organisational environments. In these situations, security is implemented in heterogeneous components such as firewalls, different computer operating systems and multiple databases.
A challenging problem in this environment is the requirements engineering and subsequent specification and design of adaptive systems. At the requirements elicitation stage, the potential and dimension of change must be acquired from the multiple stakeholders involved. Subsequent requirements analysis and system modeling at the architecture level involves reasoning in the presence of inconsistencies, usually with partial information. The adaptability of the system should be supported by interleaving phases of analysis and refinement of requirements. Changes should be learned from the diagnostic results of the analysis process as well as from samples of correct executions of the system Current architecture modeling, analysis and animation tools deal largely with a static snapshot of the systems architecture. Adaptive systems have high availability requirements and there is a need to model and analyse these architectures during adaptation as well as during normal operation. In fact the distinction between normal and adaptive behaviour is not a clear boundary in these systems. A compositional approach to modeling and analysis appears to be key in dealing with adaptive systems.
Strategic Direction
The overall focus of the DSE group aims to provide a sound Software Engineering approach to adaptive mobile and ubiquitous computing systems that covers the full life-cycle from requirements engineering, to specification design and implementation. We will continue with our approach of building experimental tools and systems to test out ideas and concepts and to obtain feedback from users - students, industrial collaborators and other researchers to whom we will make the tools available.
Many of the issues identified above are being addressed in recently funded projects or will be the focus of future projects. We describe the 3 main themes of our approach below:
Adaptive Software Environments
Distributed programming environments: We intend to identify the features required for development of safe, reliable and secure embedded programs for consumer devices. These programs need to support component discovery and composition to adapt to the current context of mobile users and interaction with their environment.
Mobile adaptive computing systems: this will develop techniques for building context-aware mobile, adaptive computing systems and investigate the integration of mobile computing with existing multi-media information services and ubiquitous computing environments. This will build upon current work on contextual mediation to modify map data based on context [1]. We also intend to work on an environment for building constraint-based, self-organising architectures for distributed component software. A specific application of adaptive mobile computing is for medical monitoring of patients with ischaemic and arrhythmic heart disease which is the subject of a recent proposal submitted to the Healthcare Initiative in collaboration with Bioengineering and Medical school. Another theme will build upon the Go! Lightweight component-based operating system to make it suitable for devices such as PDAs in an ubiquitous environment.
Distributed adaptive web services will continue investigation into re-configurable multi-media webservers, using a combination of component-based and primitive agent technologies. The resulting infrastructure permits the webserver(s) to become highly distributed and lightweight, more able to adapt their content delivery to match constantly changing environmental conditions, as well as providing content to many differing devices such as PDAs etc. Further, this infrastructure allows the system to better adapt to user request demands (including automatic scaling to cope with demand spikes) and continues the currently funded EPSRC Patia project.
Distributed data integration work will build upon the API and toolset of the AutoMed project to produce a generic framework for data integration across different distributed software systems. In addition, the AutoMed approach will be extended to handle the maintenance of an integrated data model in the face of evolution of the source data models as well as issues relating to data transformations to support mobile users, and we will study how the techniques of data mining may be applied to the database integration problem. Other related work will exploit fine-grained component technology in distributed database systems and issues of data mobility to support ubiquitous systems.
Policy and Security
Policy-based management will develop an integrated tool set for specification, refinement, analysis and deployment of management and security policies for distributed systems, based on the Ponder Policy specification language [7]. Policy facilitates specification, analysis and dynamically changing the adaptation strategy independent from the implementation. Policy-driven adaptation occurs at varying levels within networks and distributed systems. Applications adapt their behaviour and resource utilisation according to available resources and policy for resource allocation while network configuration and services adapt to the application needs. The EPSRC PolyNet project focuses on these issues in programmable networks [32]. It will investigate how to support adaptability within network-aware applications and how they interact with policy-based switching and routing elements.
Trust, security and privacy will build upon current work on trust specification and analysis [12] to investigate trust relationships and security adaptation for electronic commerce applications across administrative boundaries and for ad-hoc mobile collaborative groups. The research challenges stem from the need to adapt access control to resources and information protection according to circumstances, context and security capabilities of the collaborating entities as well as according to the level of trust in these entities. This will include using trust specification as a means of generating relevant security policies; providing techniques for specifying and enforcing privacy; and to work on the system response needed to adapt to intrusions and security attacks.
Requirement Engineering and Modelling
Software requirements engineering specification work will extend existing techniques for the analysis and refinement of requirements specifications. This will also include the integration of architectural and behavioural models for distributed environments. In particular, it will build on existing work in Artificial Intelligence on dynamic composition of agents to support the analysis process, and develop formal techniques for refining existing requirements or suggesting new requirements. These techniques will then be integrated within a general framework, which will support the adaptability of the system by facilitating property analysis and inconsistency checks, and by providing facilities for suggesting possible repair actions.
Behavioural Modelling will extend the behavioural analysis theory and tools for software architectures in the following areas in which initial work has indicated promise. Firstly, we will investigate the use of hybrid models i.e. those with an element of continuous behaviour, for mobility and ubiquitous systems. Some initial work in this area has been applied to an Air Traffic Control application [21]. Secondly, using stochastic automata, we will extend the toolset to permit performance analysis - this will leverage existing expertise in the Department on performance engineering. Lastly, we intend to pursue some promising initial work on the synthesis of behavioural models for mobile systems from message sequences charts (MSCs) [33].
National and International Collaboration
The group already has funded collaborative projects with the following Universities: UCL, Lancaster, Sussex, UTS Sydney (all in Alpine Project), Southampton (LinkMe), Birkbeck (AutoMed), Gronigen Netherlands, Politecnica de Madrid (Status). There is also informal collaboration via visits with University of Bologna, Universitá la Sapienza Rome, Université Catholique de Louvain Belgium, University of Trondheim Norway, University of Skovde Sweden, Distributed Systems Technology Centre Brisbane, Naval Postgraduate School California, University of Rutgers USA and University of Toronto Canada. Industrial collaborators, some of whom have provided equipment or funding, include BT, BBC, HP, National Air Traffic Services, Ordnance Survey, Sun, NEC Japan, Fujitsu Japan, Cisco USA, Extreme Networks, NASA USA..
The intention is to strengthen these links and to form new collaboration partnerships which could result in additional EU grants or proposals for visiting fellowships to be submitted to EPSRC and the Royal Society. We plan to set up a collaborative network related to Mobile and Ubiquitous Computing with the main UK Universities working in this area such as Bristol, Cambridge, Lancaster, Nottingham, Southampton and UCL. ^Top
Group Funding
Current DSE Grants
- Currently there are no grants
Recent DSE Grants
Sponsor |
Reference |
Name |
Start |
End |
Value [ŁK] |
EPSRC |
GR/M 24493 |
Beads: Behavioral Analysis of Distributed Systems |
1/9/98 |
31/3/02 |
196 |
EPSRC |
GR/M 38582 |
Voici: Handling Inconsistency and Change in evolving Requirements Specifications |
1/4/99 |
30/4/02 |
194 |
EPSRC |
GR/M 26428 |
LinkMe: Distributed link services for mobile environments |
1/10/98 |
31/3/02 |
157 |
EPSRC Ropa |
GR/M 86019 |
PoNDS: A Generalised Policy Notation for Distributed Systems |
1/4/00 |
31/3/02 |
133 |
EPSRC |
GR/L 96103 |
Secpol: Specification and analysis of security policy for distributed systems |
1/10/98 |
30/4/02 |
178 |
EPSRC |
GR/N 38107/01 |
AutoMed: Automatic Generation of Mediator Tools for Heterogeneous Database Integration |
1/5/01 |
30/4/03 |
119 |
EPSRC |
GR/R 31409/01 |
PolyNet: Policy Based Management of Adaptive Networks |
1/10/01 |
30/9/04 |
343 |
EPSRC |
GR/N 38008/02 |
Patia: Adaptive Management Systems for Distributed Web Services |
2/7/01 |
1/2/03 |
107 |
EPSRC |
GR/L 76709 |
SLURP: Sound Languages Underpin Reliable Computing |
1/10/97 |
30/3/01 |
224 |
EPSRC |
GR/L 55964 |
MISE: Managing Inconsistency in Software Engineering |
1/1/98 |
31/1/01 |
54 |
Total |
1705 |
||||
BT |
Alpine: Application Level Programming of Intelligent Networks |
1/10/99 |
30/9/02 |
210 |
|
EU |
Status: Software Architecture that Supports Usability |
1/12/01 |
30/11/04 |
182 |
|
Cisco, USA |
Polyander: Language Based Policy Specification, Analysis and Deployment for Large-scale Systems |
1/1/02 |
31/12/02 (renewable) |
42 |
|
Fujitsu Labs, Japan |
Pro-Active Role Based Management For Distributed Services |
1/6/97 |
30/3/01 |
167 |
|
NEC |
Academic Visitor Support |
1/10/00 |
30/9/01 |
16 |
|
EU |
C3DS Control and Co-ordination of Complex Distributed Services |
1/1/98 |
30/3/01 |
147 |
|
Govt. Office London |
Systems Engineering Studios |
1/6/99 |
31/3/01 |
137 |
|
Total |
901 |
||||
The group has long-standing relationships with industry e.g. funding from BT for 8 years totalling (Ł500K), Fujitsu Labs Japan for 3 years and equipment donations from HP over 5 years (approx Ł200K).
Future Grants
As can be seen from the above list of grants, we have a portfolio which corresponds to approximately Ł600K annual expenditure. However we hope to substantially increase this as there are a number of new academics in the group who have only joined within the past 12 - 18 months. We intend to put in proposals to the next Programmable Networks call on Ubiquitous and Ad-Hoc computing. There are a number of proposals in preparation for EPSRC fast stream, responsive mode and for submission to industrial sponsors or EU.
Professor Sloman as Head of Group, uses his experience of EPSRC committees to help and advise other members of the group with proposals. Many proposals have multiple investigators from the DSE group and some of our grants are collaborative with members of other groups in the Department.
The platform grant will enable us to fund RAs for short periods of 3-9 months to investigate new areas as a feasibility study prior to submitting a full proposal. Potential topics include Lightweight operating system support for ubiquitous computing, Intelligent agent representing and negotiating on behalf of mobile users, relationship between trust and risk for security, techniques for mapping operational requirements of ubiquitous systems into implementation models, or what data mobility is needed to support ubiquitous systems.
Work Plan
This project will provide continuity of funding, a cohesive support environment for researchers in the group and resources to investigate potential new research topics.
References
- Chalmers D., M. Sloman, N. Dulay, Map Adaptation for Users of Mobile Systems Proc ACM World wide Web Conference WWW-10, Hong Kong, May 2001 ,
- Chalmers D., Sloman M, "QoS And Context Awareness For Mobile Computing" Proceedings of 1st Intl. Symposium on Handheld and Ubiquitous Computing (HUC'99) Karlsruhe, Germany, Sep. 1999, pp 380 - 382 (LNCS 1707) pub. Springer-Verlag.
Chalmers, D., Sloman, M, "A Survey of Quality of Service in Mobile Computing Environments" IEEE Communications and Surveys, 2:2, 2nd Quarter 1999, http://www.comsoc.org/pubs/surveys
- Cheung, S.C., and Kramer, J., "Checking Safety Properties using Compositional Reachability Analysis", ACM Transactions on Software Engineering Methodology TOSEM 8 (1), January 1999, 49-78.
- Corradi A., Montanari R, Stefanelli C, Lupu E, Sloman M Flexible Access Control for Java Mobile Code, 16th Annual Computer Security Applications Conference (ACSAC2000), Dec 2000, New Orleans USA
- d'Avila Garcez A., Russo A., Nuseibeh B., Kramer J. "An Analysis-Revision Cycle to Evolve Requirements Specifications". Proceedings of 16th IEEE Int. Conf. on Automated Software Engineering (ASE-2001), 26-29 Nov. 2001, San Diego.
- Damianou, N., N. Dulay, E. Lupu, and M. Sloman. The Ponder Policy Specification Language. Policy Workshop 2001. HP Labs, Bristol, UK, Jan. 2001, Springer-Verlag LNCS1995, pp18-38.
- Drossopoulou, S., Eisenbach, S. and Wragg, D., "A Fragment Calculus - towards a model of Separate Compilation, Linking and Binary Compatibility", LICS'99 Fourteenth Annual IEEE Symposium on Logic in Computer Science, IEEE Press, Trento, July 1999.
- Drossopoulou, S., Wragg, D. and Eisenbach, S., "What is Java Binary Compatibility?", OOPSLA'98, Object Oriented Programming, Systems, Languages and Applications, ACM Press, Vancouver, October 1998.
- Dulay, N., E. Lupu, M. Sloman, and N. Damianou. A Policy Deployment Model for the Ponder Language. 7th IFIP/IEEE Int. Symp. on Integrated Network Management (IM'2001), Seattle, Washington, USA, May 2001.
- Eisenbach, S. and Sadler, C. "Changing Java Programs", ICSM'01 IEEE Conference on Software Maintenance, Florence, November 2001.
Grandison T., Sloman, M. A Survey of Trust in Internet Applications, IEEE Communications and Surveys, Fourth quarter 2000, http://www.comsoc.org/pubs/surveys
- Karamanolis, C. and Magee, J., "Client-Access Protocols for Replicated Services", IEEE Trans. on Software Engineering, Vol. 25, No. 1, Jan/Feb 1999. (Brendan Murphy Prize)
- Kramer J. and Magee J., "Analysing Dynamic Change in Distributed Software Architectures", IEE Proceedings - Software, 145 (5), October 1998, 146-154. (IEE Informatics Premium Prize)
- Leonhardt U, and Magee J. "Multi-Sensor Location Tracking". Proceedings of the 4th ACM/IEEE International Conference on Mobile Computing and Networking, TX, Oct. 1998, pp 203-214, Dallas,
- Lupu E, Sloman M, Dulay N, Damianou N, Ponder: Realising Enterprise Viewpoint Concepts, Proc. 4th Int. Enterprise Distributed Object Computing (EDOC2000), Mukahari, Japan, 25-28 Sept. 2000, pp 66-75
- Lupu, E.C. and M.S. Sloman, Conflicts in Policy-Based Distributed Systems Management. IEEE Trans. on Software Eng., Special Issue on Inconsistency Management, 25(6):852-869, Nov./Dec. 1999.
MacFarlane A., Robertson S.E., McCann J.A. : Parallel Computing in Information Retrieval - An updated review. Journal of Documentation,. Vol. 53, No 3. The Association for Information Management, June 1997, pp 274-315.
- Magee J., Pryce N., Giannakopoulou D. and Kramer J., "Graphical Animation of Behaviour Models" 22nd IEEE/ACM Int. Conf. on Software Engineering (ICSE-2000), Limerick, Ireland, June 2000), 499-508.
Magee, J. and Kramer, J., "Concurrency: State Models & Java Programs", John Wiley & Sons (Worldwide Series in Computer Science), March 1999, 355 pages.
- Magee J., J. Kramer, B. Nuseibeh, D. Bush, J. Sonander "Hybrid Model Visualization in Requirements and Design: A Preliminary Investigation", 10th Int. Workshop on Software Specification and Design (IWSSD-10 2000), San Diego, 2000.
McBrien P.J. and A. Poulovassilis, A Formal Framework for ER Schema Transformation, In Proceedings of ER'1997, Springer-Verlag LNCS 1331, 408-421, 1997
McBrien P.J. and A. Poulovassilis, A Semantic Approach to Integrating XML and Structured Data Sources, In Proceedings of CAiSE01 Springer Verlag LNCS, 2001
McBrien P.J. and A. Poulovassilis, Automatic migration and wrapping of database applications - a schema transformation approach, In Proceedings of ER99 Springer Verlag LNCS 1728, 96-113, 1999
McCann J.A. : The Kendra Cache Replacement Policy and its Distribution, to be published in World Wide Web An International Journal, Volume 3, Number 4, Baltzer Science Publishers, December 2000.pp231-240.
McCann J.A., Howlett P., Crane J.S., 'Kendra: Adaptive Internet System' Journal of Systems and Software, Elsevier Science, Volume 55, Issue 1, 5 November 2000. pp 3-17
- Nuseibeh B., Easterbrook S. and Russo A. "Making Inconsistency Respectable in Software Development". Journal of Systems and Software, 56(11), Elsevier Science Publishers, November 2001.
- Nuseibeh B., Easterbrook S. and Russo A.. "Leveraging Inconsistency in Software Developoment". IEEE Computer, 33(4):24-29, April 2000.
- Pryce N, Dulay N., Dynamic Architectures and Architectural Styles for Distributed Programs, IEEE Future Trends in Distributed Computer Systems, (FTDCS 99), Cape Town, Dec. 1999.
- Radestock, M. and Eisenbach, S., "Component Coordination in Middleware Systems, IFIP MIDDLEWARE International Conference on Distributed Systems Platforms and Open Distributed Processing, Springer Verlag, September 1998.
- Russo A., Nuseibeh B. "On the Use of Logical Abduction in Software Engineering". Handbook of Software Engineering and Knowledge Engineering, Chang, S. K., Editor, World Scientific Publishing, 2001.
- Sloman M., E. Lupu "Policy Specification for Programmable Networks", Proc. First International Working Conference on Active Networks (IWAN'99), Berlin, June 1999, ed. S. Covaci, published by Springer Verlag Lecture Notes in Computer Science, Berlin, June 1999, pp73-84.
- Uchitel S. and Kramer J., "A Workbench for Synthesising Behaviour Models from Scenarios" 23rd IEEE/ACM Int. Conf. on Software Engineering (ICSE-2001), Toronto, Canada, May 2001), 188-197.
- Van Ommering R., van der Linden F., Kramer J., and Magee J., "The Koala Component Model for Consumer Electronics Software", IEEE Computer 33 (3), March 2000, 78-85.

