Contemporary large software systems rely on complex software ecosystems for managing infrastructural tasks. While these ecosystems facilitate software development, the software architect must put care in not relying on assumptions on behaviors and policies of the ecosystem that may change with platform evolution. Based on our experience with developing analyses within MARPLE, a framework for software comprehension and architecture reconstruction, we propose an abstract, context-aware style for specifying software. In the spirit of decoupling computation from coordination, this style decouples the specification of the computations to be performed from the specification of the contexts where they must take place. Software described in this way exposes its primitives at a level of abstraction closer to that of the framework, enabling better reasoning on the features of the design, easing correct implementation, and fostering a better interaction between the software and the framework it relies on.
ARCELLI FONTANA, F., Braione, P., Roveda, R., Zanoni, M. (2015). A context-aware style of software design. In Proceeding of the 2nd International Workshop on Context for Software Development (CSD 2015) (pp.15-19). Firenze : Institute of Electrical and Electronics Engineers Inc. [10.1109/CSD.2015.11].
A context-aware style of software design
ARCELLI FONTANA, FRANCESCAPrimo
;BRAIONE, PIETRO
;ROVEDA, RICCARDOPenultimo
;ZANONI, MARCOUltimo
2015
Abstract
Contemporary large software systems rely on complex software ecosystems for managing infrastructural tasks. While these ecosystems facilitate software development, the software architect must put care in not relying on assumptions on behaviors and policies of the ecosystem that may change with platform evolution. Based on our experience with developing analyses within MARPLE, a framework for software comprehension and architecture reconstruction, we propose an abstract, context-aware style for specifying software. In the spirit of decoupling computation from coordination, this style decouples the specification of the computations to be performed from the specification of the contexts where they must take place. Software described in this way exposes its primitives at a level of abstraction closer to that of the framework, enabling better reasoning on the features of the design, easing correct implementation, and fostering a better interaction between the software and the framework it relies on.File | Dimensione | Formato | |
---|---|---|---|
07181500.pdf
accesso aperto
Descrizione: articolo principale
Dimensione
127.27 kB
Formato
Adobe PDF
|
127.27 kB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.