<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Web application refactoring and self-adaptation to hosting platform change: an educational web portal case study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ljubica Kazi</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zoltan Kazi</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dragica Radosav</string-name>
          <email>dragica.radosav@tfzr.rs</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dijana Karuovic</string-name>
          <email>dijana.karuovic@tfzr.rs</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ivana Berkovic</string-name>
          <email>ivana.berkovic@tfzr.rs</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Biljana Radulovic</string-name>
          <email>biljana.radulovic@tfzr.rs</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tatjana Lojovic</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Preschool Institution</institution>
          ,
          <addr-line>Karadziceva 3a, Zrenjanin</addr-line>
          ,
          <country country="RS">Serbia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Novi Sad, Technical Faculty “Mihajlo Pupin”</institution>
          ,
          <addr-line>Djure Djakovica bb, Zrenjanin</addr-line>
          ,
          <country country="RS">Serbia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper presents a web portal created for Preschool institution in Zrenjanin, Serbia. This portal is created to present most relevant information and it is based on underlying CMS (Content Management System). The web portal was created in 2014 and refactored in 2020, in aim to adjust to new PHP hosting platform. In solving problem of uncertain exact time of hosting upgrade (shift from PHP 5 to PHP 7 support), it was necessary to include automation in detecting and adjustments to hosting platform change. Therefore, self-adaptation mechanism was developed and included in the solution, to provide constant availability of web portal, regardless the hosting platform change. Self-adaptation mechanism is based on sensor-effector approach.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Self-adaptive software</kwd>
        <kwd>PHP</kwd>
        <kwd>web portal</kwd>
        <kwd>Content Management System</kwd>
        <kwd>software refactoring</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Software changes are inevitable, since their application is closely related to constant advancements
