Architecture and Component Technology

The vision of middleware that underlies several efforts in ObjectWeb and in INRIA research work is that of the construction of software infrastructures using a reflective component model (as currently exemplified by the Fractal component model). This approach provides several benefits: first, those that accrue with making explicit the software architecture of a complex system (in terms of reduction of architetural erosion, better maintenance and increased reusability of system parts); second, immediate gains in terms of system configurability and administrability (as demonstrated e.g. by the use of Fractal for the construction or re-engineering of several ObjectWeb middleware components: Speedo, Joram on Dream, Jonas a la Carte, Petals); third,it provides the means (as demonstrated by the AOKell and - to a lesser extent - Julia implementations of Fractal) to bring together software architecture-based middleware design and a proper separation of non-functional aspects made possible bytechniques such as Aspect-Oriented Programming.

Scope and objectives

It is widely expected that the future ubiquitous computing environment will be highly dynamic, subject to constant changes and of ever-increasing complexity. For instance, changes may arise in a system's environment because of physical mobility, and changes may arise in a system's internals because of the occurrence of faults or software upgrades. This in turn motivates the construction of dynamically configurable software infrastructures to provide a consistent, systematic basis for system evolution, control and management. Challenging questions in this setting comprise the following:
What is the software architecture of a dynamically configurable middleware? What software technology can be used to build such systems with reasonable efficiency and determinacy of execution?

The main objective of this working group is the development of an efficient reflective software component technology for the construction of dynamically configurable and adaptable middleware. The coolaboration will work to evolve the ObjectWeb Fractal component technology towards a model providing a full-fledge integration of AOP and components, with linguistic support (e.g. ADL) for dynamically evolving architectures, and the support of architecture constraints, taking in particular into account insights gained with Orientware developments around the U. of Beijing ABC component model, and the National Defense U. around CCM. This Working Group (WG) will provide basic component technology to be used by other work-packages and it will provide architectural coordination for the whole project.

Partners and contributions

Peking University: PKUAS and ABC methodology

contact: Gang Huang

ISCAS: QoS-aware architecture and model checking
ISCAS will contribute to specify QoS-aware middleware architecture and develop some validation methods and tools to check non-functional properties of middleware, based on Fractal framework.

contact: WEI Jun

INRIA: Fractal component model
Fractal is a modular and extensible component model that can be used with various programming languages to design, implement, deploy and reconfigure various systems and applications, from operating systems to middleware platforms and to graphical user interfaces. The main characteristics of this model are recursivity (components can be nested in composite components - hence the "Fractal" name) and reflexivity (components have full introspection and intercession capabilities). The Fractal model is also language independent, and fully modular and extensible.

contact: Jean-Bernard STEFANI

Workplan

  • add PKUAS features to the Fractal component model to support autonomous behavior
  • joint work on ADL to combine Fractal and ABC ADLs
  • use Fractal to define PKUAS component framework
  • use of Fractal to specify middleware architecture: build a formal specification of fractal and of ADL to support reconf, that can be used for verification, model checking of software architecture

Resources