Abstracts of Keynotes and Industrial Day Talks
Martin Wirsing : A Component-Based Approach to Adaptive User-Centric Pervasive ApplicationsIn cooperation with: Christian Kroiss, Andreas Schroeder, Sebastian Bauer
Ludwig-Maximilians-Universität München, Germany
In the last years computing has become omnipresent and even devices that do not look like computers have computing capabilities. Seamless man-machine interfaces and ad-hoc communication allow for pervasive adaptive control and computer support in everyday activities. So-called pervasive-adaptive environments are becoming able to monitor, diagnose and respond to the cognitive, emotional and physical states of persons in real time. In this talk we present a new approach for designing and realising adaptive systems that provide assistance to humans in a discrete and personalized manner. The approach is based on a strict component-based framework for controlling pervasive adaptive systems including real-time sensor and actuator control, user and context-awareness, affective computing, self-organization and adaptation. A rule-based domain-specific language simplifies the dynamic creation and modification of system architectures; mechanisms for the transparent distribution of applications, flexible on-line data processing, and early experimentation with data analysis algorithms facilitate the construction of user-centric adaptive systems while a modular assume/guarantee framework allows to compute formal representation of such systems and to verify them against given system requirements. We illustrate our approach by two case studies for detecting cognitive overload and influencing the mood of a user in the way he desires.
This work has been partially supported by the EC project REFLECT, IST-2007-215893.
Jeff Magee : Intrinsic Definition in Software Architecture Evolution
Imperial College London, UK
Incremental change is intrinsic to both the initial development and subsequent evolution of large
complex software systems. The talk discusses both, the requirements for and the design of,
an approach that captures this incremental change in the definition of software architecture.
The predominate advantage in making the definition of evolution intrinsic to architecture
description is in permitting a principled and manageable way of dealing with unplanned change
Intrinsic definition also facilitates decentralized evolution in which software is extended and evolved by multiple independent developers. The objective is an approach which permits unplanned extensions to be deployed to end users with the same facility that plugin extensions are currently added to systems with planned extension points. The talk advocates a model-driven approach in which architecture definition is used to directly construct both initial implementations and extensions/modification to these implementations.
An implementation of intrinsic evolution definition in Backbone is presented - an architectural description language (ADL), which has both a textual and a UML2, based graphical representation. The talk uses Backbone to illustrate basic concepts through simple examples and reports experience in applying it and its associated tool support to larger examples.
Stephan Thesing : The Joy of Qualifying Software in the Avionics Area
Eurocopter Group, Germany
Avionics software (i.e. software on-board planes or helicopters) differs from mainstream software
applications and most other embedded applications in one important point: it has to be qualified with
the airworthiness authorities (e.g. FAA or EASA) before it is allowed to be used in flight.
Qualification is goverened by published standards (e.g. DO178B for civil aviation) that give the minimal requirements to be satisfied during software development and by the resulting software product. Depending on the software's level of criticality, correctness has to be demonstrated more or less extensively. Also, a complete traceability from requirements to design, to implementation, to testing and back has to be provided.
In addition, the environment in avionics is very limted; e.g., no dynamic memory allocation is allowed in safety- or mission-critical avionics software. The trend towards more and more functional complexity will become a problem in avionics: providing correctness evidence necessary for qualification and understanding and handling the interactions of functions poses a challenge. Methods that allow a modular construction and also a modular correctness argumentation will be necessary.
This talk presents the process required for avionics software from requirements to qualification and the future challenges arising.
Thomas Santen : VCC: A Practical System for Verifying Concurrent C
European Microsoft Innovation Center, Germany
VCC is an industrial-strength verification environment for concurrent system code written in C, developed by the European Microsoft Innovation Center, Aachen, and Microsoft Research, Redmond. VCC takes a program, annotated with function contracts, state assertions, and type invariants, and attempts to prove the correctness of these annotations. It includes tools for monitoring proof attempts and constructing partial counterexample executions for failed proofs. This talk motivates VCC, describes our verification methodology, and reports on our experience using VCC to verify the kernel of a Microsoft product, the Microsoft Hyper-V hypervisor.
Michal Pechoucek : Towards Self-Adaptation to Intelligent Adversary in Network SecurityIn cooperation with: Martin Rehak
Cognitive Security, Czech Republic
Nowadays computer network infrastructure is specific in (i) high speed of traffic and high volumes of communicated data and and in (ii) the level to which people depend on its availability and security. For many different reasons computer network infrastructure is subject of frequent attacks that imply a variation of threats. As the current vulnerability of the computer network infrastructure represent a major risk, there is an ever rising need for a high variety of software solutions that can provide, besides network protection, also intelligent network behavior analysis, so needed for understanding patterns of malicious behavior and detecting a threat before the attack is implemented.
Petr Aubrecht, Radovan Janecek : SOA by Mainframe
IBM Mainframe may sound unfamiliar to the younger generations of computer science researchers especially those dealing with distributed systems. It is of no help that mainframes are still running vast majority of business-critical transactions world-wide and that the most of the business data still resides on mainframe computers. The prevailing perception in both business and scientific communities is that mainframes are fading away and that there is nothing interesting going on in this 'Jurassic Park' from innovation perspective. According to many IT industry analysts, the last mainframe was supposed to be unplugged about ten years ago. The reality is very different though. The mainframes have entered the distributed world offering virtualization, Linux, J2EE, web, SOA, and Cloud technologies. From an enterprise perspective, 'SOA by mainframe' is probably one of the most interesting topics to think about because it helps companies to modernize their legacy applications without prohibitive budget requirements. This presentation summarizes the history of SOA and some key lessons learned. It then shows how these lessons can be used for modernizing legacy applications running on the mainframe computers.