Code Generation From Hierarchical Concurrency Specifications
Identifieur interne : 001517 ( Hal/Corpus ); précédent : 001516; suivant : 001518Code Generation From Hierarchical Concurrency Specifications
Auteurs : Denis Roegel ; Scott SmolkaSource :
Abstract
This paper explains how executable Java code is generated from hierarchical specifications in the Concurrency Factory specification and verification environment. Besides the ability to generate executable code from verified, abstract concurrency specifications, the paper's main contributions include: (1) new solutions to the well-known input/output guard-scheduling problem in the context of hierarchically configured concurrent systems; (2) code-generation algorithms that produce both thread-based Java code and distributed ADA code; (3) the use of the Concurrency Factory itself to verify an abstraction of each generated code module; in this sense, the Factory is self-verifying; and, finally, (4) a report on our experience in executing the generated code for simulation and debugging purposes in the case of the Rether real-time ethernet protocol.
Url:
Links to Exploration step
Hal:inria-00107548Le document en format XML
<record><TEI><teiHeader><fileDesc><titleStmt><title xml:lang="en">Code Generation From Hierarchical Concurrency Specifications</title>
<author><name sortKey="Roegel, Denis" sort="Roegel, Denis" uniqKey="Roegel D" first="Denis" last="Roegel">Denis Roegel</name>
<affiliation><hal:affiliation type="researchteam" xml:id="struct-23092" status="OLD"><orgName>MODEL (Méthodes formelles et applications)</orgName>
<orgName type="acronym">MODEL</orgName>
<desc><address><country key="FR"></country>
</address>
</desc>
<listRelation><relation active="#struct-160" type="direct"></relation>
<relation name="UMR7503" active="#struct-441569" type="indirect"></relation>
<relation active="#struct-300009" type="indirect"></relation>
<relation active="#struct-300291" type="indirect"></relation>
<relation active="#struct-300292" type="indirect"></relation>
<relation active="#struct-300293" type="indirect"></relation>
</listRelation>
<tutelles><tutelle active="#struct-160" type="direct"><org type="laboratory" xml:id="struct-160" status="OLD"><orgName>Laboratoire Lorrain de Recherche en Informatique et ses Applications</orgName>
<orgName type="acronym">LORIA</orgName>
<desc><address><addrLine>Campus Scientifique BP 239 54506 Vandoeuvre-lès-Nancy Cedex</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.loria.fr</ref>
</desc>
<listRelation><relation name="UMR7503" active="#struct-441569" type="direct"></relation>
<relation active="#struct-300009" type="direct"></relation>
<relation active="#struct-300291" type="direct"></relation>
<relation active="#struct-300292" type="direct"></relation>
<relation active="#struct-300293" type="direct"></relation>
</listRelation>
</org>
</tutelle>
<tutelle name="UMR7503" active="#struct-441569" type="indirect"><org type="institution" xml:id="struct-441569" status="VALID"><idno type="ISNI">0000000122597504</idno>
<idno type="IdRef">02636817X</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"></country>
</address>
<ref type="url">http://www.cnrs.fr/</ref>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300009" type="indirect"><org type="institution" xml:id="struct-300009" status="VALID"><orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
<orgName type="acronym">Inria</orgName>
<desc><address><addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/en/</ref>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300291" type="indirect"><org type="institution" xml:id="struct-300291" status="OLD"><orgName>Université Henri Poincaré - Nancy 1</orgName>
<orgName type="acronym">UHP</orgName>
<date type="end">2011-12-31</date>
<desc><address><addrLine>24-30 rue Lionnois, BP 60120, 54 003 NANCY cedex, France</addrLine>
<country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300292" type="indirect"><org type="institution" xml:id="struct-300292" status="OLD"><orgName>Université Nancy 2</orgName>
<date type="end">2011-12-31</date>
<desc><address><addrLine>91 avenue de la Libération, BP 454, 54001 Nancy cedex</addrLine>
<country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300293" type="indirect"><org type="institution" xml:id="struct-300293" status="OLD"><orgName>Institut National Polytechnique de Lorraine</orgName>
<orgName type="acronym">INPL</orgName>
<date type="end">2011-12-31</date>
<desc><address><country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
</affiliation>
</author>
<author><name sortKey="Smolka, Scott" sort="Smolka, Scott" uniqKey="Smolka S" first="Scott" last="Smolka">Scott Smolka</name>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">HAL</idno>
<idno type="RBID">Hal:inria-00107548</idno>
<idno type="halId">inria-00107548</idno>
<idno type="halUri">https://hal.inria.fr/inria-00107548</idno>
<idno type="url">https://hal.inria.fr/inria-00107548</idno>
<date when="2001">2001</date>
<idno type="wicri:Area/Hal/Corpus">001517</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title xml:lang="en">Code Generation From Hierarchical Concurrency Specifications</title>
<author><name sortKey="Roegel, Denis" sort="Roegel, Denis" uniqKey="Roegel D" first="Denis" last="Roegel">Denis Roegel</name>
<affiliation><hal:affiliation type="researchteam" xml:id="struct-23092" status="OLD"><orgName>MODEL (Méthodes formelles et applications)</orgName>
<orgName type="acronym">MODEL</orgName>
<desc><address><country key="FR"></country>
</address>
</desc>
<listRelation><relation active="#struct-160" type="direct"></relation>
<relation name="UMR7503" active="#struct-441569" type="indirect"></relation>
<relation active="#struct-300009" type="indirect"></relation>
<relation active="#struct-300291" type="indirect"></relation>
<relation active="#struct-300292" type="indirect"></relation>
<relation active="#struct-300293" type="indirect"></relation>
</listRelation>
<tutelles><tutelle active="#struct-160" type="direct"><org type="laboratory" xml:id="struct-160" status="OLD"><orgName>Laboratoire Lorrain de Recherche en Informatique et ses Applications</orgName>
<orgName type="acronym">LORIA</orgName>
<desc><address><addrLine>Campus Scientifique BP 239 54506 Vandoeuvre-lès-Nancy Cedex</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.loria.fr</ref>
</desc>
<listRelation><relation name="UMR7503" active="#struct-441569" type="direct"></relation>
<relation active="#struct-300009" type="direct"></relation>
<relation active="#struct-300291" type="direct"></relation>
<relation active="#struct-300292" type="direct"></relation>
<relation active="#struct-300293" type="direct"></relation>
</listRelation>
</org>
</tutelle>
<tutelle name="UMR7503" active="#struct-441569" type="indirect"><org type="institution" xml:id="struct-441569" status="VALID"><idno type="ISNI">0000000122597504</idno>
<idno type="IdRef">02636817X</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"></country>
</address>
<ref type="url">http://www.cnrs.fr/</ref>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300009" type="indirect"><org type="institution" xml:id="struct-300009" status="VALID"><orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
<orgName type="acronym">Inria</orgName>
<desc><address><addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
<country key="FR"></country>
</address>
<ref type="url">http://www.inria.fr/en/</ref>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300291" type="indirect"><org type="institution" xml:id="struct-300291" status="OLD"><orgName>Université Henri Poincaré - Nancy 1</orgName>
<orgName type="acronym">UHP</orgName>
<date type="end">2011-12-31</date>
<desc><address><addrLine>24-30 rue Lionnois, BP 60120, 54 003 NANCY cedex, France</addrLine>
<country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300292" type="indirect"><org type="institution" xml:id="struct-300292" status="OLD"><orgName>Université Nancy 2</orgName>
<date type="end">2011-12-31</date>
<desc><address><addrLine>91 avenue de la Libération, BP 454, 54001 Nancy cedex</addrLine>
<country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
<tutelle active="#struct-300293" type="indirect"><org type="institution" xml:id="struct-300293" status="OLD"><orgName>Institut National Polytechnique de Lorraine</orgName>
<orgName type="acronym">INPL</orgName>
<date type="end">2011-12-31</date>
<desc><address><country key="FR"></country>
</address>
</desc>
</org>
</tutelle>
</tutelles>
</hal:affiliation>
</affiliation>
</author>
<author><name sortKey="Smolka, Scott" sort="Smolka, Scott" uniqKey="Smolka S" first="Scott" last="Smolka">Scott Smolka</name>
</author>
</analytic>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc><textClass><keywords scheme="mix" xml:lang="it"><term>code generation</term>
<term>génération de code</term>
<term>preuves</term>
<term>proofs</term>
<term>spécification</term>
</keywords>
</textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">This paper explains how executable Java code is generated from hierarchical specifications in the Concurrency Factory specification and verification environment. Besides the ability to generate executable code from verified, abstract concurrency specifications, the paper's main contributions include: (1) new solutions to the well-known input/output guard-scheduling problem in the context of hierarchically configured concurrent systems; (2) code-generation algorithms that produce both thread-based Java code and distributed ADA code; (3) the use of the Concurrency Factory itself to verify an abstraction of each generated code module; in this sense, the Factory is self-verifying; and, finally, (4) a report on our experience in executing the generated code for simulation and debugging purposes in the case of the Rether real-time ethernet protocol.</div>
</front>
</TEI>
<hal api="V3"><titleStmt><title xml:lang="en">Code Generation From Hierarchical Concurrency Specifications</title>
<author role="aut"><persName><forename type="first">Denis</forename>
<surname>Roegel</surname>
</persName>
<email>roegel@loria.fr</email>
<idno type="idhal">denisroegel</idno>
<idno type="halauthor">142601</idno>
<orgName ref="#struct-300292"></orgName>
<affiliation ref="#struct-23092"></affiliation>
</author>
<author role="aut"><persName><forename type="first">Scott</forename>
<surname>Smolka</surname>
</persName>
<email></email>
<idno type="halauthor">138740</idno>
<orgName ref="#struct-365310"></orgName>
</author>
<editor role="depositor"><persName><forename>Publications</forename>
<surname>Loria</surname>
</persName>
<email>publications@loria.fr</email>
</editor>
</titleStmt>
<editionStmt><edition n="v1" type="current"><date type="whenSubmitted">2006-10-19 09:01:00</date>
<date type="whenModified">2016-05-19 01:04:16</date>
<date type="whenReleased">2006-10-20 15:32:30</date>
<date type="whenProduced">2001</date>
<date type="whenEndEmbargoed">2015-02-10</date>
<ref type="file" target="https://hal.inria.fr/inria-00107548/document"><date notBefore="2015-02-10"></date>
</ref>
<ref type="file" n="1" target="https://hal.inria.fr/inria-00107548/file/A01-R-404.pdf"><date notBefore="2015-02-10"></date>
</ref>
</edition>
<respStmt><resp>contributor</resp>
<name key="108626"><persName><forename>Publications</forename>
<surname>Loria</surname>
</persName>
<email>publications@loria.fr</email>
</name>
</respStmt>
</editionStmt>
<publicationStmt><distributor>CCSD</distributor>
<idno type="halId">inria-00107548</idno>
<idno type="halUri">https://hal.inria.fr/inria-00107548</idno>
<idno type="halBibtex">roegel:inria-00107548</idno>
<idno type="halRefHtml">[Intern report] A01-R-404 || roegel01a, 2001, 23 p</idno>
<idno type="halRef">[Intern report] A01-R-404 || roegel01a, 2001, 23 p</idno>
</publicationStmt>
<seriesStmt><idno type="stamp" n="INRIA">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
<idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
<idno type="stamp" n="INPL">Institut National Polytechnique de Lorraine</idno>
<idno type="stamp" n="LORIA2">Publications du LORIA</idno>
<idno type="stamp" n="LABO-LORIA-SET" p="LORIA">LABO-LORIA-SET</idno>
<idno type="stamp" n="LORIA">LORIA - Laboratoire Lorrain de Recherche en Informatique et ses Applications</idno>
<idno type="stamp" n="UNIV-LORRAINE">Université de Lorraine</idno>
</seriesStmt>
<notesStmt><note type="commentary">Rapport interne.</note>
<note type="audience" n="0">Not set</note>
<note type="report" n="3">Intern report</note>
</notesStmt>
<sourceDesc><biblStruct><analytic><title xml:lang="en">Code Generation From Hierarchical Concurrency Specifications</title>
<author role="aut"><persName><forename type="first">Denis</forename>
<surname>Roegel</surname>
</persName>
<email>roegel@loria.fr</email>
<idno type="idHal">denisroegel</idno>
<idno type="halAuthorId">142601</idno>
<orgName ref="#struct-300292"></orgName>
<affiliation ref="#struct-23092"></affiliation>
</author>
<author role="aut"><persName><forename type="first">Scott</forename>
<surname>Smolka</surname>
</persName>
<idno type="halAuthorId">138740</idno>
<orgName ref="#struct-365310"></orgName>
</author>
</analytic>
<monogr><idno type="reportNumber">A01-R-404 || roegel01a</idno>
<imprint><biblScope unit="pp">23 p</biblScope>
<date type="datePub">2001</date>
</imprint>
</monogr>
</biblStruct>
</sourceDesc>
<profileDesc><langUsage><language ident="en">English</language>
</langUsage>
<textClass><keywords scheme="author"><term xml:lang="it">proofs</term>
<term xml:lang="it">code generation</term>
<term xml:lang="it">spécification</term>
<term xml:lang="it">preuves</term>
<term xml:lang="it">génération de code</term>
</keywords>
<classCode scheme="halDomain" n="info.info-oh">Computer Science [cs]/Other [cs.OH]</classCode>
<classCode scheme="halTypology" n="REPORT">Reports</classCode>
</textClass>
<abstract xml:lang="en">This paper explains how executable Java code is generated from hierarchical specifications in the Concurrency Factory specification and verification environment. Besides the ability to generate executable code from verified, abstract concurrency specifications, the paper's main contributions include: (1) new solutions to the well-known input/output guard-scheduling problem in the context of hierarchically configured concurrent systems; (2) code-generation algorithms that produce both thread-based Java code and distributed ADA code; (3) the use of the Concurrency Factory itself to verify an abstraction of each generated code module; in this sense, the Factory is self-verifying; and, finally, (4) a report on our experience in executing the generated code for simulation and debugging purposes in the case of the Rether real-time ethernet protocol.</abstract>
</profileDesc>
</hal>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Hal/Corpus
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 001517 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Hal/Corpus/biblio.hfd -nk 001517 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Lorraine |area= InforLorV4 |flux= Hal |étape= Corpus |type= RBID |clé= Hal:inria-00107548 |texte= Code Generation From Hierarchical Concurrency Specifications }}
![]() | This area was generated with Dilib version V0.6.33. | ![]() |