*CO = Coordinator
CR = Principal contractor
Under the banner of creating "A User Friendly Information Society" the IST programme has a number of specific objectives of which we highlight three:
CORTEX will contribute directly and immediately to the achievement of each of these objectives.
There is an increasing awareness that the next major development in the migration towards what might truly be called an information society will be the interconnection of the many millions of application-specific and embedded computers that control the myriad of devices on which human society increasingly depends. The interconnection of these devices offers significant opportunities to improve the quality of life for Europe's citizens, not least the aged, frail or otherwise physically challenged, by enabling the construction of intelligent tools and environments that can act on their behalf. This is all the more true when these devices are mobile and interconnected using increasingly pervasive wireless networks. However, to date there is little understanding of how to construct dependable distributed applications, i.e, those on which users can justifiable rely, that are proactive and span such a heterogeneous environment. CORTEX will drive the development of the enabling technologies that will support these future applications. Moreover, by evaluating the technologies developed within the project within the context of challenging real-world application scenarios, we expect to accelerate their future take-up.
As society continues to be increasingly dependent on information technology, it is clear that predicable behaviour of all IT services in terms of both reliability and timeliness will be of paramount importance. This is especially true for the kind of pervasive applications that are expected to emerge over the next few years. Building such high-quality services in an affordable way will require appropriate programming paradigms and supporting middleware that intrinsically addresses these requirements and that is adaptable to a wide range of diverse operating environments. Current programming paradigms and their supporting middleware are insufficient in that they typically leave these issues to be dealt with by the developers of individual applications on a case by case basis thereby increasing the cost of application development. CORTEX will therefore address the need for future high-quality and affordable services by investigating paradigms and middleware that will facilitate the cost-effective development of such services in the future.
The widespread deployment of wireless networking technology together with the possibility of interconnecting previously isolated computer controlled systems will inevitably enable an enormous number of new applications, and indeed application domains, far beyond what we can probably now imagine. This will certainly include the kind of applications that we mention elsewhere in this proposal such as intelligent vehicles and smart buildings. The applications enabled by this technology may indeed have a profound effect on the organisation and evolution of human society in the future. Whatever the social implications might be, it is clear that the market potential for such applications and therefore for supporting technologies that enable their production in a cost-effective way is enormous. They clearly represent a basis for sustainable growth in the European IT industry and for high added value employment to which CORTEX will contribute by giving Europe a head start in the development of the software technologies needed to realise this vision in the future.
In summary, CORTEX intrinsically addresses key objectives of the IST programme in general and the FET initiative in particular in that CORTEX "aims to open new possibilities and set new trends for future" development of large scale proactive applications.
CORTEX is a highly innovative project that is both technically and scientifically challenging. Its major innovation is the novel paradigm of rapidly composable communities of co-operating sentient objects. In the future, sentient objects will pervasively be included in almost everything of our daily life. They will ubiquitously integrate all kinds of devices and interact seamlessly amongst themselves in ways that go far beyond what the client/server paradigm, which is supported by current state-of-the-art middleware [29,16,18], allows. Applications will form islands of co-operation inside a wider network universe composed from different physical networks with characteristics ranging from high speed backbones to wireless connections and deeply embedded field buses. In the long term, society will substantially rely on this technology. To reduce vulnerability and provide a robust failure resilient environment, autonomy of interacting entities is a crucial requirement. Therefore, the models, architecture and middleware proposed by the CORTEX project constitute a key enabling technology to realise the vision of ubiquitous computing and drive new business opportunities for the widest community of technology and service providers
One of the key contributions of the CORTEX project will be the design of a novel paradigm supporting the construction of advanced proactive applications, comprising mobile sentient objects. These objects will have autonomous behaviour resulting from interactions with other objects and with the physical environment, i.e. driven by sensor inputs, as well as from the internal state of the objects. However, the paradigm also encompasses unpredictable interaction patterns between sentient objects depending, for example, on their geographical proximity. Dependability in the face of such non-determinism can be achieved through the specification of real-time and reliability requirements (in the form of QoS parameters) as derived from the application domain. Co-operating communities of sentient objects can thereby interact to achieve zones of QoS coverage where predictable behaviour is ensured and graceful degradation and failure modes are possible.
At the heart of the CORTEX programming model will be an anonymous event-based communication model. This model will include mechanisms for the specification of constraints on the propagation and delivery of events (e.g. by means of filters and zoning). The model needs to take into account the provision of incremental real-time and reliability guarantees. This will encompass developing a suitable representation for expressing QoS properties in the model, where QoS is taken as a metric of predictability in terms of timeliness and reliability; and development of a global model for QoS assurance.
The model will necessarily make the heterogeneity of the underlying physical system visible at some level of abstraction, for example, as a hierarchy of zones capable of delivering specified levels of QoS. Using an asynchronous event based model, the CORTEX paradigm will be able to achieve autonomous sentient behaviour that is independent of the problems associated with traditional synchronous communication paradigms (such as RPC [3,19,23,14]).
In solving the issues raised by the coupling of mobile sentient objects and event-based interaction the CORTEX project will make a number of significant and novel contributions to the field of distributed systems. More specifically, sentient objects can be mobile and thus break traditional assumptions about object naming associated with fixed locations (e.g. unique identifiers based on network addressing). CORTEX will deliver an object naming abstraction and associated brokerage services that maintain high performance addressing of sentient objects in highly dynamic and ad-hoc configurations.
CORTEX will also address new adaptable ways of guaranteeing temporal properties in order to reflect the needs of object autonomy and exploit the context awareness of sentient objects. Another novel aspect afforded by this contextualised adaptation is the potential for managing the impact of control and feedback loops that occur when a sentient object affects changes in its environment that can in turn form stimuli to affect the object’s behaviour.
Today, the focus of middleware is on interoperability by providing functionally compatible interfaces. A number of mobile-specific distributed systems services have been developed in recent years that aim to operate in challenging mobile environments [9,13]. However, to date such services are not designed to offer sufficient levels of dependability or support the highly asynchronous interaction model required by the CORTEX computational paradigm. In more detail, when targeting mission and safety critical applications, e.g. traffic management systems, predictability under widely varying load and fault conditions becomes an additional decisive requirement. Predictability is a quality attribute that goes far beyond what is available today with existing QoS measures. In the envisaged scenarios, the physical environment is subject to change and the quality of the communication connections suffers from inherent unpredictability making guarantees difficult. It is the conflict between technical conditions and the application requirements that makes predictability one of the greatest challenges for the middleware of the future.
CORTEX will offer a state of the art investigation into the supporting abstractions and services that are required. We aim to analyse existing middleware approaches, with the aim of identifying useful services for the CORTEX environment, and where necessary proposing novel enhancements. We predict that a range of new services will be required to support the CORTEX paradigm. These services will represent an enhancement to the state of the art in distributed platform development.
An essential part of the CORTEX project is the applicability of the technology we develop in engaging complex real world scenarios. To analyse the effectiveness of the sentient object paradigm and evaluate our approach we will develop a proof-of-concept demonstrator. This demonstrator will be deliberately chosen to offer a distributed real-time problem domain that would be extremely challenging, if not impossible, using existing distributed systems techniques. By deploying the CORTEX paradigm in such an environment we aim to demonstrate the following:
1. That complex real-time control problems can be solved using the CORTEX paradigm.
2. That autonomous sentient objects and asynchronous event-based communication are appropriate metaphors for achieving dependability in such scenarios.
3. That predictable behaviour can be achieved in inherently failure prone environments using sentient object autonomy and context-aware adaptation.
Such environments offer not only a challenge for distributed systems developers – but also, for those seeking to evaluate systems in these environments. Since the CORTEX mechanisms may well enable new forms of application, one of the innovative contributions of the project will be in developing suitable evaluation techniques.
One of the explicit policies behind the Fifth Framework Program is the establishment and the support of the user friendly information society . As observed in , "key requirements such as usability, dependability and, above all, affordability are far from being sufficiently met for the broad deployment of information society technologies in all areas". CORTEX addresses directly some fundamental aspects that contribute significantly to the attainment of these goals. While currently large scale networks as the internet are mainly used for distributing and assessing information between human individuals, the "next big thing to hit the net will be wiring together millions of tiny computers embedded into everything we use." , , . Future generation of networks thus will substantially be used to interconnect these artefacts with a built-in computing component and co-ordinate their activities in the field of transportation, personal assistance, surveillance etc. The scope and the technical contributions and achievements of CORTEX are focussed on new ways to built and run such large scale distributed systems which support predictable communication and co-operation of computing devices assisting and complement human individuals in may ways. CORTEX is directly in line with the overall objectives of Program II and many European resolutions and recommendations that emphasise the roles of citizens in choosing research priorities, particularly a growing group of persons with special needs . The usability and public acceptance of these systems and the new services created around them will largely depend on their predictable behaviour and their reliable co-operation to meet the needs and expectations of their users . CORTEX directly addresses these predictability aspects and seeks to provide the enabling technology to build these systems according to a consistent model. Since CORTEX tries to present a methodology and appropriate middleware where so far expensive ad-hoc solutions are in place and thus also contribute to the affordability of such systems. As one of the innovative perspectives CORTEX addresses the view that objects do not merely react on the static environment but that the environment may comprise sentient objects as well leading to a form of active and changing environment. This view maps well on telematics, intelligent vehicles, and advanced traffic management system which will be one of the keys to handle increased personal mobility and flow of goods while strictly limiting environmental impacts , . It has been recognised by EU policies that this is particularly crucial to Europe , . Moreover, proactive, sentient objects and an active environment can be seen as the enabling technology for new personal assistance systems  for citizens with special needs as the growing group of elderly people which have the special attention of the EU with respect to the policies for research .
Enabling middleware technology is a crucial component to support appliances in the domain of ubiquitous and embedded computing. As information technology moves to all artefacts used in daily life, it is seen that SMEs are substantially affected by this development. Because SMEs constitute a key factor particularly for the European economy , their support is one of the explicit demands in European scientific programs . Being primarily the experts for the application and not for system aspects, SMEs could considerably benefit from support for integrating their products in a networked environment with predictable attributes . CORTEX middleware is one step towards this goal, particularly addressing the problems of embedded computing devices, multi-modal systems and predictable inter-working. One of the main application areas is seen in the rapidly emerging field of transportation, intelligent building control, medical devices and industrial automation. Intelligent systems based on this middleware, on the long term, are expected to support sustainable growth and ecological aspects.
The CORTEX consortium brings together expertise from the areas of programming models for large distributed systems, reliable and predictable communication, embedded real-time systems and middleware platforms. Thus, the consortium as a whole combines the adequate and complementary skills of the partners to address the problems envisaged in CORTEX. This expertise was not available on a national basis but has been developed and acquired in former joint European Projects on distributed systems, networking, middleware and dependability. In CORTEX this broad European level expertise is needed, combined and further exploited to meet the project goals which are in line with major strategic directions of Fifth Framework Program.
 Report and Resolution on prospects for European science and technology policy in the 21st century (A4-0376/96), http://www.europarl.eu.int/dg7/reports/96-0376/en/default.htm#B
