Logo PTI
Polish Information Processing Society
Logo FedCSIS

Annals of Computer Science and Information Systems, Volume 8

Proceedings of the 2016 Federated Conference on Computer Science and Information Systems

A Development Process Based on Variability Modeling for Building Adaptive Software Architectures

, ,

DOI: http://dx.doi.org/10.15439/2016F170

Citation: Proceedings of the 2016 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 8, pages 17151718 ()

Full text

Abstract. Adaptive software is a class of software which is able to dynamically modify at runtime its own internal structure and hence its behavior in response to changes in its operating environment. Adaptive software development has been an emerging research area of software engineering in the last decade. Many existing approaches use techniques issued from software product lines (SPLs) to develop adaptive software. They propose tools, frameworks or languages to build adaptive software architectures (ASAs) but do not guide developers on the process of using them. In this paper, we propose an adaptive software architecture development process to guide developers building an ASA. One of the important activities of this development process is software specification based on models. In our process, we propose to use the models and basic tools of Common Variability Language (CVL, proposed as an OMG standard) to generate an ASA and a subprocess to specify these models.


  1. J. Kramer and J. Magee, “The evolving philosophers problem: Dynamic change management,” IEEE Transaction on Software Engineering, vol. 16, no. 11, pp. 1293–1306, 1990. http://dx.doi.org/10.1109/32.60317
  2. Y. Vandewoude, P. Ebraert, Y. Berbers, and T. D’Hondt, “Tranquility: A low disruptive alternative to quiescence for ensuring safe dynamic updates,” IEEE Transaction on Software Engineering, vol. 33, no. 12, pp. 856–868, 2007. http://dx.doi.org/10.1109/TSE.2007.70733
  3. C. Parra, X. Blanc, A. Cleve, and L. Duchien, “Unifying design and runtime software adaptation using aspect models,” Science of Computer Programming, vol. 76, no. 12, pp. 1247 – 1260, 2011. http://dx.doi.org/10.1016/j.scico.2010.12.005
  4. J. Lee and K. C. Kang, “A feature-oriented approach to developing dynamically reconfigurable products in product line engineering,” in Proceedings of the 10th International on Software Product Line Conference, ser. SPLC ’06, Washington, DC, USA, 2006. http://dx.doi.org/10.1109/S-PLINE.2006.1691585. ISBN 0-7695-2599-7 pp. 131–140.
  5. S. Hallsteinsen, E. Stav, A. Solberg, and J. Floch, “Using product line techniques to build adaptive systems,” in Proceedings of the 10th International on Software Product Line Conference, ser. SPLC ’06. Washington, DC, USA: IEEE Computer Society, 2006. http://dx.doi.org/10.1109/SPLINE.2006.1691586. ISBN 0-7695-2599-7 pp. 141–150.
  6. R. Capilla, J. Bosch, and K.-C. Kang, “Systems and software variability management: Concepts, tools and experiences,” in Systems and Software Variability Management, 2013. http://dx.doi.org/10.1007/978-3-642-36583-6. ISBN 978-3-642-36582-9
  7. G. Pascual, M. Pinto, and L. Fuentes, “Self-adaptation of mobile systems driven by the common variability language,” Future Generation Computer Systems, 2014. http://dx.doi.org/10.1016/j.future.2014.08.015
  8. P. Trinidad, A. R. Cortés, J. Peña, and D. Benavides, “Mapping feature models onto component models to build dynamic software product lines,” in 1st SPLC Workshop on Dynamic Software Product Line (DSPL), Kyoto, Japan, 2007, pp. 51–56.
  9. O. Haugen, A. Wkasowski, and K. Czarnecki, “Cvl: Common variability language,” in Proceedings of the 17th International Software Product Line Conference, ser. SPLC ’13. New York, NY, USA: ACM, 2013. http://dx.doi.org/10.1145/2491627.2493899. ISBN 978-1-4503-1968-3 pp. 277–277.
  10. K. Kang, S. Cohen, J. Hess, W. Novak, and A. Peterson, “Featureoriented domain analysis (FODA) feasibility study,” Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, Tech. Rep. CMU/SEI-90-TR-021, 1990.
  11. K. Pohl, G. Böckle, and F. van der Linden, “Software product line engineering: Foundations, principles, and techniques.” Springer-Verlag Berlin Heidelberg, 2005. http://dx.doi.org/10.1007/3-540-28901-1. ISBN 978-3-540-28901-2 p. 467.