Home > Research > Publications & Outputs > μ-DSU


Text available via DOI:

View graph of relations

μ-DSU: A Micro-Language Based Approach to Dynamic Software Updating

Research output: Contribution to journalJournal article

<mark>Journal publication date</mark>01/2018
<mark>Journal</mark>Computer Languages, Systems and Structures
Number of pages19
Pages (from-to)71-89
Early online date14/07/17
<mark>Original language</mark>English


Today software systems play a critical role in society’s infrastructures and many are required to provide uninterrupted services in their constantly changing environments. As the problem domain and the operational context of such software changes, the software itself must be updated accordingly. In this paper we propose to support dynamic software updating through language semantic adaptation; this is done through use of micro-languages that confine the effect of the introduced change to specific application features. Micro-languages provide a logical layer over a programming language and associate an application feature with the portion of the programming language used to implement it. Thus, they permit to update the application feature by updating the underlying programming constructs without affecting the behaviour of the other application features. Such a linguistic approach provides the benefit of easy addition/removal of application features (with a special focus on non-functional features) to/from a running application by separating the implementation of the new feature from the original application, allowing for the application to remain unaware of any extensions. The feasibility of this approach is demonstrated with two studies; its benefits and drawbacks are also analysed.

Bibliographic note

This is the author’s version of a work that was accepted for publication in Computer Languages, Systems and Structures . Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Computer Languages, Systems and Structures, 51, 2018 DOI: 10.1016/j.cl.2017.07.003