[2| Creating a user friendly information society, Working document on information Society Technologies (IST) Programme, Excerpted from COM(97)553, 5. Nov. 1997, http://www.cordis.lu/esprit/src/istwork.htm
 Real-Time CORBA- A White Paper - Issue 1.0, Appendix C: Electronic Commerce, Dec. 95
 Commission of the European Communities: "Fifth Framework Programme for Research and technological Development (1998-2002), COM(97) 553 final, Brussels, 5.11.1997
 EUROPEAN PARLIAMENT, Directorate-General for Research. WORKING PAPER: "THE EUROPEAN COMMUNITY AND ROAD SAFETY" Transport Series, TRAN 103 EN, 1998
 European Dependability Initiative: Extensively Deployed and Networked Embedded Systems, Final report, 20th April 1998: Report of the Industrial Workshop “Dependability of Extensively Deployed and Networked Embedded Systems” Held at Brussels, on 17th March, 1998, http://www.cordis.lu/esprit/src/stdepend.htm
 Marc Wilikens, Philip Morris, Marcelo Masera (eds.): "Defining the European Dependability Initiative, Issue 2, 14/05/98," http://www.cordis.lu/esprit/src/stdepend.htm
 Commission of the European Communities: "Preliminary guidelines for the Fifth Framework Programme of Research and Technological Development Activities, "INVENTING TOMORROW" Europe's research at the service of its people."
 Commission of the European Communities: "Communication from the Commission to the Council, the European Parliament, the Committee of the Regions and the Economic and Social Committee: The competitiveness of European Enterprises in the face of Globalisation - How can it be encouraged", COM(1998) 718 final, Brussels, 20.01.1999
 Commission of the European Communities: "THE CITIZENS' NETWORK - Fulfilling the potential of public passenger transport in Europe", European Commission Green Paper, 1996
 FET - Proactive Initiative: The Disappearing Computer (http://www.cordis.lu/ist/fetdc.htm)
The quality of life of people across the European Union, and indeed the world, is increasingly dependent on the successful deployment and use of information technology. Information technologies are now critical to the provision of a wide range of services ranging from health care to transportation, from utilities management (e.g. electric power, water, etc) to dispatching of emergency services, and from finance to government. While information technology has contributed to increased quality of life, the information technology industry has also contributed to significant economic development worldwide.
As computerised systems become increasingly pervasive there is the promise that they will continue to offer increasing improvement in the quality of life experienced by people in all walks of life. The kind of large-scale proactive applications envisaged by CORTEX might, for example, lead to improved traffic management in cities. Apart from reducing the frustration increasingly experienced by the large population of urban drivers, such an improvement should lead to reduced transportation costs for manufacturing and other industries with a consequent benefit for consumers in general. Intelligent buildings and other smart environments will lead to similar quality of life improvements not least for the old, fail, and physically challenged. Like intelligent transportation systems, smart environments are also environmentally friendly in that they offer the opportunity to optimise the use of fuel resources. In a similar vain, applying the same technology to support the emergency services operating in adverse and hazardous environments, as considered in CORTEX, represents a real contribution to health and safety.
We could doubtless list very many more examples, like those in the preceding paragraph, of the quality of life, health and safety and even environmental benefits that will accrue from the widespread deployment of future proactive applications. However, it is worth bearing in mind that what CORTEX promises is a principled approach to their development that considers their predictable operation in a range of heterogeneous environments. Without this research there is a real risk that the promised benefits may not materialise either because the technological base on which the applications are based is not well founded or because the deployment of large scale proactive and autonomous applications is deemed unacceptable. The latter may naturally result from the former. Unless we can discover the appropriate paradigms and techniques to ensure the predictable operation of such applications, there is a risk that the applications might, in fact, represent a treat to human quality of life and safety in the future. Thus, the goal of CORTEX can be seen as ensuring that the technology on which such applications will be based is well founded and capable of giving the kind of guarantees required to deliver reliable services in a safe manner and thereby ensure widespread acceptance.
While CORTEX has a role to play in ensuring that we understand how to build large scale, proactive and autonomous applications in the future, it will also help to ensure the Europe is at the forefront of technological developments in what is an emerging and potentially massive future market. A wealth of new business opportunities will exist for both Small and Medium Enterprises and larger organisations to deliver new proactive applications leading to increased economic development and employment across the European information technology industry. Already start-up companies are beginning to emerge in niche areas such as intelligent buildings. CORTEX will provide the research that such organisations can leverage in their future development.
Given the speculative nature of the project, we have established the following criteria for success:
· to arrive at results (models, algorithms, protocols, prototypes) that contribute to: (a) improve on the application scenarios we have defined in the course of the project; or (b) make some applications possible that were not possible with previous technologies
· to make those results exploitable by the research community, especially those involved in industrial research, in the form of available specifications and/or software.
Given the high risk of these initiatives, we will establish a self-assessment process during the course of the project in order to evaluate progress against the above-mentioned criteria. The self-assessment process consists of evaluating the results w.r.t. the criteria for success at milestones established at the beginning of the second and third years, and after the end. The milestones should be coherent with critical instants in our spiral model of progress, such as the issuing of intermediate specifications, and project workshops.
The CORTEX project is a far reaching and visionary project that clearly has the potential to make a significant contribution to the fields of distributed and dependable systems. The project will disseminate important project developments and results by a variety of means, in more detail:
(i) Academic conferences and journals
All of the researchers associated with the CORTEX project have excellent publishing track records. Collectively, we will ensure that the results of the project are widely published both within Europe and overseas in suitable conferences, workshops, and journals.
The CORTEX project will host a small number of project workshops to showcase the technology pioneered by the project. These workshops will focus on attracting appropriate interested parties from both academia and industry.
(iii) Free distribution of project software
implementation of the CORTEX paradigm
and associated documentation will be released into the public domain using
anonymous FTP and the World Wide Web. We will actively encourage third parties
to adopt this software to assist in developing advanced mobile applications and
will monitor and react to feedback obtained from this process. The partners have
significant experience of this type of operation: the network emulator developed
by the MOST project has been available on the WWW for a number of years and is
now in operation in laboratories in Europe and the US. The license under which
the software will be distributed will enable commercial exploitation after
consultation with the project partners.
(iv) Liaison with industry
The project partners have a long and successful track record of co-operating with industry to achieve technology transfer and the dissemination and exploitation of results. The mobile computing group at Lancaster has well-established links with potential user communities for advanced mobile applications. For example, previous projects have established links with users within the power distribution industry, the Emergency Services and the Langdale and Ambleside Mountain Rescue. These links will ensure the results of the project are transferred rapidly into key industrial and public sectors for exploitation without the need for heavyweight collaborative agreements.
(v) Industrial advisory board
The industrial advisory board established as part of the CORTEX management process, will present a useful and necessary forum for providing ongoing advice to the project consortium during the lifetime of the project. In particular, we envisage the advisory board acting as a ‘sounding board’ for long-term strategic and technical matters and providing useful input to the project members when certain strategic decisions need to be made. Conversely, we expect that by involving acknowledged industrial experts in the advisory board process we will achieve a further and more focussed form of technology transfer.
Given the nature of the proposed research, results from CORTEX are expected to prepare the ground on which more development-oriented projects can grow. These will in turn lead to close-to-industry-prototypes.
In consequence, rather than a classical exploitation plan, the feasible and desirable objective in CORTEX is to make the prospective project results exploitable. This endeavour is in line with the self-assessment process w.r.t. the "criteria for success" outlined above.
If the outcome of the self-assessment is positive in what concerns producing results, we will endeavour for the results to be made exploitable, by acting near the research community, IAB members, and industrials from selected target areas that we may consider inviting for the final open workshop.
Detailed partners dissemination and exploitation intentions:
The Faculty of Sciences of the University of Lisboa has a tradition for technology transfer, and research groups of the Department of Informatics have during the past few years performed collaborative projects with companies in several business segments. The research group participating in CORTEX belongs, with two other groups, to a recently created Laboratory (LASIGE) whose charter includes technology transfer to companies. These groups have a strong tradition of joint developments with national and international companies (e.g., Caixa Geral de Depósitos, Ferranti, Bull, IBM, Intrakom, Público, SONAE, Tecnotron). The results of this project will foster collaborative development and technology transfer actions with the companies traditionally involved with the above-mentioned units.
Technology transfer and exploitation of the CORTEX results by the University of Ulm will fall into the categories: 1. education and human capital, 2. direct industry co-operation and future industrial projects, and 3. publication and free software distribution. The University of Ulm is situated in a region with significant automotive and information technology industry among them a high share of SMEs. The University and particularly the Faculty of Computer Science therefore constitute a key factor regarding the provision of highly educated students to foster transfer of advanced information technology concepts, such as those developed in CORTEX, to industry. Further, the Department of Computer Structures is directly involved in co-operations with the automotive and industrial automation industry. In the automotive industry, a considerable interest exists in advanced middleware to integrate various services like traffic information services, entertainment and tele-maintanance. It is intended to generate development projects with industry participation from the grounds prepared by CORTEX. As an important scientific exploitation path, elaborated concepts and results of CORTEX will be published and presented to a European and international forum of academic and industrial experts. Additionally, software developed by the University of Ulm will be used in internal projects and made available in the public domain via the respective CORTEX distribution facilities.
Lancaster University will play a significant role in the dissemination of the results of CORTEX. In particular, the Distributed Multimedia Research Group at Lancaster is already well known and respected in the international research community and in the UK computing and telecommunications industry. As a consequence, many of the channels for effective dissemination and exploitation are already in place in the form of personal contacts. Furthermore, the group has a strong tradition of participation in quality workshops and conferences in the field (e.g. ACM MOBICOM, ACM SIGOPS, IFIP Middleware Series and the IEEE Workshops on Mobile Computing Systems and Applications (WMCSA)). The group also has an excellent publication record with papers disseminating the results of recent projects appearing in IEEE JSAC, Computer Networks and ISDN Systems, ACM MONET and Computer Communications. In addition, the group maintains an FTP archive and WWW pages providing access to all its published papers and working documents on mobile and multimedia computing. This archive is heavily used. In particular, the group maintains an on-line mobile computing bibliography which is widely referenced and is home to the IPv6 resource centre which is accessed by over 1000 researchers a week.
Trinity College Dublin has a strong track record in the use of its intellectual property, mostly related to the science, engineering, and medical disciplines, but increasingly in the social sciences and humanities. The College has contributed significantly to Ireland's recent economic upsurge through provision of a highly educated and skilled workforce, maintenance of a strong research base and the emergence among academic staff of an entrepreneurial spirit.
Since 1986, the Innovations Centre, which houses the College’s Research and Innovation Services department, has enabled the College to benefit from its knowledge base by developing policy on intellectual property, incubating new campus companies, enabling effective interaction with the business and industry sector, and providing services to the internal research community. To date over 40 new campus companies have been incubated, the most successful being IONA Technologies, a software company started by academic members of the Distributed Systems Group in the Computer Science Department. The College is currently finalising the establishment of an Enterprise Centre, close to the College, and has proposed the establishment of a Technopole in the Dublin Docklands for full-scale knowledge based commercial business.
The CORTEX project is divided into four technical work packages and three other work packages specifically devoted to project management, assessment and dissemination of the results. Upstream is the programming model definition (WP1), which is then refined by concurrently addressing the interaction model and the adequate system architecture (WP2 and WP3), including the necessary middleware services. The demonstrator (WP4) will consolidate the results of the previous work packages, and provide a final evaluation of the project's findings. Due to the nature of this project, specifically oriented to advanced research on new technologies and paradigms, the work will progress accordingly to a spiral methodology, where results are cyclically improved and refined. Therefore, during the course of the project we plan to produce intermediate deliverables with preliminary definitions and specifications (see section 9.4), not necessarily coinciding with the end of particular tasks. The other three work packages are obviously outside of this production cycle, at least in the early stages, since they are not concerned with conceptual problems. These interdependencies among work packages are depicted in Figure 1.
Figure 1: CORTEX work package structure
Sentient objects will exist at very different levels of abstraction. At the lowest level such objects might represent simple sensors or actuators capable of generating or consuming events. At a slightly higher level of abstraction, a tightly-coupled embedded system that integrates many such simple objects connected via a field bus might represent a single sentient object that is itself capable of generating and/or consuming events as a component of a larger system. Dynamically varying collections of such objects may need to co-operate to form higher-level components or applications that operate over both local and wide area networks including wireless networks.
Communication, Co-ordination and Control
Independently of the level of abstraction at which we are working, three fundamental problems have to be addressed in order to support applications based on sentient objects:
· dissemination of information to create common knowledge, mutual awareness and a basis for local decisions,
· achieving co-ordination amongst peer objects in order to carry out actions in a consistent way,
· acting upon the environment, changing its state as a result of proactive or reactive decisions.
Diffusion of information resulting from sensor inputs or more generally from other objects is clearly fundamental to the applications mentioned above. An event-based inter-process communication model that supports anonymous communication and loose coupling between objects seem mandatory in order to support object mobility and application evolution. In addition, the communication paradigm will have to provide timely and reliable distribution of information in a variety of different network environments and under a variety of different loads. Group communication represents one paradigm, where participants can receive information with adequate order, agreement and synchronism semantics, in a non-blocking and unsolicited way. Furthermore, this semantics can be tuned on a per-group basis.
Consider a traffic scenario where vehicles communicate to provide a look-ahead warning service for vehicles coming from behind. If a vehicle detects an obstacle it sends an alert message which, in turn, the receiving participants can exploit to set new cruising parameters. To guarantee reliable distribution of the alert message and overcome range or reception problems, vehicles receiving this message should themselves further disseminate the message.
In such a scenario, we face the following problems:
· The scope of information dissemination is dynamically determined by spatial parameters, i.e. those vehicles directly affected by the obstacle on the road.
· Communication is anonymous, hence group membership is implicit and reliable assessment of who received the message is difficult.
· The information is only valid in a restricted area.
· Many vehicles try to send similar messages, but the system should prevent the communication medium from being overloaded.
· Vehicles, which receive the message, must decide whether it is necessary to continue propagation or to stop.
State-of-the-art group communication protocols or generative anonymous communication  based on publisher/subscriber models definitely do not tackle these problems [27,31,34] and it is an open question whether these problems can be solved in the basic communication system alone. Following the sentient object model, vehicles can use additional sensor information, like visual input or location information derived from GPS or short-range radar distance measurements, to derive decisions. The challenge is to elaborate how the different system levels that are involved will interact. Following the fundamental problems mentioned earlier, the alert message would raise awareness between vehicles. The next step would be to start co-operation between the vehicles to allow a well-adjusted behaviour of the vehicles or at least to prevent crashes. This only affects a well-defined number of vehicles, which are close to each other. In the simplest case it involves the interaction between one vehicle and its successor. While awareness may be realised as a best effort facility, co-operation needs a guaranteed quality of service between communicating entities. Co-operative actions require common knowledge about the system history, and a consistent view about its future evolution, which also has to be achieved in a timely and reliable manner. This may imply the causal ordering of events, and their timely distribution in a reliable and ordered way. Some co-operation activities, with stronger consistency requirements may also require the availability of consistent membership information, in the form of views of co-operating groups of objects. Thus, the communication support must be able to deliver a wide range of qualities of service, in terms of both data exchange and membership services.
Heterogeneity, Hierarchy and Scope
Again considering the example application outlined above, in addition to the problem of communication and co-operation between vehicles, a hierarchy of communication networks will be present inside a vehicle to eventually convert the decision into deceleration or warning signals. Thus, the cruising parameters resulting from the higher level co-ordination among vehicles have to be set and controlled by a network of intelligent sensors and actuators. In more general terminology, islands of control must co-operate via gateways in a timely and reliable manner. This motivates the CORTEX architecture, in which a WAN may connect many CANs, thus exhibiting the WAN-of-CAN structure that was introduced previously.
The application example exhibits yet another important issue, which is related to the range and quality of information propagation in the global system. It is captured in the notion of a zone. A zone firstly identifies a natural border for the propagation of broadcast messages. This may be the range of a wireless transmitter or a single network section. To send a message beyond this border usually requires extra effort, like relay stations or gateways. In the obstacle-warning example, the zone is defined as a specific distance from the obstacle and this information is used to confine propagation. Secondly, a zone has specific quality attributes like a certain reliability of message transfer or guaranteed bounds on transmission time. It should be noted that the notion of a group, which defines a co-operation relation, is orthogonal to a zone. Groups are logical entities, which exist independently from a zone. Thus, groups may be completely contained in a zone or group members may reside in different zones.
An important issue for group co-operation is to know what QoS can be sustained by the zones in which group members reside. Typically, a single CAN represents a zone with a very high level of predictability compared to a zone in a wireless network [20,38,42,26,35]. If group members reside in different zones, communication within the group has to adapt to the weakest guarantees including the losses over the gateways. In a mobile environment where migration from one zone to another zone is likely to happen, it is a great challenge to devise group communication mechanisms that dynamically adapt to these changing QoS attributes while maintaining a certain level of guarantee.
It is one of the goals of CORTEX to investigate these complementary and partly conflicting communication requirements and exploit groups and zones to provide the desired quality attributes. Different from existing approaches, CORTEX strives for a highly adaptive behaviour accounting for dynamically varying network parameters. While the above-mentioned attributes are normally supported by group-oriented systems, they are difficult to achieve in the kind of large-scale, loosely-coupled environments being considered. In fact, while it would be interesting to treat these aspects in a uniform way, this cannot be done throughout all layers of the architecture. In consequence, our approach will build on recent results concerning large-scale communication support, where paradigms like zoning and topology awareness allow the heterogeneity of the underlying support to be accommodated, while not necessarily making it visible to the layers above [37,30].
Predictability and Adaptability
Underlying all of these considerations is the fundamental challenge of coping with the uncertainty of synchrony. In principle, this can be achieved by adaptation. However, while there is an increasing body of research on QoS adaptation [4,5,6], most work has focused on protocol or application-level heuristics, and does not provide any guarantees on how well the system adapts. The applications we intend to support require predictability about timeliness. This means that even if the timeliness of the system is degrading, it should do so in a predictable way. In consequence, the coverage of timeliness assumptions should remain stable throughout the application’s lifetime . The approach we intend to take entails relaxing or tightening the timeliness requirements dynamically as instructed by timing error detectors, in order to keep coverage at the desired level.
Some more demanding applications will require guarantees about timeliness objectives, that is, not only the coverage both also the assumed timeliness bounds should hold. There are two aspects to solving this problem in the context of our architecture. The first is recognising that timing faults are difficult to prevent in the kinds of complex and large-scale systems that we are considering. This presents us with a fundamental challenge of avoiding contamination, i.e., incorrect logical behaviour, when timing faults do occur. This has been shown to be a significant problem even in systems where synchrony expectations are minimal . The second aspect is concerned with preventing timing faults at all. Here we have to resort to fault tolerance mechanisms in general, and timing fault tolerance in particular. The model must recognise that synchronism is not a homogeneous property of a system, neither in time nor in space, and still support fault-tolerant hard real-time behaviour in subsystems of our architecture.
These are challenging problems in systems with uncertain synchrony such as WANs, especially where wireless communication is employed. We intend to use and build on previous results on partial synchrony systems, such as the timed asynchronous and quasi-synchronous models [39,10,36], as a framework to provide a homogeneous system model accommodating incremental timeliness requirements. This model will allow us to develop global QoS assurance policies, where QoS requirements propagate through the architecture, and are enforced at the appropriate levels. To satisfy these requirements, we intend to build on top of an architecture that provides adequate hooks to recognise this heterogeneity.
Scalability represents a crucial transparency property concerning the ability to accommodate growth in a large-scale distributed system. There should be no fundamental property that restricts the dynamic extension of the system or that requires hand-crafted adaptation of the application software. Thus, connecting more participants to the system dynamically, including adding entire additional networks, or providing new services should not be prevented by factors originating in the system design.
Recognising this, scalability is one of the main issues on which CORTEX will focus. The notion of anonymous event-based computing is central to addressing the needs of a scalable system.
However, because CORTEX aims at supporting non-functional attributes like timeliness and reliability guarantees, new dimensions to scalability have to be considered. Consider a simple case. Under purely functional aspects, adding a new subscriber in an anonymous communication system is completely transparent for the publisher of information. However, if temporal guarantees are to be met, the underlying network becomes decisive. For example, a point-to point network will require additional messages to be sent for every new subscriber affecting overall transmission time. Additionally, in a large scale network reaching a participant may require a different number of hops. Hence, not all participants can be reached in the same time. Similarly, reliability attributes rely heavily on network characteristics.
In fact, the mechanisms described in the sections above and in the work packages below have to be understood as an effort on multiple system layers to achieve scalability without sacrificing predictability. On the one side this requires awareness about the actual system and network context. CORTEX aims at providing appropriate abstractions to express and encapsulate the uncertainty and variations of physical message transmission. The recursive WAN-OF-CAN concept and, on a higher level of abstraction, the notion of zones contribute to this goal. On the other hand the application must specify its needs for timeliness and reliability of communication. It is obvious that it is impossible to combine arbitrary application requirements with any network structure. However, the application can define a range of predictability needs which allow the system to trade, e.g., the precision of information against the timeliness of the information. In general it is intended to treat this in the context of a partial synchrony model (cf. task 2.3) and the notion of assumption coverage.
Scalability and predictability are not orthogonal dimensions in the design space. CORTEX therefore aims at carefully understanding the dependencies and providing the necessary abstractions and means to support scalability and isolate the application from the low-level problems originating from predictability requirements.
Fault Tolerance and Security
Real-life systems deriving from the CORTEX approach will require measures enhancing their dependability, both from the fault tolerance and the security aspects. The confluence of ubiquitous wireless and anonymous networking, and of powerful embedded computer systems, provides an interesting spectrum of computer devices and information repositories that poses challenging security and reliability problems.
However, we believe that there are fundamental problems to be solved prior to that. These problems focus on possibility and feasibility results concerning co-ordination, control, predictability, adaptability, and scalability, as discussed above. They form the body of research we intend to address in CORTEX, and constitute great challenges on their own. Far from this being a disclaimer, we believe that, having solved these challenges, we will have paved the way for the incorporation of known and emerging paradigms in distributed fault tolerance for both large-scale systems and small-scale real-time systems, and in cryptographic multiparty communication and processing. Some of the CORTEX partners have a known track record in research on dependability of distributed and real-time systems. One of us (FCUL) is presently involved in the recently started MAFTIA project (Malicious- and Accidental-Fault Tolerance for Internet Applications) of the IST programme, aiming at the dependability of open distributed systems vis a vis both accidental and malicious faults. The project seeks the symbiosis of fault tolerance and security, and is expected to advance the state of the art of research in techniques for tolerance of intrusions and accidental faults in large-scale, open systems with anonymous operation. This past and present status quo enables us to believe that our conceptual and design decisions will be made so as not to compromise the above-mentioned objective of incorporating actual fault-tolerance and cryptographic mechanisms in further developments of the CORTEX approach, leading to fully-fledged CORTEX implementations.
There are some observations that have to be made when considering the technology used in CORTEX. Firstly, technology as hardware, operating systems, communication media and protocols are subject of quite rapid change. Secondly, CORTEX deals with large-scale systems in which a plethora of embedded devices co-operate. These devices all may have specific local OS, like the popular handheld palm-top computers. Thirdly, the devices e.g. embedded in cars, road infrastructure, private intelligent houses etc. may have a very long lifetime compared to a personal computer. The challenge for CORTEX is therefore to accommodate a wide range of technologies interacting over a long period of time in which new technologies may evolve and have to be integrated. Therefore CORTEX concepts and middleware should be as independent of a specific technology as possible. In general, this is a key issue for any advanced middleware.
However, technology has an impact on the CORTEX concepts and mechanisms particularly because non-functional properties play an important role. It is part of the project to find adequate abstractions to encapsulate these technological properties to use it in a generic way. Hence the decision of which technology will be used in CORTEX is a matter of finding typical state of the art technology which serves as an example to explore the conceptual work. As a starting point for a general purpose OS, Linux and RT-Linux is envisaged as a vendor independent OS-platform. For networking on the low device level the CAN-Bus will be considered. For high-speed general-purpose networking and wireless networking, CORTEX will start from LAN standards and 802.11 respectively. It is however considered to be important for CORTEX that these technological starting points do not constrain the use and integration of other technologies, e.g. like Bluetooth or GSM/UMTS at the wireless end. Therefore, it will be part of WP1 to carefully discuss and define the technology which will be used under these aspects. Further, technology observation and assessment will be essential for CORTEX throughout the project.
The resources presented in these tables represent the effort each partner will dedicate to the several work packages, and for which we are requesting funding from the Commission. A specific distinction between resources for which we are requesting funding and resources provided by permanent staff working on the project (academic staff) is also presented.
The rest of this section describes the several work packages listed in the previous tables. Section 9.3 presents a summary of the main objectives, work to be done and expected results for each of these work packages.
The first work package is concerned with the design of a programming model suitable for the development of proactive applications constructed from mobile sentient objects. It will also specify a set of application scenarios that will serve to derive requirements for the programming model and that will also be used as the baseline for WP4.
Fundamentally, the CORTEX programming model describes the facilities that will be provided to application developers responsible for the construction of proactive applications that employ mobile sentient objects. As we outline elsewhere these applications will be in diverse application areas including but not limited to intelligent vehicles, mobile robotics, smart buildings, and traffic management as well as in more traditional areas such as utilities management, process control and C3 (command, control and communications). We envisage that the objects composing these applications will be autonomous, mobile software components capable of sensing the environment in which they operate before deciding how to react. Moreover, they must be able to discover and interact with each other and with their environment in ways that demand predictable and sometimes guaranteed QoS.
From the programmer’s perspective, the system model is therefore composed of the environment and a set of sentient objects that interact with it. CORTEX adopts the active environment metaphor. The environment is thus that part of the system which, whilst being active, is limited to disseminating information about its current state and/or events that take place in the actual physical environment, to objects of the system. The environment may also be acted upon or modified by these same objects.
In contrast to the environment, sentient objects are the active, mobile and autonomous entities in the system and are capable of taking decisions, and influencing both the environment and other objects. The sentient-object programming model should be able to support several different aspects of the behaviour of sentient objects including acquiring information from the environment and other objects (the sentience aspect), reacting to possibly unexpected situations (the autonomy aspect), and modifying the state of the environment (the control aspect).
Given these considerations, any programming model supporting sentient objects must allow for unpredictable (in advance) interaction patterns between sentient objects as well as between sentient objects and the environment to develop, depending, for example, on the geographical proximity of objects to one another. Unlike traditional distributed applications in which communication between the objects that comprise an application usually requires that the object that sends a message knows the identity of the object or objects to which the message is to be sent, sentient objects will often need to send messages to a set of other objects whose identities are not known to the sender and which can only be determined at the time that the message is actually sent. For example, an object may need to send a message to all the objects that are nearby at the time that the message is sent.
To support such dynamic patterns of communication the CORTEX programming model will have at its core an event-based communication paradigm supporting anonymous one-to-many communication. Fundamentally, an event represents a change to the state of an object or of the environment. Announcing the occurrence of an event is a form of anonymous communication in that the object announcing the event need not know what other objects have subscribed an interest in the event and hence will be notified of its occurrence. Typically, an event has a name and may have a number of typed parameters. For the specific occurrence of an event the parameters are instantiated with values that, together with the event name, describe the state change that has occurred.
While the basic concept of an event-based communication paradigm is simple and indeed hopefully intuitive, there are a number of difficult issues to be tackled if the paradigm is to be employed successfully is large scale proactive applications in which we can expect very large volumes of event announcements to be generated at a very high rate. Of particular importance are techniques to ensure that event announcements are only propagated to objects that have already expressed interest in events of the corresponding type and then only if the specific events are relevant in the object’s current location and at the current time.
Filters provide a basic mechanism to allow objects to express interest, or lack thereof, in events of a certain type or containing certain (combinations of) parameter values. Essentially an object subscribing interest in events of a particular type should be able to provide a filter describing which occurrences of events of that type it wants to be notified of. Filters alone are, however, not sufficient. With filters an object may still receive notifications of occurrences of events in a part of the system with which it is not currently concerned. To address this issue some means of scoping or limiting the propagation of event notifications in the system is required, for example, by means of zones. Objects can be organised into zones where a zone can be seen simply as a collection of objects and event notifications are only propagated within the zone of the object raising the event. Objects are organised into zones at the discretion of the application programmer based on functionality, geographical location or physical location on the network. Communication is still anonymous as the object raising the event need not know which objects are members of the zone. Moreover, zones may be nested or overlapping.
While filters and zones allow an object to specify, at some level, which event notifications it is interested in, they do not address non-functional requirements related to delivery of such notifications. For example, additional means of specify the timeliness with which event notifications should be delivered after the occurrence of the corresponding events or the reliability with which event notifications should be delivered must be provided. In the CORTEX programming model specification of such non-functional requirements will be addressed through the development of a generic means of expressing QoS properties encompassing timeliness and reliability including consistency and ordering of event notifications.
The mechanisms provided for QoS specification will be based on the use of application-level QoS parameters that can be mapped onto the system-level QoS parameters characterising the service levels that can be supported by the underlying physical infrastructure at a given point in time. Such a mechanism allows application programmers to specify QoS requirements in terms that are meaningful for particular application areas while also supporting the degree of abstraction necessary to accommodation variations in the QoS that can be supported by the underlying environment.
In fact, the CORTEX programming model will necessarily make the heterogeneity of the underlying physical system – the WAN of CANs - visible at some level of abstraction. Thus, the zone abstraction may be extended not only to capture the set of objects to which notification of event occurrences can be propagated but also to capture the QoS with which those event notifications can be delivered. Thus, the environment may be modelled at the programming model level, for example, as a hierarchy of zones capable of delivering specified levels of QoS.
This work package is structured in four tasks. Task 1.1 identifies requirements on the programming model derived from an analysis of application scenarios to be specified within the task. Task 1.2 defines the concept of hierarchically structured sentient objects in a language-independent way as well as the primitives available to application developers to control and manage sentient objects and their movement based on an abstract model of the underlying heterogeneous system. Task 1.3 deals with the mechanisms related to the event-based communication model. Finally, task 1.4 deals with the mechanisms for QoS specification.
The objectives of this work package are to define the interaction model for co-operating sentient objects. Interaction comprises the aspects of communication and co-ordination. The model will centre on an anonymous generative communication abstraction reflecting the needs of object autonomy and system robustness and evolution. The work package will extend and modify the existing approaches in two major directions:
1. the work will consider the fact that sentient objects not only communicate via the network but when they are interacting with the environment they may change the environment as well. Thus the environment constitutes an interaction and communication channel and is in the control and awareness loop of the objects.
2. the work package will address new adaptable ways of guaranteeing temporal properties of interaction. It is intended to exploit context awareness of sentient objects to reach this goal.
Figure 2: Events and object interactions in CORTEX
CORTEX must support several kinds of interactions (see Figure 2):
· Environment-to-object interactions take the form of unsolicited dissemination of the state of the former, and/or notification about events taking place therein. The transformation of events to state within the realm of the active environment components is not precluded, as a way to preserve the memory of past events.
· Object-to-object interactions serve two purposes. The first is related with complementing the assessment of each individual object about the state of the surrounding space, which includes environment components and the objects "within reach", that is, capable of influencing its next decisions. The second is related to collaboration, in which the object tries to influence other objects into contributing to a common goal, or into reacting to an unexpected situation.
· Object-to-environment interactions comprise the deliberate attempt at forcing a change in the state of the environment. This may come as a consequence of the pursuance of the object's own objectives, or of the reaction to unexpected situations created by the environment or other objects.
CORTEX will investigate what would be the minimal and adequate set of paradigms to address these classes of interactions. Furthermore, research on these interaction patterns has to address the complementary but equally important problems and requirements arising from the system infrastructure like: heterogeneity and scale, anonymity and unpredictability; timeliness, synchronism and ordering.
The work package particularly aims at:
• Defining the abstractions to provide a generative anonymous communication paradigm suited for the event-based programming model derived in WP1.
• Integrating and harmonizing the antagonistic aims of autonomy and anonymity on one hand with co-ordination, predictability and group awareness, which are needed to achieve predictable interaction, on the other hand.
• Covering the non-functional properties needed to support co-ordination of collaborating objects, like predictability of message transfer under an adaptable model of synchrony.
• Integrating the external real-world environment and the system internal status, such as the quality of the communication links, in the model of interaction.
This work is structured in three tasks. Task 2.1 addresses the communication abstractions needed to adequately support the event-based sentient object programming model. Task 2.2 investigates how internal and external context information can be exploited to adapt object interaction to changing situations. Task 2.3 deals with the co-ordination needed to carry out joint actions. This task will also deal with synchrony under temporal constraints. Since these tasks form the scientific core of the CORTEX approach, we describe the background to each in a little more detail in the following sections.
Task 2.1: Communication abstractions
The task will develop the basic abstractions of the communication system underlying the event-based programming model developed in WP1. Since we consider an open system of possibly millions of connected devices, the scale of the system is a major concern. Communication based on point-to-point paradigms is infeasible. Rather, we have to deal with many-to-many communication and interaction patterns. Information is potentially ubiquitous and groups of interacting sentient objects have to be dynamically defined and configured within this environment.
Our event-based programming model naturally leads to the spontaneous generation of messages rather than a request/response style of communication. This fact suggests the use of an anonymous generative paradigm of communication [7,31,34]. Thus, the appropriate basic communication abstraction may be based on typed communication channels that connect producers and consumers of events according to a publisher/subscriber model. An important goal of the CORTEX approach is to support autonomy of objects. An anonymous generative model of communication maps well to this autonomy requirement because it does not force direct transfer of control nor synchronization between producers of events and their consumers.
Given the highly interactive nature of the envisaged applications, and the fact that actions will be dictated to a great extent by assessment of the state of the environment, CORTEX falls under the typical constraints placed on distributed real-time systems [22,25]. The correctness of the interaction model must be considered not only in the value domain but also in the time domain. Thus, some actions are bound to be expressed in terms of timeliness properties, and/or require synchronisation between objects. Moreover, most of the information provided by the environment will consist of the state of real-time entities [22,21], whose value is a function of time, and thus makes any implied actions time-sensitive. Thus, the communication abstractions developed in this task must support predictable timing behaviour. The predictability aspects of the communication abstractions in this task are strongly related to the work in task 2.3 which addresses models of partial synchrony.
Task 2.2: Context and environmental awareness
Work in this task will investigate how internal and external context information can be exploited to facilitate object interaction in changing situations. Objects, for example whilst moving, may be confronted with unpredictable communication needs or unanticipated interaction patterns with other objects and with the environment. Context awareness in terms of "which network am I in?", "how many hops away are my partners", "what delay am I to expect for this message", as well as the detection of temporal faults or the assessment of membership all constitute system internal context. This task will investigate how to exploit this information for the adaptation of protocols.
In a similar way, this task will investigate how to use information from the physical environment to support protocols for object interaction. Constructing awareness, i.e. about the type of environment, and/or neighbouring objects, may be necessary for certain types of actions that require tight collaboration and synchronization among objects, or a high level of precision in interactions with the environment. As an example, we may consider objects equipped with special sensors that disseminate their perception of the environment to other objects that can now share this information without being capable of sensing this particular aspect themselves. It can be envisioned that a rather complete and detailed perception of the environment can be constructed collaboratively. From the perspective of an interacting object, the distinction between an active environment which distributes such information itself and a passive environment collaboratively sensed by diverse sentient objects becomes obsolete. In a traffic scenario, moving vehicles as sentient objects could thus replace the static infrastructure. The basic requirement would be that information is published by those who have it and can be recognized and filtered (by content) by those objects that need it. This task therefore addresses the hooks in the communication system that are required to exploit this information, e.g. anonymous forms of information dissemination that have a strong relation to the work in task 2.1 will be extended by additional forms of content-based information and logical addressing. Finally, because objects react to the environment based on their sensed data, they change the environment for themselves and other objects at the same time. It should be noted that this part of the object's actions, mainly those related with modifying the environment, are concerned with classical real-time control theory, involving known paradigms such as real-time transactions. An expected result of the project is the study of the combination, enhancement, or even hybridisation of the paradigms just mentioned.
Task 2.3: Co-ordination model
This task mainly addresses the predictability of the co-ordination mechanisms necessary to carry out joint actions. Since objects operate in a real world environment co-ordination has to be achieved under temporal constraints. As a minimum, this requires timeliness of communication. Additionally, consensus about the order of messages and the set of objects that received a message (membership) has to be achieved in bounded time. Concerning timeliness of communication, this task will develop models of synchrony that reflect the needs of large scale, heterogeneous systems that cannot be made strictly synchronous at reasonable costs in transmission delay and bandwidth. While task 2.1 addresses the architectural issues of heterogeneity, this task addresses the temporal aspects.
In a system that interacts with its environment, agreement has to be achieved under certain temporal constraints. This task will deal with flexible group communication concepts that allow non-functional properties such as the required degree of synchrony and the reliability of communication to be specified on a per group basis. Further the trade-off between anonymous communication necessary for mobility and application evolution and the notion of groups, which is based on explicit membership, will be investigated.
It is known that cause-effect or causality is the universal ordering paradigm in a distributed system . Given the need to take time into account, and the fact that hidden channels may develop through the environment, a temporal model of causality has to be pursued in CORTEX. In such a system, and despite some of the adverse conditions just described, applications have to exhibit a certain degree of predictability. Approaches to this problem under uncertain operating conditions have been addressed in the mission-critical systems arena. Systems would normally have pre-defined operational envelopes, to which they would switch, in a best effort to achieve their goal. In a sense, they would perform adaptation to changing environmental conditions. This would obviously compromise predictability of the previous goal, but would create conditions for achieving the new goal. In more general terms, this is the track followed by the QoS adaptation body of research. We plan to address the above-mentioned hard problems in the time domain under the light of partial synchrony models, which can withstand varying timeliness or synchronism conditions, and the occurrence of timing failures. We intend to follow recent work on timing and QoS failure detection oracles  under partial synchrony models that reason in terms of the <assumption,coverage> binomial. This may help provide a precise definition of predictability, in terms of an assurance to which a probability is attached, and thus provide conditions for objects to make tradeoffs between maintaining their original goals with a reduced probability of success, or relaxing their goals whilst maintaining the initial probability.
The objective of this work package is to define the system architecture of CORTEX, focusing on the components that are necessary to implement the communication abstractions developed in WP2. In particular, the aim is to develop an abstract network architecture that reflects the hierarchical structure of large-scale heterogeneous networks, while defining the necessary mappings from this abstract description to real networks, including sensor/actuator busses and wireless links. In this work package we will also investigate the basic protocols and services that, as components of the infrastructure, are necessary to fulfil non-functional requirements identified in WP2, such as timeliness or reliability of communication. The goal is to maintain the QoS requirements, specified for the abstractions and services of the interaction model (like event channels and name services), by the components of the network. WP3 will introduce and define gateways as crucial architecture components, aimed at hiding the different properties (like addressing structures or collision handling) of physical networks and at supporting the non-functional quality attributes as defined by the synchrony model.
The basic infrastructure envisaged is composed of a global network (WAN) that comprises substructures subsumed by the abstraction of a Controller Area Network (CAN). A CAN module represents an environment in which a certain quality of communication in terms of bandwidth, transmission delays, and reliability can be enforced. The WAN-of-CAN structure allows a hierarchical composition of heterogeneous environments with respect to timeliness: at the lowest level we may find networks with highly predictable communication, controlling physical devices such as sensors and actuators. This WAN-of-CAN structure is assembled by means of gateways. A gateway is a crucial architectural construct that provides the propagation of QoS constraints on event flows, and on the events proper, while ensuring timeliness confinement between parts of the architecture, namely in what concerns CAN modules. From an architectural point of view, gateways can be seen as artefacts that provide a representation of a certain environment to the outside world. Therefore, they must provide means to specify how this representation will be established and how the events will flow from, and to the outside environment.
From a logical point of view, we will use an abstraction that defines zones of similar QoS guarantees, with gateways lying in the border of these zones. It is then necessary to derive a mapping from given QoS guarantees to network properties, like average case delays, worst case delays under fault assumptions, partitioning and recovery times. We will explore the role of gateways for maintaining synchrony and reliability issues when multiple network boundaries are crossed.
At this infra-structural level it is also necessary to define essential services, that are required to implement higher-level abstractions and enforce given levels of QoS. They should be defined in a way that is consistent with the WAN-of-CAN structure, possibly by exploiting the existence of the gateway component. We will specifically investigate the means to provide configuration and QoS information, based on the requirements elaborated in WP2. The ability to support the specification of non-functional requirements, such as timeliness of actions with given coverage assumptions, may require the availability of a number of basic services, such as a timing failure detection or a clock synchronization service. This in turn will require the implementation of protocols that may exploit the specifics of a particular network. They will be defined and developed within this work package, and will result in the delivery of proof-of-concept prototypes.
This work package is structured in three tasks. Task 3.1 will define an abstract network model to describe the properties of the underlying networks. Task 3.2 will define the basic services and protocols and will develop proof-of-concept prototypes. Finally, task 3.3 will investigate the mapping between the abstract network model and real networks.
The CORTEX project proposes to develop a radical new computational architecture consisting of mobile sentient objects that interact to provide predictable behaviour in uncertain and dynamic environments. We believe it to be essential that any such paradigm developed by the project is evaluated in a realistic application scenario. In order to achieve this, we will consider a range of real world application scenarios and develop one proof-of-concept demonstrator application to target one of these scenarios. Despite the fact that we concentrate on one scenario, we will endeavour to emphasize the general problem-solving capabilities of our architecture.
In this work package we aim to practically demonstrate the validity of the proposed computational architecture. This will be achieved through the development of a small number of applications based on the requirements analysis conducted in WP1. The applications will be designed to evaluate the suitability of the CORTEX paradigm for solving complex distributed and potentially large-scale real-time problems. In more detail, we aim to focus on the following three issues, namely: (1) the validity of the programming model developed in WP1, (2) the interaction model investigated in WP2 and (3) the system architecture developed in WP3.
1. We will evaluate the suitability of the programming model for developing dependable and predictable solutions to large-scale real-time control and co-ordination problems. More specifically, we will demonstrate the utility of co-ordinated sentient objects that can co-operate to achieve zones of predictable QoS in inherently non-deterministic environments. Furthermore, we intend to show where this approach provides clear benefits over existing ad-hoc based solutions. We will construct a small set of demonstrator applications based on scenarios composed of a full taxonomy of sentient objects, i.e. those exhibiting active, proactive, reactive and passive behaviours. In addition, we aim to investigate the impact of the control and feedback loops that can occur when an object affects changes in its environment that can, in turn, form stimuli to affect the object’s behaviour.
2. In addition, through the development of the demonstrator we hope to evaluate the viability and appropriateness of the various interaction models developed in WP2. More specifically, we will investigate the suitability of publisher/subscriber based paradigm for disseminating sensory information and events between sentient objects in a timely and scaleable fashion. The correct choice of interaction model is essential for providing sensory stimuli, and enabling sentient objects in turn to export sensory information of their own to other objects and the surrounding environment.
3. This work package will also evaluate the suitability of the abstractions provided by the system architecture in distributed ad-hoc environments; highlighting the shortcomings and enhancements that can be made to existing and traditional distributed services, and motivating the need for new services where necessary. These abstractions will be provided by the core architectural services developed in WP3.
The proof-of-concept demonstrators will be chosen from a range of challenging problem scenarios. Three of these potential scenarios are outlined below.
Example A: Supporting field workers in the electricity industry
Field workers in the electricity supply industry work in a highly distributed safety critical and real-time environment. When operating in an inherently dangerous environment, such as the power distribution network, it is essential that highly consistent views of the network are maintained and that work affecting the state of the network is performed in a highly co-ordinated manner. Current best working practice is based on a centralised co-ordination body (the control centre). However, such centralisation inevitably proves to be a bottleneck and potential point of failure during periods of high activity, such as during lightning storms. Furthermore, the highly mobile field engineers are often unable to establish contact with the control centre in a timely fashion, although they may well be able to establish ad-hoc dialogues with neighbouring colleagues. By enhancing collaboration between colleagues and replicating the view of the current network state to all field engineers, there is the potential to distribute operational control and co-ordination . Work in this area has highlighted a number of real-time dependability issues relating to the problems of ensuring robust, consistent, propagation of safety-critical information given the unpredictable communications environment. In particular, traditional platform services and abstractions, for example, the point-to-point remote procedure call, are poorly suited to the requirements of this application domain.
We will investigate how the CORTEX paradigm can be used to support decentralised operation by augmenting the existing infrastructure with sentient objects. One example of the application of this technique would be to put intelligence and monitoring capabilities into the power distribution network infrastructure itself (e.g. at substation switches). This would allow predictable action by providing different levels of dependability in isolated parts of the network. A switch might, for example, take autonomous action to ensure fail-safe behaviour under certain conditions. Alternatively, these ‘sentient switches’ may take a proactive role in collaborating with field engineers directly. Such collaboration will, we believe, facilitate the establishment of pockets or zones of co-ordination, enabling useful work to be performed, despite the inability to achieve direct communication with a centralised control centre.
Example B: Mountain rescue
Mountain rescue workers are constantly faced with search and rescue operations in which they are called upon to locate stranded, and possibly injured, people in extremely hostile conditions. Such environments also place stringent constraints on mobile computational devices, such as weight, battery life and communications availability.
In such scenarios, the rescuers are frequently called upon to administer first aid at the scene. In particular, the most critical factors in achieving a successful operation are the speedy location of the injured party, and performing the correct remedial medical action. To affect a successful search of a mountain-side requires a co-ordinated effort by a team of rescuers who are themselves vulnerable to hostile weather conditions, can become separated and even injured. In such scenarios, tracking the location of search team members is required in order to provide both the control centre and rescuers with an awareness of the location of those team members involved in the rescue. Additionally, by extrapolating from location information over time, the rescue team can build a picture of the search coverage and quickly identify areas that have not been searched.
Sharing of location information poses a technical challenge; the availability of the communications infrastructure and partitioning of the search team is greatly affected by the topology of the mountain terrain and unpredictability of the prevailing weather conditions. However, clearly ad-hoc networking can enable collaborations between neighbouring team members and promote the sharing of information, such as location and medical telemetry, to enhance the effectiveness of a typical search and rescue operation. Moreover, information gathered in the field can be related back to remote experts at the base or local accident and emergency departments. The dynamic nature of such collaborations is poorly supported by existing distributed systems given the general bias towards a reliable and fixed communications infrastructure. The CORTEX paradigm fits well to this application domain by supporting the notion of zones that, in this scenario, could represent zones of network availability.
Example C: Next generation cars
As a more futuristic example, consider the reaction of a queue of cars to an accident on a typically busy motorway carriageway. A driver in the queue will be forced to brake suddenly, but when the next driver reacts, she will brake hard enough to stop her car within the remaining braking distance. Each car in the queue reacts similarly. The usual outcome of this behaviour is that a number of drivers will not have sufficient braking distance left and a multiple car collision will occur.
Using the CORTEX paradigm, a more co-ordinated approach could be achieved in which vehicles publish events (such as the fact that they are performing an emergency brake or that the car will be stationary in x ms) to other interested parties (e.g. cars following within a certain distance). Sentient objects (located within other cars in the queue) can ask to receive the braking event, and when notified can take appropriate braking action (publishing their own braking events). In this way, the entire queue of vehicles can be brought to a halt in a progressive and controlled manner.
CORTEX will have an Executive Board responsible for the overall conduct of the project, setting overall technical goals, co-ordinating and reviewing technical progress, revising the project plan as necessary, ensuring the timeliness and quality of the deliverables, and assessing the progress in general. An Administrative Co-ordinator will assist the Executive Board. Membership of the Executive Board will consist of one representative of each Partner, though other individuals may be co-opted as appropriate.
The Executive Board will meet at least twice a year, normally in connection with Project workshops. Additional meetings will be called as and when necessary. Detailed responsibility for the different work packages has been divided among the Partners - who nominate particular individuals to have detailed responsibility for the completion of the work and the timely production of the deliverables.
The Administrative Co-ordinator is, from the point of view of the Commission, the contract manager responsible for maintaining contact with the Commission on all aspects of the Project, and has primary responsibility for managing the budget, maintaining an information service, etc.
The project's infrastructure will use the Internet, and will consist of an internal and public web server, and an internal server for documents, code and documentation, version control and archived mailing lists.
CORTEX will establish an Industrial Advisory Board (Section A.2.5 details the membership of this board). The role of the Industrial Advisory Board will be: to validate our research by providing insight on our approach to addressing prospective applications; and to act as a liaison with the industrial world for disseminating and rendering our results exploitable. We expect the Industrial Advisory Board to follow our workshops and comment on our deliverables as deemed useful, and especially to provide critical input to the demonstrator definition.
The team will also set-up an independent and self-critical assessment process, whereby every yearly report will contain a critical discussion of that year’s deliverable contents, with regard to the proposed objectives in the technical annex.
The results from the interactions with the Industrial Advisory Board and from the team’s own assessment procedure will be documented in yearly reports, which will constitute the deliverables of this work package and will provide an outside, yet well-informed, analysis of the progress of the project.
This work package is intended to ensure the dissemination of the project results. Therefore, all the participating entities, the consortium members and the Industrial Advisory Board, will produce two documents: a dissemination and implementation plan, at an early stage of the project, and a technological implementation plan, at the end of the project. The former will describe not only the plans for the dissemination of knowledge gained during the work, but also exploitation plans both for the consortium as a whole or for individual participants. The latter will describe the participants’ actual achievements in dissemination and their plans at the end of the project for the exploitation of their results.
* Int. Internal
circulation within project (and Commision Project Officer if requested)
Restricted circulation list (specify in footnote) and Commision PO only
Circulation within IST Programme participants
Circulation within Framework Programme participants
The project management structure and philosophy follow that of other successful projects in which the partners have taken part. It is our intention to maintain a lightweight yet effective management structure within the constraints imposed by the co-ordination of and among work packages, and with the requirements detailed in the contract. The project’s infrastructure will use the Internet, and will consist of an internal and public web server, and of internal servers for documents, code and documentation, version control and archived mailing lists. The infrastructure of the CaberNet ESPRIT network of excellence will be (re)used, as far as possible.
There will be two separate domains of management and co-ordination within CORTEX:
Membership of the Executive Board will consist of one representative of each Partner, though other individuals may be co-opted as appropriate. Professor Paulo Veríssimo will chair the Executive Board. The Board will have the primary responsibility for ensuring effective technical collaboration in pursuit of the overall aims of CORTEX. The primary responsibilities of the Executive Board are as follows:
The Executive Board will meet at least twice a year, normally in connection with Project workshops. Additional meetings will be called as and when necessary. At each meeting of the Executive Board it will receive a report from the Administrative Co-ordinator. Day-to-day communication amongst members on Executive Board matters will normally be by electronic means. As regards the day-to-day technical operation of the project, responsibility for the different components of the work plan has been divided among the Partners. The proposed organisation is the following:
WP1: Programming Model (Vinny Cahill - TCD)
WP2: Interaction Model (Joerg Kaiser - UUlm)
System Architecture (Paulo Veríssimo - FCUL)
Demonstrator (Gordon Blair - ULanc)
Management (Paulo Veríssimo - FCUL)
WP6: Evaluation and assessment (António Casimiro - FCUL)
WP7: Dissemination and implementation (Vinny Cahill - TCD)
For each work item, the task/work package leader is responsible for the completion of the work and the timely production of the deliverables. Task leaders will report to the Executive Board.
The Administrative Co-ordinator is, from the point of view of the Commission, the contract manager responsible for maintaining contact with the Commission on all aspects of the Project. The Administrative Co-ordinator is primarily responsible for managing the budget; for ensuring that contractual deliverables are in fact delivered on time; for ensuring the proper dissemination of internal and external technical (and other) reports; for receiving from each site from time to time such technical, financial and administrative information as the Commission may require and forwarding it to them. The Administrative Co-ordinator, who will be based at Lisboa, will carry out the following duties in a timely manner, under the direction of the Executive Board (through the principal investigator at the co-ordinating contractor site):
Conflict Resolution Procedure: In normal operation, conflicts will be resolved in discussion with the appropriate work package leader or, in the case of non-technical matters, the Administrative Co-ordinator. Where a conflict is not amenable to resolution through such discussions, the matter will be raised at the next scheduled Executive Board meeting or, if requested by any one of the Partners to the Project, at a specially convened meeting. Any conflict that is not amenable to resolution through discussion in Executive Board will be resolved by means of a vote. Each of the Partners to the Project will be eligible to cast a single vote. In case of draw, the co-ordinating partner will have a qualitative vote. The decisions of the Executive Board, whether arrived at by discussion or vote, will be binding on all Partners to the Project.
The budget requested for travel costs (188,754 €) includes the participation of personnel working on the project in several kinds of events occurring during the project course. In particular, the budget allows for the participation of employed personnel as well as permanent staff in at least two project workshops per year. It also allows for attendance at the yearly review. The participation of members of the consortium in external events is an important measure to provide visibility of the work carried out in the context of the project. Therefore, the requested budget will allow project members to participate in program committees and attend conferences in the fields of dependability, mobility, real-time and other fields related to the project. Conferences that the consortium might participate in include:
ACM: Principles of Distributed Computing; Object-Oriented Programming Systems, Languages, and Applications; Mobile Computing and Networking Conference; Symposium on Operating System Principles; European Conference on Object-Oriented Programming;
IEEE: International Conference on Dependable Systems and Networks; Symposium on Reliable Distributed Systems; Real-Time Systems Symposium; Workshop on Future Trends in Distributed Computing Systems; International Conference on Distributed Computing Systems; Workshop on Mobile Computing Systems and Applications; International Symposium on Object-Oriented Real-Time Distributed Computing; Workshop on Object-Oriented Real-Time Dependable Systems; International Symposium on Autonomous Decentralized Systems;
IFIP: Working Group 10.4 on Dependable Computing and Fault Tolerance; Middleware (International Conference on Distributed Systems Platforms);
Usenix: Conference on Object-Oriented Technologies and Systems; Symposium on Operating Systems Design and Implementation;
A considerable part (35,910 €) of the other significant project costs budget allows for attendance at the project workshops and review and for travel by the Industrial Advisory Board who will all be invited to the project workshops. The rest of the budget for other significant costs will cover the costs of organizing project meetings and publishing brochures and leaflets for the overall project.
 N. Ackroyd and R. Lorimer. Global Navigation: a GPS User´s Guide. Lloyd´s of London, 1994, 2nd Ed.
 R. Azuma. Tracking Requirements for Augmented Reality. Communications of the ACM, 36(7), pp.50-51, Jul 1993.
 Bakre, A., and B.R. Badrinath. M-RPC: A Remote Procedure Call Service for Mobile Clients, Technical Report WINLAB TR-98, Department of Computer Science, Rutgers University, U.S. June 1995.
 Scott Brandt, Gary Nutt, Toby Berk and James Mankovich. A Dynamic Quality of Service Middleware Agent for Mediating Application Resource Usage. Proceedings of the 19th IEEE Real-Time Systems Symposium. pp.307-317. Madrid, Spain. Dec 1998.
 I. Busse, B. Deffner and H. Schulzrinne. Dynamic QoS Control of Multimedia Applications based on RTP. Computer Communications,. 19(1), Jan 1996.
 A. Campbell and G. Coulson. A QoS
adaptive transport system: Design, implementation and experience. Proceedings
of the Fourth ACM Multimedia
Conference (MULTIMEDIA'96). pp.117-128. New York, NY, USA. Nov
 N. Carriero, D. Gelernter. Linda in Context, Communications of the ACM, 32, 4, April 1989, pp 444-458.
 T. Chandra and S. Toueg. Unreliable Failure Detectors for Reliable Distributed Systems. Journal of the ACM, 43(2):225-267, March 1996.
 Keith Cheverst. Development of a Group Service to Support Collaborative Mobile Groupware, Ph.D. Thesis, Computing Department, Lancaster University, Bailrigg, Lancaster, LA1 4YR, U.K., April 1999.
 F. Cristian and C. Fetzer. The Timed Asynchronous System Model. Proceedings of the 28th Annual International Symposium on Fault-Tolerant Computing. pp.140-149. Munich, Germany. June 1998.
 Davies, N., Friday, A., Blair, G.S., and Cheverst, K. Distributed Systems Support for Adaptive Mobile Applications. ACM Mobile Networks and Applications, special issue Mobile Computing – System Services, 4(5), 1996.
 G.W. Fitzmaurice. Situated Information Spaces and Spatially Aware Palmtop Computers. Communications of the ACM, 36(7), pp.38-49, Jul 1993.
 Adrian Friday. Infrastructure Support for Adaptive Mobile Applications, Ph.D. Thesis, Computing Department, Lancaster University, Bailrigg, Lancaster, LA1 4YR, U.K., September 1996.
 Mads Haahr, Raymond Cunningham and Vinny Cahill. Supporting CORBA Applications in a Mobile Environment, in Proceedings of the 5th ACM/IEEE International Conference on Mobile Computing and Networking (MobiCom), 1999.
 A. Harter and A. Hopper. A Distributed Location System for the Active Office. IEEE Network, 8(1), 1994.
 M. Horstmann and M. Kirtland. DCOM Architecture. http://www.microsoft.com/jini/specs/
 H. Ihara and K. Mori. Autonomous Decentralized Computer Control Systems. IEEE Computer, 17(8):57-66, August 1984.
 JINI Technology 1.1. Specification, Sun Microsystems, http://www.sun.com/jini/specs/
 Joseph, A., A. deLespinasse, J. Tauber, D. Gifford, and M.F. Kaashoek. Rover: A Toolkit for Mobile Information Access, Proc. 15th ACM Symposium on Operating System Principles (SOSP), Copper Mountain Resort, Colorado, U.S., 3-6 December 1995. ACM Press, Vol. 29, Pages 156-171.
 H. Kopetz and G. Grünsteidl. TTP - A Time-Triggered Protocol for Fault-Tolerant Real-Time Systems, Research Report 12/92, Inst. f. Techn. Informatik, Tech. Univ. of Vienna, 1992.
 H. Kopetz and P. Veríssimo. Real-Time and Dependability Concepts. In S.J.Mullender (Ed.), Distributed Systems, 2nd Edition, ACM-Press, chapter 16, pp.411-446, Addison-Wesley, 1993.
 H. Kopetz. Real-Time Systems, Design Principles for Distributed Embedded Applications, Kluwer Academic Publishers, 1997.
 Kümmel, S., A. Schill, and G. Volkmann. RPC over Advanced Network Technologies: Evaluation and Experiences. Proc. of the 3rd International Workshop on Services in Distributed Networked Environments (SDNE), Macau, China, 3-4 June 1996. IEEE Computer Society Press.
 L. Lamport. Time, Clocks and the Ordering of Events in a Distributed System, Z. Yand and T. Marsland (Eds.), Global States and Time in Distributed systems, IEEE Computer Society Press, 1994.
 Shem-Tov Levi and Ashok K. Agrawala. Real-Time System Design, Computer Science Series, McGraw Hill, 1990.
 M.A. Livani, J. Kaiser, W.J. Jia. Scheduling Hard and Soft Real-Time Communication in the Controller Area Network (CAN), 23rd IFAC/IFIP Workshop on Real Time Programming, Shantou, China, June 1998.
 S. Maffeis. iBus - The Java Intranet Software Bus, Olsen&Associates, www.olsen.ch, 1997.
 K. Mori. Autonomous decentralized Systems: Concepts, Data Field Architectures, and Future Trends, Int. Conference on Autonomous Decentralized Systems (ISADS93), 1993.
 Object Management Group. The Common Object Request Broker: Architecture and Specification. OMG Document 96-03-04, July 1995.
 Karl O'Connell, Tom Dinneen, Stephen Collins, Brendan Tangney, Neville Harris and Vinny Cahill. Techniques for Handling Scale and Distribution in Virtual Worlds. Proceedings of the 7th ACM SIGOPS European Workshop. pp.17-24. Connemara, Ireland, Sep 1996.
 B. Oki, M. Pfluegl, A. Seigel, D. Skeen. The information Bus®- An Architecture for Extensible Distributed Systems, 14th ACM Symposium on Operating System Principles, Asheville, NC, Dec 1993, pp.58-68.
 Overall Concepts and Principles of TINA. TINA Baseline, TB_MDC.018_1.0_94, February 1995.
 D. Powell. Failure Mode Assumptions and Assumption Coverage. Digest of Papers, The 22nd International Symposium on Fault-Tolerant Computing Systems. pp.386-395. Boston, USA. July 1992.
 R. Rajkumar, M. Gagliardi, L Sha. The Real-Time Publisher/Subscribe Inter-Process Communication Model for Distributed Real-Time Systems: Design and Implementation, IEEE Real-time Technology and Applications Symposium, June 1995.
 J. Rufino, P. Veríssimo, C. Almeida , L. Rodrigues. Fault-Tolerant Broadcasts in CAN, Digest of Papers, The 28th International Symposium on Fault-Tolerant Computing Systems, Munich, Germany, June 1998.
 B. Sabata, S. Chatterjee, M. Davis, J. Sydir, T. Lawrence. Taxonomy of QoS Specification, Proc. of the IEEE Third International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS), Newport beach, CA, February 1997
 Gradimir Starovic, Vinny Cahill and Brendan Tangney. An Event Based Object Model for Distributed Programming. OOIS (Object-Oriented Information Systems) '95. pp.72-86. Dec 1995.
 K. Tindell, A. Burns. Guaranteed Message latencies for Distributed Safety-Critical Hard Real Time Control Networks, Technical Report YCS229, Dept. of Comp. Science, University of York, May 1994.
 P. Veríssimo and C. Almeida. Quasi-synchronism: a step away from the traditional fault-tolerant real-time system models, Bulletin of the Technical Committee on Operating Systems and Application Environments (TCOS), 7(4):35-39, Winter 1995.
 P. Veríssimo and A. Casimiro. The Timely Computing Base. DI/FCUL, TR-99-2, Department of Computer Science, University of Lisboa, April 1999.
 A. Ward, A. Jones and A. Hopper. A New Location Technique for the Active Office. IEEE Personal Communications, 4(5), 1997.
 K.M. Zuberi and K. G. Shin. Non-Preemptive Scheduling of messages on Controller Area Network for Real-Time Control Applications, Technical Report, University of Michigan, 1995.
Lisboa: The Navigators group at the Faculty of Sciences of the University of Lisboa (FCUL) addresses the architecture and middleware development, namely the aspects concerning timeliness and reliability in large-scale environments. In terms of the fundamental challenges to be addressed in CORTEX, the group has a vast experience with communication protocols in distributed systems, in particular with the group communication paradigm. Recent work with relevance to CORTEX includes the investigation of how timeliness and predictability requirements can be handled in environments with uncertain synchrony properties and the development of models of intermediate synchrony with support for dynamic adaptation techniques. In this context, tolerance to timing faults has been a key structuring factor in the work that has been developed.
Dublin: Research in the Distributed Systems Group in the Department of Computer Science primarily addresses language and middleware support for distributed computing, especially distributed object computing. Previous research experience of relevance to CORTEX includes work on the use of reflection to support dynamic adaptation of software, the development of an event-based communication model oriented towards development of large-scale distributed applications and support for mobile computing. Within CORTEX, TCD will contribute to the development of the paradigms and supporting middleware for communication and co-operation between sentient objects building on its experience with event-based programming and adaptive middleware. TCD will also contribute to the design of real-time reliable communication protocols suitable for use in wireless networks.
Lancaster: The Distributed Multimedia Research Group at Lancaster has a strong record in distributed systems dating back to 1983. In the recent years, the research of the group has grown to encompass distributed systems for mobile environments and context-sensitive computing. DMRG has an established track record of engineering distributed systems, reflective and adaptive middleware, systems software and applications to target challenging problem domains such as the Utilities Industry, Emergency Services and the Mountain Rescue service. Within CORTEX, DMRG will contribute to the development of the sentient object platform and interaction models. Most significantly however, DMRG will lend a strong application and deployment focus to the technologies developed by the project; ensuring that the CORTEX paradigm develops into a practical and utilitarian software platform.
Ulm: The real-time group at the Faculty of Computer Science of the University of Ulm has been active in the area of object-oriented real-time systems and real-time communication. The main focus of work addresses the conflict between the substantial resource constraints often found in embedded applications and the demand for high-level computational models which are needed to enable the cost effective design of such systems. Under this aspect, the group has developed time-bounded reliable communication protocols for controller area networks and currently investigates protocols for wireless networks. Additionally, special purpose hardware components have been built and integrated in a testbed for intelligent sensors and actuators. These components are also used in co-operating robots for the RoboCup contest. Thus, the expertise of the group is in advanced middleware for embedded systems with a small memory footprint and low computational overhead.
The proposing team from the University of Lisboa (UL), is the Navigators group, one of the groups of (LASIGE), the Large-Scale Informatic Systems Laboratory, a research unit of the Department of Informatics of the Faculty of Sciences of the UL.
The University of Lisboa (UL), whose origins date back to 1288, has presently an estimated number of 20.000 students, and a teaching staff of about 1.600 highly qualified teachers. The Faculty of Sciences of the University of Lisboa (FCUL) is currently organised in 9 Departments, among which the Department of Informatics (http://www.di.fc.ul.pt), and has approximately 6.000 students. With more than 200 on-going projects, research activities at the Faculty of Sciences are carried out in 26 Laboratories and Research Centres or Institutes. Many of these R&D activities are developed together with international teams and are funded both at national and European levels. The Large-Scale Informatic Systems Laboratory (LASIGE) is a laboratory of the Department of Informatics (DI). Its core personnel is formed by professors and researchers belonging to two areas of the DI: Computing Systems Organization and Information Systems. Its mission is to organise the intervention of the department in research, teaching and training, and technology transfer, with regard to the domains pertaining to the core activity of the laboratory. The activity of the LASIGE is organised around the cross-fertilisation of the domains of distributed systems and information systems.
The Navigators group addresses architecture and infrastructure issues of distributed systems (middleware), namely the aspects of large-scale, dependability, security and real-time, both of system support and applications. The core people of the Navigators group, now at the FCUL, originated from the Distributed Systems and Automation Group at INESC, and have been very active in international research for 15 years now, mainly in the areas of distributed systems, fault-tolerance and real-time (http://www.navigators.di.fc.ul.pt). The group has produced several PhD and MsC theses, and hosted a few foreign post-doctorates (UK, USA). It took part in several international research projects, namely ESPRIT: DELTA-4; BANK'92; BROADCAST; DINAS-DQS. The group is a member of the CaberNet Network of Excellence, where it currently administers the Networks Shared Infrastructure, a trans-national distributed information system formed by circa 8 servers spread throughout the E.U.
Paulo Veríssimo is since 1995 a professor of the Department of Informatics, University of Lisboa Faculty of Sciences. He was previously a professor at the Tech. Univ. of Lisboa. He leads the Navigators Group, previously at INESC and now at the University of Lisboa Faculty of Sciences, since 1985. He has been in the co-ordinating team of several major national projects in informatics, and headed the participation of the group in several CEC ESPRIT projects. He belonged to the Executive Board of the CABERNET- ESPRIT Network of Excellence. Paulo Veríssimo is a member of IEEE. He has served in the programme committees of several conferences (IEEE, AFCET, ACM), and is an associate editor for the Baltzer Telecommunications Systems Journal. He is author of more than 70 refereed publications in international scientific conferences and journals, and over 100 technical reports. He is co-author of three books on distributed systems and dependability. He organised and lectured in the LISBOA'92 Advanced Course on Distributed Systems, and was director of the 3rd European Seminar on Advances on Distributed Systems, ERSADS 99.
Luís Teixeira Rodrigues
Luís Rodrigues graduated (1986), has a Master (1991) and a PhD (1996) in Electrotechnic and Computers Engineering, by the Instituto Superior Técnico de Lisboa (IST). He is an Assistant Professor at the Department of Informatics, Faculty of Sciences, University of Lisbon. Previously he was at the Electrotechnic and Computers Engineering Department of Instituto Superior Técnico de Lisboa (he joined IST in 1989). From 1986 to 1996 he was a member of the Distributed Systems and Industrial Automation Group at INESC and, since 1997, he is a (founding) member of the LASIGE laboratory at University of Lisbon. He participated and contributes to several national and international projects such as, Delta-4, Estímulo, Broadcast, GODC, etc. His current interests include fault-tolerant and real-time distributed systems, group membership and communication, and replicated data management. He has more than 30 publications in these areas. He is a member of the Ordem dos Engenheiros, IEEE and ACM.
· P. Veríssimo and M. Raynal, "Time, clocks and temporal order", Advances In Distributed Systems, Part I- Distributed Algorithms, Springer-Verlag, 2000.
· L. Rodrigues and P. Veríssimo, "Topology-aware algorithms for large-scale communication", Advances In Distributed Systems, Part I- Distributed Algorithms, Springer-Verlag, 2000.
· P. Veríssimo and C. Almeida, "Quasi-synchronism: a step away from the traditional fault-tolerant real-time system models", Winter 1995 Bulletin of the Technical Committee on Operating Systems and Application Environments (TCOS), 7(4), pp.35-39.
· P. Veríssimo, L. Rodrigues, and A. Casimiro. "Cesiumspray: a precise and accurate global clock service for large-scale systems". Journal of Real-Time Systems, 12(3):243-294, 1997.
· P. Veríssimo. "Causal Delivery Protocols in Real-time Systems: a Generic Model." Journal of Real-Time Systems, January 1996.
Founded in 1592, Trinity College Dublin (TCD) is the oldest university in Ireland. Today, Trinity’s 500 academic staff and 12800 students, a quarter of which are postgraduates, actively cover all the major scientific disciplines. The College was rated by the EU as the number one research institute in Ireland in terms of citations and produces over 1900 publications annually. The College has 66 departments across 6 faculties and currently has over 1000 active research accounts and 800 self-financing activities. Its annual operating budget is 81 million Irish pounds of which in 1998 (Jan to Dec) research income was over 21 MECU.
The Distributed Systems Group (DSG) in the Department of Computer Science at Trinity College Dublin is a research group comprising five academic members and approximately twenty researchers primarily at Ph.D. level. DSG has been conducting research into the development of support environments for object-oriented and distributed programming since its foundation in 1981. The group has an international reputation as a centre of excellence in the area of Distributed Object Computing and enjoys particularly strong links with both Irish and multinational companies.
In the past, DSG played significant parts in the ESPRIT Comandos (project numbers 834 and 2071) and Harness (5279) projects within which the group developed a state-of-the-art platform for distributed application development including support for the use of existing object-oriented languages for the development of fault-tolerant, distributed applications. This experience lead to the academic members of DSG forming IONA Technologies to develop a distributed object-support platform complying with the Object Management Group's Common Object Request Broker Architecture (CORBA). IONA has since grown to a be company of some 500 employees with a NASDAQ capitalisation of around $700 million.
DSG has subsequently played leading roles in a number of other ESPRIT projects including Lynx (6816), Advance (8148), Moonlight (8676), and Edith (7507). Within Advance, DSG developed Distributed Shared Memory (DSM) technology to support concurrent engineering frameworks. In the Moonlight project, DGS was responsible for the development of the VOID shell - a toolkit for the development of large-scale distributed virtual environments based on the ECO event-based programming model.
More recently the group has been conducting research into the use of object-oriented techniques, such as frameworks and reflection, for the construction of adaptable system software; protocols for real-time group communication over wireless links within the context of the Nationally funded Centre for Wireless Communications at TCD; and mobility support in CORBA-based systems. The work is supported from a variety of sources including the Irish Government and both indigenous and multinational companies such as IONA Technologies, Lotus, and Microsoft Research.
Dr. Vinny Cahill leads the Distributed Systems Group at TCD. Dr. Cahill received his Ph.D. in Computer Science from Trinity College in 1996 and was elected a Fellow of the College in recognition of research achievement in 1999. Dr. Cahill is a co-founder and former director of IONA Technologies. Dr. Cahill has been conducting research into distributed object systems since 1985 and has played leading roles in the Comandos, Edith, and Advance projects as Principal Investigator for DSG's involvement in each and as a member of the projects' respective technical co-ordinating committees. Dr. Cahill was also a reviewer for the ESPRIT TOBIAS (2294) project. Dr. Cahill has published widely in the field and has served on the programme committees of a number of major international conferences including the European Conference on Object-Oriented Programming in 1998 and 2000, the International Conference on Meta-Level Architectures and Reflection in 1999, and the IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC) in 1998 and 1999 and acted as European programme committee co-chair for ISORC 2000.
· Gradimir Starovic, Vinny Cahill and Brendan Tangney, "An Event Based Object Model for Distributed Programming" in OOIS (Object-Oriented Information Systems) '95, Springer-Verlag, 1995,
· Karl O'Connell, Tom Dinneen, Stephen Collins, Brendan Tangney, Neville Harris and Vinny Cahill, "Techniques for Handling Scale and Distribution in Virtual Worlds", in Proceedings of the 7th ACM SIGOPS European Workshop, 1996.
· Mads Haahr, Raymond Cunningham and Vinny Cahill. "Supporting CORBA Applications in a Mobile Environment", in Proceedings of the 5th ACM/IEEE International Conference on Mobile Computing and Networking (MobiCom), 1999.
· Frank Siqueira and Vinny Cahill, "Quartz: A QoS Architecture for Open Systems", in Proceedings of the 20th IEEE International Conference on Distributed Computing Systems, 2000.
· Mads Haahr, Rene Meier, Paddy Nixon, Vinny Cahill, and Eric Jul. "Filtering and Scalability in the ECO Distributed Event Model", In Proceedings of the 5th International Symposium on Software Engineering for Parallel and Distributed Systems (PDSE), 2000.
Lancaster University was founded in 1964 in the Northwest of England and has grown to become one of the top Universities in the UK, being consistently rated among the top 20 Universities and achieving numerous accolades in the independent Teaching Quality Assessment and Research Assessment exercises. The University Departments are organised into five faculties: Applied Sciences, Environmental & Natural Sciences, Humanities, Social Science and the Management School. The University has an annual turnover in excess of £76m, employs over 2000 staff in all categories and has nearly 8000 full time students.
The Distributed Multimedia Research Group (DMRG) is part of the Faculty of Applied Sciences at Lancaster University. Formed in 1989 to investigate all aspects of distributed multimedia systems the group currently has some forty-eight members including academics, visiting industrialists, research associates and postgraduate students.
Since 1989 the DMRG has a strong track record in attracting funding from EPSRC, the European union and Industry. The group is currently involved in over twenty-seven research projects each dedicated to a pertinent and contemporary feature of distributed multimedia systems. Prevalent among these have conducted a significant number of research projects with grants from EPSRC, including the highly successful MOST, GUIDE, Magic Wand and ReTina projects.
The group is supported by a state-of-the-art infrastructure including a range of wired and wireless networks (GSM through to ATM), real-time operating systems such as Chorus, multiple distributed systems technologies including CORBA and RM-ODP compliant platforms and a comprehensive suite of demonstration applications. DMRG has established a reputation for conducting research in the following areas:
· Quality of Service Management
· Multimedia Communications Services and Protocols
· Multimedia Information Storage and Modelling
· Multimedia Open Distributed Systems
· Mobile Multimedia Computing
· Context-aware and Adaptive Systems
· Formal Methods for Distributed Multimedia Systems
In addition, the DMRG group is responsible for supervising a number of high calibre Ph.D. students and organising exchange programmes with other Universities and Industrial organisations.
Gordon Blair is Professor of Distributed Systems at Lancaster University and has been actively involved in research in distributed systems for the past fifteen years. He has been responsible for a large number of research projects at Lancaster in the areas of distributed systems and multimedia support and has published over 140 papers in his field. He was General Chair for Middleware '98 and is a PC member of several major conferences on distributed and multimedia systems. His current research interests include distributed multimedia computing, open distributed processing, the impact of mobility on distributed systems and the use of formal methods in distributed systems.
· Gordon Blair, Geoff Coulson, Philippe Robin and Michael Papathomas. "An Architecture for Next Generation Middleware". Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing: Middleware'98, The Lake District, U.K., 15-18 September 1998, pp191-206.
· Fabio Costa, Gordon Blair and Geoff Coulson. "Experiments with Reflective Middleware". Proceedings of the ECOOP Workshop on Reflective Object-Oriented Programming and Systems (ROOPS '98), Brussels, Lecture Notes in Computer Science, Volume 1543, Springer-Verlag, 1998, pp390-391.
· Blair, G.S., G. Coulson, N. Davies, P. Robin, and T. Fitzpatrick. "Adaptive Middleware for Mobile Multimedia Applications." Proc. NOSSDAV'97, St Louis, Missouri, USA, Pages 259-273, 1997.
The University if Ulm is a young university founded in 1967 with a strong orientation in medicine, engineering, computer science, mathematics, economics, and natural sciences. In addition to research and education, five university hospitals offer central medical services to a large area in the east of Baden-Württemberg. Interdisciplinary research between the faculties was one of the driving ideas behind the foundation. This is reflected in many interdisciplinary courses and by a unique architecture of the university campus. Research Centres around the university such as the Daimler-Chrysler Research Centre and industry funded institutes complement the excellent conditions for research and education.
The department of computer structures (RS) in the faculty of Computer Science comprises two professors, and five research positions. RS conducts research in the area of operating systems, distributed real-time systems, computer architecture, and in the area of object-oriented languages. During the past, members of the department were involved in the ESPRIT projects ADVANCE (8148) and MACS. Additionally, the department is member of the ICIMS NOE (Network Of Excellence in Intelligent Control and Integrated Manufacturing Systems).
Jörg Kaiser is a Professor for Computer Science in the Department of Computer Structures of Ulm University. He received his Ph.D. in Natural Sciences from Bonn University. Before he joined the University in summer 1995, he was with the German National Research Center for Information Technology (GMD), St. Augustin. His research work ranges in computer architecture, operating systems and distributed systems with emphasis to object-orientation, fault-tolerance, and real-time. He chaired groups and projects in distributed and real-time computing and took a principal role as general project manager in the ESPRIT project ADVANCE. He served as a program committee member in numerous workshops and conferences related to distributed computing and real-time and was European program co-chair for the IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC99). For ISORC 2k he acted as the European general co-chair.
· J. Kaiser, M.A. Livani: "Invocation of Real-Time Objects in a CAN Bus-System", 1st IEEE Int'l Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'98), Kyoto, Japan, Apr. 1998
· J. Kaiser, M. Mock: "Implementing the Real-Time Publisher/Subscriber Model on the Controller Area Network", Proceedings of the 2nd Int. Symp. on Object-oriented Real-time distributed Computing (ISORC99), Saint-Malo, France, May 1999.
· J. Kaiser, M. A. Livani: "Achieving Fault-Tolerant Ordered Broadcasts in CAN", Proc. of the Third European Dependable Computing Conference (EDCC-3), Prague,Sep. 1999
· Weijia Jia, Wanlei Zhou, M. A. Livani, Joerg Kaiser: "Anycast Group Algorithms for Mobile Multicast Communications", Proc. of IASTED Parallel and Distributed Computing and Systems (PDCS'99), ACTA Press, Boston, USA, pp.423-428, Nov. 1999
The role of the Industrial Advisory Board is to assist the Executive Board:
· in validating our research, namely by providing a critical eye on the assessment process
· by providing insight on our approach to addressing prospective applications
· by acting as a liaison with the industrial world for disseminating and rendering our results exploitable
We expect the Industrial Advisory Board to follow our workshops and comment on our deliverables as deemed useful, and especially to provide critical input to the demonstrator definition.
Several senior individuals have accepted invitations to serve on the CORTEX Industrial Advisory Board. The following list introduces the Industrial Advisory Board members and their companies:
Seán Baker: IONA Technologies (IRL)
Dr. Seán Baker is Chief Scientific Officer for IONA Technologies, with responsibility for bridging between the product strategy and the engineering teams. Dr. Baker co-founded IONA in March 1991, and has served as Senior Vice President from March 1991 until 1996 and as Executive Vice President, Customer Services from 1996 until 1999. Dr. Baker has been a director of the company since its inception. From 1981 to 1994, Dr. Baker held a tenured post in the Computer Science Department at Trinity College, Dublin, where he received his doctorate in computer science. In Trinity, he helped found and manage the Distributed Systems Group, and carried out many projects on support environments for distributed object systems, and also their relationships to databases and persistence in general. He is the author of "CORBA Distributed Objects" published by Addison Wesley Longman; and co-author of "CORBA Fundamentals and Practice" published by Wiley.
Albert Held: Daimler Chrysler AG, Research and Technology (D)
Dr. Albert Held received a Dipl.-Inf. degree in computer science from the Friedrich Alexander University Erlangen and a Dr.-Ing. degree in computer science from the Technical University Dresden. In 1989 he joined the AEG Research Institute in Ulm which later became the DaimlerBenz Research Center Ulm and is now the DaimlerChrysler Research Center Ulm. He first worked in the field of office automation and workflow management and then focused on IT-security. Since 1993 he works in the areas of mobile computing and wireless communication. He is/was project manager of several internal research projects on IT-security and ITS (Intelligent Transportation Systems) communications infrastructures.
Huw Oliver: Hewlett-Packard Laboratories (UK)
Dr. Huw Oliver studied Mathematics at Cambridge University (1977-1980) where he received the MA degree. He received his MSc (1985) and PhD (1988) in Computer Science at the University College of Wales, Aberystwyth. He was Research Associate on the Alvey Eclipse Project and the Sapphire Project during 1988. 1989-1993 was spent at HP's Software Engineering Systems, Colorado turning software development technology into product after development at Hewlett-Packard's European Laboratories, Bristol in Software Development Environments. From 1993 to 1996 he worked at HP Labs, Bristol as Senior Member of Technical Staff and Technical Lead on real-time fault tolerant telecommunication systems. Until 1998 he worked on the ACTS ReTINA project including an appointment as Senior Visiting Research Fellow at Lancaster University. He has been Technical Reviewer for both European ESPRIT and ACTS projects and is currently Manager of Hewlett-Packard's Internet Research Institute. Currently he is the manager for Hewlett-Packard's Framework V Project, Market Managed Multiservice Internet (M3I) and of the Internet Research Institute.
Edgar Secca: ParaRede (PT)
Dr. Edgar Secca received a degree in Electrical and Computer Engineering from the University of Porto, in 1979. Until 1987 he had several functions in IT departments. In 1987 he was a founder of SMD Informática S.A., Sistemas Multiposto e Distribuídos, S.A., launched as a spin-off from INESC, an R&D institute, of which he was CEO and shareholder until 1998. He is currently member of the board and shareholder of ParaRede, SGPS (holding). ParaRede is stocked in BVL (Lisbon Stock Market) and is the largest Portuguese IT group with solutions for e-business and a global strategy (direct operations in Brasil, Spain and South Africa and customers in more 9 countries). He is also President of NETIE, an Information and Electronic Technologies Portuguese Association with more than 110 large and medium hi-tech Portuguese companies.
 pp.8: "..., there is a significant trend towards massive and ubiquitous deployment of embedded systems and their linking to networks. Technical evolution and new applications are changing the business context. "
 pp.15: "The massive deployment of embedded systems will affect all aspects of society: work place, entertainment, home, transport, energy control. Dependability is one of the core issues for social acceptance of this deployment."
pp.5: Implementation of the
Commission's action plan towards establishing the Global Information Society
will support further development of services for transport users such as
travel information and traffic management techniques in order to encourage
the effective integration of individual and public passenger transport.
 In the field of transportation the vision is one of building the mobile society within the information society through the introduction and use of information society technologies to improve effectiveness and safety of all transport modes and provide new mobility options in a sustainable way.
 pp. 15: As regards the mobility of passengers and freight, research could be directed in particular at optimising efficiency, safety, environmental impact and competitiveness as these are all necessary to promote the quality of products and services, to ensure their integration at the European level and to capture world markets. Particular attention could be paid to the question of inter-modality, combining different transport modes.
 pp.20: "Future scenarios anticipate more complicated settings where embedded applications are no longer isolated: remote configuration, remote maintenance, on-line upgrading, are integral part of the systems operation."
For problems or questions regarding this web contact [firstname.lastname@example.org].