What is Organic Computing?
Organic Computing investigates the design and implementation of self-organizing systems that are self-configuring, self-optimizing, self-healing, self-protecting, self-describing, context aware, and anticipatory. Thus Organic Computing includes the Autonomic Computing targets of the IBM initiative. Organic Computing emphasizes on biological and organic-inspired systems and on the aspects of self-organization and emergence. Meeting the Grand Challenge of Organic Computing requires scientific and technological advances in a wide variety of fields.
Five professors of the Department of Computer Science at the University of Augsburg established an research area "Organic Computing" as part of the "Augsburg Centre for Innovative Technologies" (ACIT) in cooperation with the Fraunhofer Institute for Communication Systems ESK in Munich. The diverse research activities constitute a broad coverage of the most important aspects of Organic Computing. The following figure shows the different research areas and how they fit together to boost the development of Organic Computing applications.
Research Activities @ University of Augsburg
Prof. Dr. Theo Ungerer
Dr. Wolfgang Trumler
OCµ - Organic Computing Middleware for Ubiquitous Environments
The rising complexity of smart environments in ubiquitous computing as e.g. smart offices and smart buildings require new techniques for manageability. The properties of self-organization, self-configuration, self-optimization, self-healing, self-explanation, self-protection, and context-awareness demanded by the Organic Computing (OC) Initiative define ambitious goals. The research project OCμ, which is funded by the German Research Foundation (DFG) within the priority program 1183 "Organic Computing", has two general targets: (1) to create an Organic Ubiquitous Middleware toolkit that provides a basis for the OC goals for ubiquitous computing applications and (2) to investigate self-x techniques to fulfill the OC goals.
The Organic Computing Middleware architecture OCμ is based on a multi-level observer model with one Organic Manager per node and well-defined interfaces (APIs) for the applications. The observer is the monitoring part of the Organic Manager, which is responsible to guarantee the OC properties by applying MAPE (Monitor, Analyze, Plan, Execute) cycles.
A self-configuration based on a new cooperative selection mechanism is followed by a runtime self-optimization to improve the initial configuration. A self-healing mechanism is investigated to guarantee desired properties and the availability of the application as long as possible. Computer Immunology is investigated for self-protection. The distributed Organic Managers act locally but communicate with each other by stress messengers piggy-backed on messages to create a globally recognisable self-organising behaviour.
CAR-SoC - Connective Autonomic Realtime System-on-Chip
CAR-SoC (Connective, Autonomic Real-time), which is funded by the German Research Foundation (DFG), defines a new SoC approach that emphasizes Connectivity, Autonomic Computing principles, and Real-time requirements on a chip. The requirements shall be fulfilled by a simultaneous multithreaded processor core called CarCore. The processor core is based on Infineon's TriCore architecture extended by an hardware-integrated hard real-time scheduling. The system software CAROS guarantees isolation of hard real-time threads. It is directed towards the AUTOSAR/OSEC OS of automotive systems. Helper threads running with low priority in own thread slots concurrent to the application implement autonomic managers that monitor relevant on-chip characteristics like processor workload and memory usage. The autonomic managers decide in combination with a middleware developed at University of Karlsruhe if self-optimization, self-configuration, self-protection, or self-healing techniques must be triggered. By funding of the EC Network-of-Excellence HiPEAC the CarCore processor was enhanced by reconfigurable hardware (in cooperation with University of Delft).
Self-organization in Multicore Systems
Multicore systems promise a new dimension of processing power and the possibility to integrate previously separated functionality on one die. The Intel corporation recently announced the Teraflop-Chip, a multicore architecture with 80 cores. The integration of the cores reduces the communication latency between the functional units. Therefore the calculations can be distributed between the cores. New challenges arise for the system software that should schedule task to optimize the utilization of the cores. Furthermore a new paradigm, the Network-on-a-Chip (NoC), has been introduced for the communication of the cores. The ubiquitous bus-architecture will no longer be suitable for multicore systems with an increasing amount of cores. The research of the Organic Computing group focuses on the two aforementioned topics. The scheduling of tasks on multicore systems and routing algorithms for NoCs, respectively. First investigations using self-organization principles showed excellent results.
Prof. Dr. Wolfgang Reif
Formal Modeling, Safety Analysis and Verification of Organic Computing Applications - SAVE ORCA
The subject of this research activity is a method for the systematic, top-down design and construction of highly reliable and adaptive organic computing applications. Reliability here means preservation of functional correctness, safety and security under unexpected disturbances and component failures. Adaptability in the context of this project is related to adaptive system behavior under changing requirements and modified tasks. The aim is to provide a formal framework for descriptive requirements, rigorous modeling and modular design of self-adapting and self-organizing systems as well as a design process for building Organic Computing applications. Together, this will make design and construction of future organic systems easier and safer. As an integral part of the framework, formal analysis will improve reliability, stability, and adaptability of such systems.
The approach combines formal specification and verification with failure analysis techniques and software design techniques. Example applications are 'automation engineering' and 'mobile systems'. It is planned to provide a formal framework for the analysis of organic computing applications, to implement prototypical tool support, and to evaluate the method with substantial case studies.
Prof. Dr. Bernhard Bauer
A Model-driven Software Engineering Methodology for Organic Computing Systems (SE-METHOC)
The rapidly growing complexity of integrating and managing computing systems threatens to overwhelm the capabilities of even the most expert software developers and system administrators. Many of the basic components of computing systems, such as databases, storage devices, and servers, now have hundreds of tuning parameters. Systems of these components are growing in size and heterogeneity, giving rise to complex and increasingly dynamic interelement dependencies and interactions. One way of dealing with this complexity is "Organic Computing", namely developing self-configuring, self-optimizing, self-healing, self-protecting, self-explaining, adaptive and context-aware and self-managing systems. However, modeling and implementing such kind of systems is beyond the current state of the art in software engineering. Thus the main objective of this project is the development of a software engineering methodology, i.e. a development process and modeling language, for Organic Computing systems. We follow a model-driven architecture, i.e. starting from a high-level specification of the application; consider automatic model transformations and code generation for specific Organic Computing middleware and frameworks from platform-independent models. Thus we expect that the proposal also contributes to a deeper understanding of organic systems, in particular, delivering requirements for the platform and framework development. We create a complete software engineering methodology as well as techniques dealing with the life-cycle of such systems. The results are evaluated in small case studies whereas tool support should be possible in the long run.
Prof. Dr. Elisabeth André
Empirically Validated User Interface Design For Organic Computing Environments
Due to the shift away from the static PC to Organic Computing environments, the way users perceive computers and interact with computing devices, digitally empowered gadgets and computerised and networked environments will dramatically change. Portable computing, distributed systems with components that are embedded in everyday objects as well as in the physical environment, together with a rapidly growing wireless net-infrastructures, will make possible a wide spectrum of completely
new scenarios in which users benefit from an increasing number of information and knowledge services wherever they go. The complexity, diversity and flexibility of environments based on organic principles will place high demands on the design of intuitive and purposeful user interfaces. As a consequence, we will face a huge challenge in the area of human-computer interaction. The proposed project will meet these challenges by providing contributions in the following areas:
Technology development including new methods for the flexible re-configuration of multimodal interfaces, methods for coordinating interface devices and media within and across interaction spaces, and methods for the personalized presentation of interface functions.
Interface and interaction design by the development of methods for binding interface functions to a uniform interaction metaphor
Interface evaluation by conducting user studies in order to compile usability guidelines for Organic Computing environments
Research Activities @ Fraunhofer ESK
Prof. Dr. Rudolf Knorr
Organic Computing Middleware for P2P Service Management
Experts agree that service management, particularly in the area of ubiquitous communications, will one day face an entirely new set of requirements driven by the development of new end user devices, the propagation of heterogeneous networks and the demand for more flexible and efficient workflows. To create a stable and optimized functional structure, new approaches and processes to self organization and autonomous optimization are needed that will enable management architectures to automatically adapt themselves to specific network and device conditions and user behaviors.
The IT industry employs a variety of protocols for service discovery. Some of the better known include Java Intelligent Network Infrastructure (JINI), Universal Plug and Play (UpnP) and Service Location Protocol (SLP). While these processes make it possible to recognize and make services available, to date they lack the capability to independently judge whether a particular service fits the actual needs of the user. Instead, users are forced to manually select from a list of all available services. Optimizing this process requires a context-based service discovery framework that permits the intelligent filtering of services based on a personalized services profile.
As part of its research activities, the Fraunhofer ESK is pursuing the development of middleware solutions to address the problem of service discovery within ambient office communications platforms. Particular focus is placed on examining the special requirements of deploying ubiquitous systems and managing flexible office environments. Fraunhofer ESK will continue to analyze existing, well-established protocols to determine the extent to which they can be used for context-based service discovery. This work will be supplemented by designing new approaches to service discovery that enhance the service selection process by improving the integration of context-based user information.
More information on the Organic Computing Initiative can be found at the following WebSites:
Organic Computing at the University of Hannover www.organic-computing.de
Organic Computing at the University of Bochum www.organic-computing.org
Autonomic Computing Initiative of IBM