Section: Scientific Foundations
Components and semantics
The primary foundations of the software component technology developed by Sardes relate to the component-based software engineering [111] , and software architecture [109] 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 [55] . Several component models and associated architecture description languages have been devised over the past fifteen years: see e.g. [88] for an analysis of recent component models, and [93] , [61] for surveys of architecture description languages.
To natively support configurability and adaptability in systems, Sardes component technology also draws from ideas in reflective languages [82] , and reflective middleware [86] , [59] , [67] . Reflection can be used both to increase the separation of concerns in a system architecture, as pioneered by aspect-oriented programming [83] , 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 [89] , [50] ,
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 -calculus [95] ,
or the analysis of object-orientation [51] . Relevant developments
for Sardes endeavours include behavioral theory and coinductive
proof techniques [105] , [103] , process calculi with localities
[63] , [65] , [68] , and higher-order variants
of the
-calculus [104] , [76] .