in hardware and software technology, as well as organizational transformations. Therefore, software
maintenance becomes one of the most relevant areas in software lifecycle, which implies the need for
systematic approach and standardization [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Lehman [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] has defined software evolution with eight
laws that present the continual adjustments of software to user needs and requirements, which often
leads to functional improvements and increase of complexity.
      </p>
      <p>
        With introducing agile approach to software development [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], “responding to change over
following a plan” became one of the most important approaches. One of particular areas of interest is
research related to agile web development methodologies [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Prediction of future software change
requests attracts attention, particularly related to frequency analysis [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], as well as in the context of
Agile Software Engineering [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Usually software change requests have their roots in client
requirements which are business-process changes elicited, while less frequently software changes are
triggered by software and hardware technology change. User-induced change requests can be resolved
more quickly (within existing technology stack), while technology-related software change requests
sometimes require system reengineering, which is time consuming. Recent research endeavors are
related towards automation of software change requests assignments [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], to improve efficiency in this
area. Important aspect of software development includes selection of technology stack that could be
used for software design and development of digital platforms [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], but this selection also affects
software maintenance efficiency.
      </p>
      <p>This paper presents an approach to solve the problem of web applications adjustments to hosting
platform change, i.e. upgrade. It presents the concept and implementation of the self-adaptive
software solution that is able to adjust to the change of hosting platform technology. The approach is
illustrated with a case study of maintenance of the official web portal for Preschool Institution in
Zrenjanin, Serbia http://www.predskolskazr.edu.rs/. Particularly, it describes refactoring and
selfadaptive mechanism implementation in web application to support change of hosting platform from
PHP5 to PHP7 without any web portal functionality impact.</p>
      <p>The rest of the paper is organized as follows: second section presents background with theoretical
concepts, section three related work, section four functional and structural design of developed web
portal, section five the proposed approach to hosting platform related self-adaptation mechanism;
section six conclusions and future work, followed by acknowledgements and references list.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Theoretical Background</title>
      <p>
        The concept of adaptive software is defined as a software that dynamically adjusts behavior during
execution, as a response to changes in working environment [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], self-adaptive software is
defined as a system with closed feedback, where the control information is gathered from:
• The system itself (“self” component – relates to the state of the system, i.e. system
architecture elements)
• The working environment (“context” component – represents all that is in the operative
environment and that could influence behavior and characteristics of the system).
      </p>
      <p>
        It is relevant to make distinction in terminology [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] between:
• Adaptive software (or self-adaptive) – adaptation mechanism is included in the software
solution and automatically adjusts the behavior of software.
• Adaptable software – adaptation mechanism is placed externally in relation to the software
core functionality, adaptation mechanism is usually used for manual adjustments from
human user.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Related work</title>
      <p>
        Software adaptability and adaptivity has been developed by introducing appropriate concepts and
practical implementations. Some of relevant terms that were introduced in related work include: basic
adaptivity vs. intelligent adaptation [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], micro-adaptation (self-adaptation) vs. macro-adaptation
(human-dependent adaptation) [13]
      </p>
      <p>
        Implementation-related research of software adaptivity has addressed human perspective of
software adaptivity (i.e. adaptive user interface), operative environment and working context, as well
as software architecture [
        <xref ref-type="bibr" rid="ref12">12, 13</xref>
        ]. Diversity of approaches to support implementation of software
adaptivity include: interactive programming [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], rule-based systems [13, 14], model-based systems
[15, 16], graph-based adaptivity [13], software agents [14, 15]. Special aspects consider run-time
adaptivity [13, 16] and software evolution [16].
      </p>
      <p>Concept of adaptivity and self-adaptivity has been analyzed and implemented within variety of
software architectures and platforms: multimedia web-based systems [17], distributed software
systems [18] , Embedded Systems [19], software based on service-oriented architecture [20], mobile
applications [21].</p>
      <p>Self-adaptivity of web applications are mostly related to automated adaptation in relation to users
and their behavior [22, 23, 24, 25]. Structure aspect of self-adaptive software, particularly web
applications has been explored in [26, 27]. Diversity of techniques have been proposed and
implemented, particularly for web applications adaptivity:
• Model-based adaptive web applications [25, 28]
•
•
•
•</p>
      <p>Component-based adaptive web applications [26]
Active rules application in runtime adaptivity[29]
Service-oriented adaptive web applications[30]</p>
      <p>Adaptivity for interoperability with devices and services [20].</p>
      <p>Platform-related self-adaptivity has been addressed in PhD Thesis [31] that addresses context
management and situation-aware smart software systems.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Design of Preschool Web Portal</title>
    </sec>
    <sec id="sec-5">
      <title>4.1. Development History</title>
      <p>First version of web portal of Preschool Institution Zrenjanin has been designed and implemented
in 2014 as a PHP5/MySQL web application, in aim to present contents that were previously supported
by WordPress solution. This solution has been presented in [31].</p>
      <p>Refactoring of this solution from 2014 has been conducted in 2020, in aim to transform existing
solution to be active at new hosting platform – PHP 7. Graphical design and functionality remained
the same in 2020 version, but the underlying implementation was changed by refactoring to
objectoriented solution and it now included hosting platform-related self-adaptive mechanism.</p>
      <p>The similar idea of hosting platform-related self-adaptive mechanism was implemented in 2018,
within the same institution web portal subsection, related to a particular project of supporting
interinstitutional data integration and decision support (published in [32]), but it was not implemented
for the primary web portal of Preschool Institution, until 2020. Therefore, the solution of
implementing hosting platform-related self-adaptive mechanism for the primary web portal of
Preschool institution Zrenjanin, Serbia (www.predskolskazr.edu.rs) [33] is presented in this paper.
4.2.</p>
    </sec>
    <sec id="sec-6">
      <title>The Functionality of Preschool Web Portal</title>
      <p>Preschool web portal [33] was designed as a multi-page PHP-based web application, which has
two mayor parts:</p>
      <p>Electronic
admissions</p>
      <p>About –
history and
organization</p>
      <p>Kindergardens
Advices
Gallery
Contact
institution
work</p>
      <p>Events</p>
      <p>Public procurements
•
•</p>
      <p>Administrative module (personalized for web portal administrator) – Content management
system, that is used to enable administrator to enter texts and upload documents and
images, as additional material with texts.</p>
      <p>Presentation module (non-personalized, any web portal visitor) – with static pages (pure
HTML) and dynamic pages (reading content recorded within the administrative module.
Following table presents list of web pages and their use:</p>
      <p>Adding news (data are categorized
and presented in news, events and
procurements pages)</p>
      <p>Tabular presentation of news</p>
      <p>News deletion
Upload of files (attachments to news)</p>
      <p>Attachments description data entry</p>
      <p>Tabular presentation of
attachments</p>
      <p>Deleting attachments records
all</p>
      <p>Next figure presents UML USE CASE diagram with presentation of software functions supported
in both segments – presentational and CMS.
Presentational part of web portal is presented at Figure 3, including news with images or
documents as attachment to the main text of the news.</p>
      <p>Administrative part of web portal is presented at Figure 4, with an example of web form for news
data entry and recording, as well as attachment upload and web form for data entry about additional
data about the attachment.</p>
      <p>Figure 4. Essential pages of CMS part of Zrenjanin Preschool Institution web portal [33]</p>
    </sec>
    <sec id="sec-7">
      <title>5. Refactoring</title>
    </sec>
    <sec id="sec-8">
      <title>Mechanism and</title>
    </sec>
    <sec id="sec-9">
      <title>Proposed</title>
    </sec>
    <sec id="sec-10">
      <title>Hosting</title>
      <p>platform-related</p>
    </sec>
    <sec id="sec-11">
      <title>Self-adaptive</title>
      <p>The structure of web portal [33] is presented also with UML component diagram at Figure 5.
The problem that this solution addressed was uncertainty of the exact time of shifting the hosting
platform of the portal [33] from PHP5 to PHP7 support. Therefore, there should be a self-adaptation
mechanism based on “sensors-effectors” approach, that could provide smooth transition from
previous to upgraded hosting platform, without affecting the availability and functionality of the
portal. The portal should have 24/7 availability.</p>
      <p>At the lowest place in hierarchy there are semantically-rich classes that inherit class “Tabela”.
By inheritance, they receive technology part, but they use methods from Tabela by inserting
semantics, i.e. SQL queries according to appropriate database table they refer to.
The hierarchy of classes at Figure 6 enables application of “sensor-effector approach” at self-adaptive
mechanism, but also the distinction of technology and semantics enables better support to any future
maintenance needs.</p>
      <p>The proposed solution of the self-adaptation mechanism within web portal [33] is presented with parts
and appropriate PHP code listings, to elaborate the approach:
•</p>
      <p>Sensor part – detecting PHP version (within the Connection class)</p>
      <sec id="sec-11-1">
        <title>Listing 1. The sensor part of self-adaptation mechanism</title>
        <p>•
•</p>
        <p>Decision part – deciding which type of commands to use (PHP5 or PHP7)
Effector part – apply the selected type of commands to regular work of data entry and data
presentation
Listing 2. The decision and effector part of self-adaptation mechanism for connecting to a database
Listing 3. The decision and effector part of self-adaptation mechanism for running queries upon
database</p>
      </sec>
    </sec>
    <sec id="sec-12">
      <title>6. Conclusions and Future Work</title>
      <p>The research problem of this paper is related to self-adaptivity of web applications, regarding
hosting platform technology change. This problem is particularly important during software
maintenance, when shifting from one to another technology support, i.e. upgrading the hosting
technology.</p>
      <p>This paper presented the theoretical background related to the concepts of self-adaptive software,
as well as related work with similar research results. It could be concluded that there are many
research results related to adaptation of software to a user, as well as results in diversity of software
adaptation techniques, methods and approaches. It is presented that there are also significant research
results in the area of adaptive web application. However, there are not many previous research results
related to changes of technology at web application hosting and approaches how to solve the problem
of smooth transition between previous and upgraded hosting platform. In this context, this paper
contributes with addressing these issues and proposes a simple solution based on “sensor-effector”
approach.</p>
      <p>Future research could be conducted to explore the impact of technology change frequency to
software change requirements by classification and measurements of change requests according to the
roots (technology, business needs, user requirements and needs). Other research could be related to
approaches and techniques of automating software reengineering and creating self-adaptive
mechanism, based on introducing new programming languages or their upgraded versions.</p>
    </sec>
    <sec id="sec-13">
      <title>7. Acknowledgements</title>
      <sec id="sec-13-1">
        <title>This research has been conducted within two projects:</title>
        <p>1) “Platform adaptation of existing PHP web application as a administration system of official
web site of Preschool institution, Zrenjanin (www.predskolskazr.edu.rs) and migration to new
hosting platform“, financed by Preschool Institution Zrenjanin,
2) “Development of software tools for analysis and improvements of business processes”, project
No: TR32044, financed by Ministry of science, education and technology development of
Republic of Serbia.</p>
      </sec>
    </sec>
    <sec id="sec-14">
      <title>8. References</title>
      <p>[13] Derakhshanmannesh, M, Ebert J, Amoui M, Tahvildari L. “Introducing Adaptivity to Achieve
Longevity for Software”. Lecture Notes in Informatics, Software Engineering 2011 Workshop,
Bonn. (2011). 59-70.
[14] Xiao, L, Greer D. “Software Adaptivity through XML-based business rules and agents”, 17th Int.</p>
      <p>Conference on Software Engineering and Knowledge Engineering (SEKE'05),Taipei, China,
(2005). 62-67.
[15] Xiao, L, Greer D. “Adaptive Agent Model: Software Adaptivity using an Agent-oriented
Model</p>
      <p>Driven Architecture”. Information and Software Technology 51, (2009): 109-137.
[16] Manesh M, Ebert J. “Software Evolution Towards Model-Centric Runtime Adaptivity.”
Proceedings of the Euromicro Conference on Software Maintenance and Reengineering, CSMR ·
(2011).
[17] Michael Hinz, Zoltan Fiala: “AMACONT – A System Architecture for Adaptive Multimedia</p>
      <p>Web Applications”, Published in Berliner XML Tage. (2004)
[18] Guillaume Gauvrit, Erwan Daubert, Françoise André. SAFDIS: „A Framework to Bring
SelfAdaptability to Service-Based Distributed Applications”, 36th EUROMICRO Conference on
Software Engineering and Advanced Applications (SEAA), Sep 2010, Lille, France. (2010):
211–218.
[19] Wong S, Brandon A, Anjam F, Seedorf R, Giorgi R, Yu Z, Puzovic N, Mckee S. A, Sjalander M,
Carro L, Keramidas G: “Early Results from ERA –Embedded Reconfigurable Architectures”
IEEE International Conference on Industrial Informatics (INDIN). (2011).
[20] Faical Felhi, Jalel Akaichi: “A new approach towards the self-adaptability of service-oriented
architectures to the context based n workflow”, (IJACSA) International Journal of Advanced
Computer Science and Applications, Vol. 3, No. 12, (2012).
[21] Eoin Martino Grua; Ivano Malavolta; Patricia Lago: “Self-Adaptation in Mobile Apps: a
Systematic Literature Study”, IEEE/ACM 14th International Symposium on Software
Engineering for Adaptive and Self-Managing Systems (SEAMS). (2019).
[22] Guntram Graef, Martin Gaedke: “Self-Adaptive Web Applications”, WCML: an Enabling
Technology for the Reuse in Object-oriented web engineering,8th International World Wide Web
Conference (WWW8), Toronto, Ontario, Canada, Elsevier, 102-103, (1999).
[23] Lorena Castaneda Bueno, Hausi A. Muller, Norha Villegas: “Self-Adaptive Applications: On the
development of Personalized Web-Tasking Systems”, ACM, 9th ICSE International Symposium
on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2014). (2014).
[24] Vasconcelos, L.G., Baldochi, L.A. and Santos, R.D.C. "An approach to support the construction
of adaptive Web applications", International Journal of Web Information Systems, Vol. 16 No. 2,
(2020): 171-199.
[25] Mona Fadavi, Raman Ramsin, "Methodologies for Model-Driven Development of Adaptive Web</p>
      <p>Applications: An Analytical Survey," Journal of Software vol. 11, no. 1.(2016): 94-109.
[26] Zoltan Fiala: „Design and Development of Component-based Adaptive Web Applications“ PhD</p>
      <p>Thesis, Technischen Universitƒat Dresden Fakultаt, (2007)
[27] Karzan Wakl, Dayang N.A. Jawawi: “A New Adaptive Model for Web Engineering Methods to
Develop Modern Web Applications”, ICSIM2018: Proceedings of the 2018 International
Conference on Software Engineering and Information Management, (2018): 32–39.
[28] Tao Jiang; Jing Ying; Minghui Wu; Canghong Jin: A method for model-driven development of
adaptive web applications, IEEE 12th International Conference on Computer Supported
Cooperative Work in Design, (2008).
[29] Florian Daniel, Maristella Matera, Alessandro Morandi, Matteo Mortari, Giuseppe Pozzi:
“Active Rules for Runtime Adaptivity Management”, AEWSE. (2007).
[30] David Parsons, Sebastian Schroeder: Adaptive Information Systems for the Web 2.0: Developing
a Mobile Learning Architecture”, UKAIS (2006).</p>
      <p>Norha M. Villegas: “Context Management and Self-Adaptivity for Situation-Aware Smart
Software Systems”, Докторска дисертација, University of Victoria. (2013).
[31] Ljubica Kazi, Zoltan Kazi, Tatjana Lojovic: „Preschool web portal development“, Proceedings of
International conference on Applied internet and information technologies 2017, 5 Octobar 2017,
Proceedings, ISBN 978-86-7672-304-1, (2017): 145-152.
[32] Ljubica Kazi, Dijana Karuović, Dragica Radosav, Tatjana Lojović, Aleksandra
KalezićVignjević and Olga Lakićević: Adaptivity of Web Applications – Case of Preschool Web Portal
for Interinstitutional Data Integration and Analysis, TIE2020, Cacak, (2020): 171-177.
[33] Preschool Institution Zrenjanin official web portal, www.predskolskazr.edu.rs [visited:
14.9.2021.]</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1] ISO/IEC 14764:2006
          <string-name>
            <given-names>Software</given-names>
            <surname>Engineering - Software Life Cycle</surname>
          </string-name>
          Processes - Maintenance https://www.iso.org/standard/39064.html
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Manny</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Lehman</surname>
          </string-name>
          ,.
          <source>“Laws of software evolution revisited”</source>
          .
          <source>Software process technology</source>
          . Springer Berlin Heidelberg, (
          <year>1996</year>
          ):
          <fpage>108</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>[3] Manifesto for agile software development</article-title>
          , https://agilemanifesto.org/ [visited: September 14,
          <year>2021</year>
          .]
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Nasrin</given-names>
            <surname>Ghasempour</surname>
          </string-name>
          <string-name>
            <surname>Maleki</surname>
          </string-name>
          , Raman Ramsin:
          <article-title>“Agile Web Development Methodologies: A survey and Evaluation”</article-title>
          , In: R. Lee (ed.) Software Engineering Research, Management and Applications,
          <source>Studies in Computational Intelligence</source>
          <volume>722</volume>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Samir</given-names>
            <surname>Omanovic</surname>
          </string-name>
          , Emir Buza. “
          <article-title>Importance of Future Change Requests Frequency Analysis Factor for Solution Selection and Software Maintenance”</article-title>
          , In: Damir Boras, Nives Mikelic Preradovic, Francisco Moya, Mohamed Roushdy,
          <string-name>
            <surname>Abdel-Badeeh M. Salem</surname>
          </string-name>
          (ed.)
          <source>Recent Advances in Information Science</source>
          , WSEAS (
          <year>2013</year>
          ):
          <fpage>246</fpage>
          -
          <lpage>251</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Samir</given-names>
            <surname>Omanovic</surname>
          </string-name>
          , Emir Buza. “
          <article-title>Future Change Requests in Agile Software Engineering”</article-title>
          .
          <source>International Journal of Computers, Issue</source>
          <volume>3</volume>
          , Volume
          <volume>7</volume>
          (
          <year>2013</year>
          ):
          <fpage>91</fpage>
          -
          <lpage>98</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Yguaratã</given-names>
            <surname>Cerqueira</surname>
          </string-name>
          <string-name>
            <surname>Cavalcanti</surname>
          </string-name>
          ,
          <article-title>Ivan do Carmo Machado, Paulo Anselmo da Motal S</article-title>
          .Neto, Eduardo Santana de Almeida. “
          <article-title>Towards semi-automated assignment of software change requests”</article-title>
          .
          <source>Journal of Systems and Software</source>
          , Volume
          <volume>115</volume>
          (
          <year>2016</year>
          ):
          <fpage>82</fpage>
          -
          <lpage>101</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Evgeny</given-names>
            <surname>Nikulchev</surname>
          </string-name>
          , Dmitry Illin, Alexander Gusev. “
          <article-title>Technology Stack Selection Model for Software Design of Digital Platforms”</article-title>
          . Mathematics, MDPI, Special issue “
          <source>Applied and Computational Mathematics for Digital Environments”</source>
          , Vol
          <volume>9</volume>
          , No 4,
          <issue>308</issue>
          (
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Zhang</surname>
            <given-names>Ј</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cheng</surname>
            <given-names>B.H.C.</given-names>
          </string-name>
          „
          <article-title>Model-Based Development of Dynamically Adaptive Software”</article-title>
          .
          <source>ICSE'06</source>
          , Shanghai, China. (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>McKinley</surname>
            <given-names>P. K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadjadi</surname>
            <given-names>S. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kasten</surname>
            <given-names>E. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cheng</surname>
            <given-names>B. H. C.</given-names>
          </string-name>
          “
          <article-title>Composing adaptive software”</article-title>
          .
          <source>IEEE Computer</source>
          , vol.
          <volume>37</volume>
          , no.
          <issue>7</issue>
          . (
          <year>2004</year>
          ):
          <fpage>56</fpage>
          -
          <lpage>64</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Salehie</surname>
            <given-names>M</given-names>
          </string-name>
          , Tahvildari L. “
          <string-name>
            <surname>Self-Adaptive</surname>
            <given-names>Software</given-names>
          </string-name>
          :
          <article-title>Landscape and Research Challenges”</article-title>
          .
          <source>ACM Transactions on Autonomous and Adaptive Systems</source>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Magnaudet</surname>
            ,
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chatty</surname>
            <given-names>S.. “</given-names>
          </string-name>
          <article-title>What should adaptivity mean to interactive software programmers?” EICS 2014, ACM SIGCHI symposium on Engineering interactive computing systems</article-title>
          , Rome, Italy. (
          <year>2014</year>
          ):
          <fpage>13</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>