Team sardes

Overall Objectives
Scientific Foundations
New Results
Contracts and Grants with Industry

Section: Scientific Foundations

Components and semantics

The primary foundations of the software component technology developed by Sardes relate to the component-based software engineering [105] , and software architecture [103] fields. Nowadays, it is generally recognized that component-based software engineering and software architecture approaches are crucial to the development, deployment, management and maintenance of large, dependable software systems [52] . Several component models and associated architecture description languages have been devised over the past fifteen years: see e.g. [83] for an analysis of recent component models, and [87] , [59] for surveys of architecture description languages.

To natively support configurability and adaptability in systems, Sardes component technology also draws from ideas in reflective languages [78] , and reflective middleware [81] , [57] , [64] . Reflection can be used both to increase the separation of concerns in a system architecture, as pioneered by aspect-oriented programming [79] , and to provide systematic means for modifying a system implementation.

The semantical foundations of component-based and reflective systems are not yet firmly established, however. Despite much work on formal foundations for component-based systems [84] , [47] , several questions remain open. For instance, notions of program equivalence when dealing with dynamically configurable capabilities, are far from being understood. To study the formal foundations of component-based technology, we try to model relevant constructs and capabilities in a process calculus, that is simple enough to formally analyze and reason about. This approach has been used successfully for the analysis of concurrency with the $ \pi$ -calculus [90] , or the analysis of object-orientation [48] . Relevant developments for Sardes endeavours include behavioral theory and coinductive proof techniques [99] , [97] , process calculi with localities [60] , [62] , [65] , and higher-order variants of the $ \pi$ -calculus [98] , [72] .


Logo Inria