<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article" dtd-version="3.0" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">109</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:3dc5f44e-8666-58db-bc76-a455210e8891</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">JUCS - Journal of Universal Computer Science</journal-title>
        <abbrev-journal-title xml:lang="en">jucs</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0948-695X</issn>
      <issn pub-type="epub">0948-6968</issn>
      <publisher>
        <publisher-name>Journal of Universal Computer Science</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3217/jucs-014-13-2212</article-id>
      <article-id pub-id-type="publisher-id">29131</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>D.2.7 - Distribution</subject>
          <subject> Maintenance</subject>
          <subject> and Enhancement</subject>
          <subject>I.6.4 - Model Validation and Analysis</subject>
          <subject>I.6.5 - Model Development</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>A Safe Dynamic Adaptation Framework for Aspect-Oriented Software Development</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Pérez-Toledano</surname>
            <given-names>Miguel A.</given-names>
          </name>
          <email xlink:type="simple">toledano@unex.es</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Navasa</surname>
            <given-names>Amparo</given-names>
          </name>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Murillo-Rodríguez</surname>
            <given-names>Juan-Manuel</given-names>
          </name>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Canal</surname>
            <given-names>Carlos</given-names>
          </name>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">University of Extremadura, Cáceres, Spain</addr-line>
        <institution>University of Extremadura</institution>
        <addr-line content-type="city">Cáceres</addr-line>
        <country>Spain</country>
      </aff>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">University of Málaga, Málaga, Spain</addr-line>
        <institution>University of Málaga</institution>
        <addr-line content-type="city">Málaga</addr-line>
        <country>Spain</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Miguel A. Pérez-Toledano (<email xlink:type="simple">toledano@unex.es</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2008</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>01</day>
        <month>07</month>
        <year>2008</year>
      </pub-date>
      <volume>14</volume>
      <issue>13</issue>
      <fpage>2212</fpage>
      <lpage>2238</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/C9FA846E-7EE2-5BB5-954D-4EB7DAFCD119">C9FA846E-7EE2-5BB5-954D-4EB7DAFCD119</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/7000386">7000386</uri>
      <permissions>
        <copyright-statement>Miguel A. Pérez-Toledano, Amparo Navasa, Juan-Manuel Murillo-Rodríguez, Carlos Canal</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="" xlink:type="simple">
          <license-p>This article is freely available under the J.UCS Open Content License.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>One focus of current software development is the re-use of components in the construction of systems. Software Adaptation facilitates the consequent need to adapt these components to the new environment by employing adaptors which are obtained automatically and hence with a certain guarantee of suitability, from formal descriptions of the interface behaviour. One appropriate technique for Software Adaptation is Aspect-Oriented Programming (AOP) which makes use of aspects to facilitate the dynamic adaptation of components transparently and non-intrusively. However, owing to the way that aspects are integrated, these can unexpectedly modify the functionality of the system, and consequently completely alter its semantics. It is hence necessary to study the final behaviour of the system to ensure its correctness after adding aspects for its adaptation. This study must go beyond just detecting problems at the protocol level, to analyze the potential semantic problems. This is the main focus of the present communication. We start from the Unified Modeling Language (UML 2.0) specification of both the initial system and the aspects. This specification is validated by generating an algebraic Calculus of Communicating Systems (CCS) description of the system. Next, extended (finite) state machines are automatically generated to verify, simulate, and test the modeled system's behaviour. The result of that process can also be compared with the behaviour of the new running system. To facilitate this task, we propose grouping components so as to centre the study on the points actually affected by the behaviour of the aspects.</p>
      </abstract>
    </article-meta>
  </front>
</article>
