Towards a Domain-Specific Language to Design Adaptive Software: the DMLAS Approach
PDF

Keywords

Adaptation
adaptive software
context
design
domainspecific language
model-driven engineering
notation

How to Cite

Towards a Domain-Specific Language to Design Adaptive Software: the DMLAS Approach. (2016). Ingenieria Y Universidad, 20(2), 335-354. https://doi.org/10.11144/Javeriana.iyu20-2.tdsl
Almetrics
 
Dimensions
 

Google Scholar
 
Search GoogleScholar

Abstract

An adaptive software has the ability to modify its own behavior at runtime due to changes in the users and their context in the system, requirements, or environment in which the system is deployed, and thus, give the users a better experience. However, the development of this kind of systems is not a simple task. There are two main issues: (1) there is a lack of languages to specify, unambiguously, the elements related to the design phase. As a consequence, these systems are often developed in an ad-hoc manner, without the required formalism, augmenting the complexity in the process of derivation of design models to the next phases in the development cycle. (2) Design decisions and the adaptation model tend to be directly implemented into the source code and not thoroughly specified at the design level. Since the adaptation models become tangled with the code, system evolution becomes more difficult. To address the above issues, this paper proposes DMLAS, a Domain-Specific Language (DSL) to design adaptive systems. As proof of concept, this paper also provides a functional prototype based on the Sirius plugin for Eclipse. This prototype is a tool to model, in several layers of abstraction, the main components of an adaptive system. The notation used both in the models and the tool was validated against the nine principles for designing cognitively effective visual notations presented by Moody.

PDF

[1] K. Geihs and C. Evers, “User intervention in self-adaptive context-aware applications,”
in Proc. Australasian Computer Science Week Multiconference, 2016.
[2] C. Krupitzer, G. Schiele, S. VanSyckel, F. M. Roth. and C. Becker, “A survey on engineering
approaches for self-adaptive systems,” Pervasive Mob. Comput., vol. 17, pp. 184-206, 2015.
[3] C. Bauer and A. K. Dey, “Considering context in the design of intelligent systems: Current
practices and suggestions for improvement,” J. Syst Soft., vol. 112, pp. 26-47, 2016.
[4] R. de Lemos, H. Giese, H. A. Müller, M. Shaw, J. Andersson, M. Litoiu, B. Schmerl, G.
Tamura, N. M. Villegas, T. Vogel, and others, “Software engineering for self-adaptive
systems: A second research roadmap,” in Software Engineering for Self-Adaptive Systems II.
Berlin: Springer, 2013, pp. 1-32.
[5] T. Kosar, S. Bohram and M. Mernik, “Domain-Specific Languages: A systematic mapping
study,” Inform Software Tech., vol. 71, pp. 77-91, 2016.
[6] J. Bocanegra, J. Pavlich-Mariscal, and A. Carrillo-Ramos, “DMLAS: A domain-specific
language to specify the design of adaptive systems,” in 10CCC, 2015.
[7] Institute for Software Integrated Systems (ISIS), “Generic Modeling Environment – GME,”
[Online]. Available: http://www.isis.vanderbilt.edu/projects/gme/. [Accessed March 2016].
[8] H. Wei, S. Zuckerman, X. Li and G. Gao, “A dataflow programming language and its
compiler for streaming systems,” in Inte. Conf. Computational Sci., vol. 29, pp. 1289-1298,
2014.
[9] Eclipse Foundation, “Sirius,” [Online]. Available: https://eclipse.org/sirius/. [Accessed
March 2016].
[10] Y. Brun, R. Desmarais, K. Geihs, M. Litoiu, A. Lopes, M. Shaw, and M. Smit, “A design
space for self-adaptive systems,” in Software Engineering for Self-Adaptive Systems. Berlin:
Springer, 2013, pp. 33-50.
[11] F. Baude, L. Henrio, and C. Ruz, “A component-based programming model for autonomic
applications,” Programming Distributed and Adaptable Autonomous Components—the GCM/
ProActive Framework, vol. 45, no. 9, pp. 1189-1227, 2015.
[12] N. Gamez, L. Fuentes, and J. M. Troya, “Creating self-adapting mobile systems with
dynamic software product lines,” IEEE Software, vol. 32, no. 2, pp. 105-112, 2015.
[13] M. Berkane, L. Seinturier and M. Boufaida, “Using variability modelling and design
patterns for self-adaptive system engineering: Application to smart-home,” Int. J. Web
Eng. Technol., vol. 10, no. 1, pp. 65-93, 2015.
[14] X. Mao, M. Dong, L. Liu, and H. Wang, “An integrated approach to developing self-adaptive
software,” J. Inform. Sci. Eng., vol. 30, no. 4, pp. 1071-1085, 2014.
[15] T. Vogel and H. Giese, “Model-driven engineering of self-adaptive software with eurema,”
ACM TAAS, vol. 8, no. 4, p. 18, 2014.
[16] Y. E. Gelogo and H. Kim, “LotG: A Design of Adaptive u-learning System,” Asia-pacific
Journal of. Multimedia Services Convergent with Art, Humanities, and Sociology, vol. 5, no. 3,
pp. 239-249, 2014.
[17] P. J. Muñoz-Merino, C. D. Kloos, M. Muñoz-Organero, and A. Pardo, “A software engineeringmodel for the development of adaptation rules and its application in a hintingadaptive e-learning system,” Comput. Sci. Inform. Syst., vol. 12, no. 1, pp. 203-231, 2015.
[18] P. A. Akiki, A. K. Bandara, and Y. Yu, “Adaptive model-driven user interface development
systems,” ACM Comput. Surveys, vol. 47, no. 1, 2015.
[19] D. L. Moody, “The ‘physics’ of notations: toward a scientific basis for constructing visual
notations in software engineering,” IEEE Trans. Softw. Eng., , vol. 35, no. 6, pp. 756-779,
2009.

This journal is registered under a Creative Commons Attribution 4.0 International Public License. Thus, this work may be reproduced, distributed, and publicly shared in digital format, as long as the names of the authors and Pontificia Universidad Javeriana are acknowledged. Others are allowed to quote, adapt, transform, auto-archive, republish, and create based on this material, for any purpose (even commercial ones), provided the authorship is duly acknowledged, a link to the original work is provided, and it is specified if changes have been made. Pontificia Universidad Javeriana does not hold the rights of published works and the authors are solely responsible for the contents of their works; they keep the moral, intellectual, privacy, and publicity rights.

Approving the intervention of the work (review, copy-editing, translation, layout) and the following outreach, are granted through an use license and not through an assignment of rights. This means the journal and Pontificia Universidad Javeriana cannot be held responsible for any ethical malpractice by the authors. As a consequence of the protection granted by the use license, the journal is not required to publish recantations or modify information already published, unless the errata stems from the editorial management process. Publishing contents in this journal does not generate royalties for contributors.