<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of hal-02545601</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-05-04T04:37:17+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">JAC Milestone 2001</title>
            <title xml:lang="fr">JAC étape 2001</title>
            <author role="aut">
              <persName>
                <forename type="first">Lionel</forename>
                <surname>Seinturier</surname>
              </persName>
              <idno type="halauthorid">10686-0</idno>
              <affiliation ref="#struct-408318"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Renaud</forename>
                <surname>Pawlak</surname>
              </persName>
              <idno type="halauthorid">105557-0</idno>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Laurence</forename>
                <surname>Duchien</surname>
              </persName>
              <email type="md5">3504932c3f6ffba0aba937354f8a4209</email>
              <email type="domain">univ-lille.fr</email>
              <idno type="idhal" notation="string">laurence-duchien</idno>
              <idno type="idhal" notation="numeric">741600</idno>
              <idno type="halauthorid" notation="string">45557-741600</idno>
              <idno type="ORCID">https://orcid.org/0000-0002-4517-5862</idno>
              <idno type="GOOGLE SCHOLAR">https://scholar.google.fr/citations?user=wwofzdYAAAAJ&amp;hl=fr</idno>
              <idno type="IDREF">https://www.idref.fr/033697787</idno>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Gérard</forename>
                <surname>Florin</surname>
              </persName>
              <idno type="halauthorid">105558-0</idno>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Lip6</forename>
                <surname>Publications</surname>
              </persName>
              <email type="md5">48f930374cf1d03f2eafeaae16bb5814</email>
              <email type="domain">lip6.fr</email>
            </editor>
          </titleStmt>
          <editionStmt>
            <edition n="v1" type="current">
              <date type="whenSubmitted">2020-04-17 11:32:58</date>
              <date type="whenModified">2023-04-11 15:16:28</date>
              <date type="whenReleased">2020-04-20 12:34:20</date>
              <date type="whenProduced">2001-11-14</date>
              <date type="whenEndEmbargoed">2020-04-17</date>
              <ref type="file" target="https://hal.science/hal-02545601v1/document">
                <date notBefore="2020-04-17"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://hal.science/hal-02545601v1/file/lip6.2001.025.pdf" id="file-2545601-2412999">
                <date notBefore="2020-04-17"/>
              </ref>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="196566">
                <persName>
                  <forename>Lip6</forename>
                  <surname>Publications</surname>
                </persName>
                <email type="md5">48f930374cf1d03f2eafeaae16bb5814</email>
                <email type="domain">lip6.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-02545601</idno>
            <idno type="halUri">https://hal.science/hal-02545601</idno>
            <idno type="halBibtex">seinturier:hal-02545601</idno>
            <idno type="halRefHtml">[Research Report] lip6.2001.025, LIP6. 2001</idno>
            <idno type="halRef">[Research Report] lip6.2001.025, LIP6. 2001</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-2545601-2412999"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="UPMC" corresp="SORBONNE-UNIVERSITE">Université Pierre et Marie Curie</idno>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="LIP6" corresp="SORBONNE-UNIVERSITE">Laboratoire d'Informatique de Paris 6</idno>
            <idno type="stamp" n="LARA">LARA</idno>
            <idno type="stamp" n="UPMC_POLE_1" corresp="UPMC">UPMC Pôle 1</idno>
            <idno type="stamp" n="SORBONNE-UNIVERSITE">Sorbonne Université</idno>
            <idno type="stamp" n="SU-SCIENCES" corresp="SORBONNE-UNIVERSITE">Faculté des Sciences de Sorbonne Université</idno>
            <idno type="stamp" n="LIP6-REPORT" corresp="LIP6">Rapports LIP6</idno>
            <idno type="stamp" n="SU-TI">Sorbonne Université - Texte Intégral</idno>
            <idno type="stamp" n="ALLIANCE-SU"> Alliance Sorbonne Université</idno>
          </seriesStmt>
          <notesStmt>
            <note type="report" n="6">Research Report</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">JAC Milestone 2001</title>
                <title xml:lang="fr">JAC étape 2001</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Lionel</forename>
                    <surname>Seinturier</surname>
                  </persName>
                  <idno type="halauthorid">10686-0</idno>
                  <affiliation ref="#struct-408318"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Renaud</forename>
                    <surname>Pawlak</surname>
                  </persName>
                  <idno type="halauthorid">105557-0</idno>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Laurence</forename>
                    <surname>Duchien</surname>
                  </persName>
                  <email type="md5">3504932c3f6ffba0aba937354f8a4209</email>
                  <email type="domain">univ-lille.fr</email>
                  <idno type="idhal" notation="string">laurence-duchien</idno>
                  <idno type="idhal" notation="numeric">741600</idno>
                  <idno type="halauthorid" notation="string">45557-741600</idno>
                  <idno type="ORCID">https://orcid.org/0000-0002-4517-5862</idno>
                  <idno type="GOOGLE SCHOLAR">https://scholar.google.fr/citations?user=wwofzdYAAAAJ&amp;hl=fr</idno>
                  <idno type="IDREF">https://www.idref.fr/033697787</idno>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Gérard</forename>
                    <surname>Florin</surname>
                  </persName>
                  <idno type="halauthorid">105558-0</idno>
                </author>
              </analytic>
              <monogr>
                <idno type="reportNumber">lip6.2001.025</idno>
                <imprint>
                  <date type="datePub">2001-11-14</date>
                </imprint>
                <authority type="institution">LIP6</authority>
              </monogr>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">Aspect-Oriented Programming</term>
                <term xml:lang="en">JAC</term>
                <term xml:lang="en">Java</term>
                <term xml:lang="en">framework</term>
                <term xml:lang="fr">JAC</term>
                <term xml:lang="fr">Java</term>
                <term xml:lang="fr">cadre applicatif</term>
                <term xml:lang="fr">Programmation par aspects</term>
              </keywords>
              <classCode scheme="halDomain" n="info">Computer Science [cs]</classCode>
              <classCode scheme="halTypology" n="REPORT">Reports</classCode>
              <classCode scheme="halOldTypology" n="REPORT">Reports</classCode>
              <classCode scheme="halTreeTypology" n="REPORT.RESREPORT">Reports - Research report</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>JAC (Java Aspect Components) is a framework for aspect-oriented programming in Java. It is developed as a joint research project between the CEDRIC-CNAM and LIP6 computer science laboratories. This report gives a snapshot of the project as of September 2001.Unlike languages such as AspectJ which are mostly class-based, JAC is object-based and does not require any language extensions to Java. It uses the Javassist class load-time MOP. An aspect program in JAC is a set of aspect objects that can be dynamically deployed and undeployed on top of running application objects. Aspect objects may define three kinds of aspect methods: wrapping methods (that wrap application methods and provide the ability to run code before and after the wrapped methods), role methods (that add new functionalities to application objects), and exception handlers. The aspects composition issue is handled through a well-defined wrapping controller that specifies for each wrapped object at wrap-time, runtime or both, the execution order of aspect objects.</p>
            </abstract>
            <abstract xml:lang="fr">
              <p>JAC (Java Aspect Components) est un cadre logiciel pour la programmation orientée aspect en Java. C'est un projet de recherche commun aux laboratoires informatiques CEDRIC-CNAM et LIP6. Ce rapport fournit un instantané du projet tel qu'il se présente en septembre 2001.Contrairement aux langages tels AspectJ qui adoptent une approche essentiellement basée sur les classes, JAC adopte une granularité objet et ne requiert aucune extension syntaxique du langage Java. Il utilise Javassist qui est un MOP intervenant au moment du chargement des classes. Un programme orienté aspect avec JAC est un ensemble d'objets d'aspects qui peuvent être dynamiquement déployés et retirés sur des objets applicatifs en cours d'exécution. Les objets d'aspects peuvent définir trois types de méthodes d'aspects : des méthodes encapsulantes (qui encapsulent des méthodes applicatives et permettent d'exécuter du code avant et après la méthode encapsulée), des méthodes de rôle (qui ajoutent de nouvelles fonctionnalités aux objets applicatifs) et des gestionnaires d'exceptions. Le problème de la composition d'aspects est traité à l'aide d'un contrôleur d'encapsulation bien défini qui spécifie pour chaque objet encapsulé, au moment de l'encapsulation, à l'exécution ou dans les deux cas, l'ordre d'exécution des objets d'aspects.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="researchteam" xml:id="struct-408318" status="OLD">
          <orgName>Systèmes répartis et coopératifs</orgName>
          <orgName type="acronym">SRC</orgName>
          <date type="start">1997-01-01</date>
          <date type="end">2003-12-31</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
          </desc>
          <listRelation>
            <relation active="#struct-233" type="direct"/>
            <relation active="#struct-93591" type="indirect"/>
            <relation name="UMR7606" active="#struct-441569" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-233" status="OLD">
          <idno type="RNSR">199712651U</idno>
          <idno type="ROR">https://ror.org/05krcen59</idno>
          <orgName>Laboratoire d'Informatique de Paris 6</orgName>
          <orgName type="acronym">LIP6</orgName>
          <date type="start">1997-01-01</date>
          <date type="end">2017-12-31</date>
          <desc>
            <address>
              <addrLine>4 Place JUSSIEU 75252 PARIS CEDEX 05</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.lip6.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-93591" type="direct"/>
            <relation name="UMR7606" active="#struct-441569" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-93591" status="OLD">
          <idno type="ROR">https://ror.org/02en5vm52</idno>
          <orgName>Université Pierre et Marie Curie - Paris 6</orgName>
          <orgName type="acronym">UPMC</orgName>
          <date type="end">2017-12-31</date>
          <desc>
            <address>
              <addrLine>4 place Jussieu - 75005 Paris</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.upmc.fr/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>