• DocumentCode
    1556004
  • Title

    EVA: a flexible programming method for evolving systems

  • Author

    Matsuura, Saeko ; Kuruma, Hironobu ; Honiden, Shinichi

  • Author_Institution
    Lab. for New Software Archit., Inf. Technol. Promotion Agency, Tokyo, Japan
  • Volume
    23
  • Issue
    5
  • fYear
    1997
  • fDate
    5/1/1997 12:00:00 AM
  • Firstpage
    296
  • Lastpage
    313
  • Abstract
    The authors´ goal is to establish a flexible programming support for evolving systems that will enable one to modify programs using less labor, while maintaining good quality during service life. EVA (evolution mechanism for flexible agent) was developed to allow a flexible programming support system to be constructed based on their programming method for evolving systems. They consider that programming methods for evolving systems need to satisfy the following essential conditions. First, they need to make it easy to specify changes in a system in terms of new requirements. Second, they need to have a procedure for transmitting the new requirements to a program. Third, they need to be able to guarantee that the resultant program will meet the new requirements. Finally, because of the repetitive nature of much evolving systems work, they need to provide for the reuse of similar modifications during programming. In order to overcome limitations in program modification techniques which have only considered programming products, programming processes have been introduced into the method. To achieve their goal, they have formulated programming products and programming processes using such formal techniques as functional programming, type theory, modules, parameterized programming and natural deduction, and have constructed a mechanism of reusing these formal programming processes. The paper explains a case study which shows how to develop an evolving system using EVA and it discusses how one can use EVA´s mechanism effectively.
  • Keywords
    formal specification; functional programming; programming environments; software maintenance; software reusability; type theory; EVA; change specification; evolution mechanism for flexible agent; evolving systems; flexible programming method; formal programming processes; formal techniques; functional programming; modification reuse; modules; natural deduction; new requirements; parameterized programming; program modification; quality; type theory; Application software; Automatic programming; Functional programming; Genetic programming; High level languages; Laboratories; Programming profession; Software architecture;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.588522
  • Filename
    588522