<?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-003-05-0603</article-id>
      <article-id pub-id-type="publisher-id">27364</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.1.3 - Concurrent Programming</subject>
          <subject>D.1.5 - Object-oriented Programming</subject>
          <subject>D.1 - PROGRAMMING TECHNIQUES</subject>
          <subject>D.2.1 - Requirements/Specifications</subject>
          <subject>D.2.4 - Software/Program Verification</subject>
          <subject>D.2.5 - Testing and Debugging</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Integrating ASMs into the Software Development Life Cycle</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Börger</surname>
            <given-names>Egon</given-names>
          </name>
          <email xlink:type="simple">boerger@di.unipi.it</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Mearelli</surname>
            <given-names>Luca</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 Pisa, Pisa, Italy</addr-line>
        <institution>University of Pisa</institution>
        <addr-line content-type="city">Pisa</addr-line>
        <country>Italy</country>
      </aff>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">Università di Pisa, , Italy</addr-line>
        <institution>Università di Pisa</institution>
        <country>Italy</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Egon Börger (<email xlink:type="simple">boerger@di.unipi.it</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>1997</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>05</month>
        <year>1997</year>
      </pub-date>
      <volume>3</volume>
      <issue>5</issue>
      <fpage>603</fpage>
      <lpage>665</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/3FE1852F-7610-526A-AFAD-55592B5E6A51">3FE1852F-7610-526A-AFAD-55592B5E6A51</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/6995378">6995378</uri>
      <permissions>
        <copyright-statement>Egon Börger, Luca Mearelli</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>In this paper we show how to integrate the use of Gurevich s Abstract State Machines (ASMs) into a complete software development life cycle. We present a structured software engineering method which allows the software engineer to control efficiently the modular development and the maintenance of well documented, formally inspectable and smoothly modifiable code out of rigorous ASM models for requirement specifications. We show that the code properties of interest (like correctness, safety, liveness and performance conditions) can be proved at high levels of abstraction by traditional and reusable mathematical arguments which-where needed-can be computer verified. We also show that the proposed method is appropriate for dealing in a rigorous but transparent manner with hardware-software co-design aspects of system development. The approach is illustrated by developing a C ++ program for the production cell control problem posed in [Lewerentz, Lindner 95]. The program has been validated by extensive experimentation with the FZI production cell simulator in Karlsruhe and has been submitted for inspection to the Dagstuhl seminar on "Practical Methods for Code Documentation and Inspection" (May 1997).</p>
      </abstract>
    </article-meta>
  </front>
</article>
