Summary: | A recent initiative of the European Space Agency (ESA) aims at the definition and adoption of a software reference architecture for use in on-board software of future space missions.
Our PhD project placed in the context of that effort.
At the outset of our work we gathered all the industrial needs relevant to ESA and all the main European space stakeholders and we were able to consolidate a set of technical high-level requirements for the fulfillment of them.
The conclusion we reached from that phase confirmed that the adoption of a software reference architecture was
indeed the best solution for the fulfillment of the high-level requirements.
The software reference architecture we set on building rests on four constituents:
(i) a component model, to design the software as a composition of individually verifiable and reusable software units;
(ii) a computational model, to ensure that the architectural description of the software is statically analyzable;
(iii) a programming model, to ensure that the implementation of the design entities conforms
with the semantics, the assumptions and the constraints of the computational model;
(iv) a conforming execution platform, to actively preserve at run time the properties asserted by static analysis.
The nature, feasibility and fitness of constituents (ii), (iii) and (iv), were already proved by the author in an
international project that preceded the commencement of the PhD work.
The core of the PhD project was therefore centered on the design and prototype implementation of constituent (i), a component model.
Our proposed component model is centered on:
(i) rigorous separation of concerns, achieved with the support for design views and by careful allocation of concerns to the dedicated software entities;
(ii) the support for specification and model-based analysis of extra-functional properties;
(iii) the inclusion space-specific concerns.
|