EVA: A flexible programming method for evolving systems

Saeko Matsuura, Hironobu Kuruma, Shinichi Honiden

Research output: Contribution to journalArticle

7 Citations (Scopus)

Abstract

Our goal is to establish a flexible programming support for evolving systems that will enable us 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 our programming method for evolving systems. We 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 our method. To achieve our goal, we 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. This paper explains a case study which shows how to develop an evolving system using EVA and it discusses how we can use EVA's mechanism effectively.

Original languageEnglish
Pages (from-to)296-313
Number of pages18
JournalIEEE Transactions on Software Engineering
Volume23
Issue number5
DOIs
Publication statusPublished - 1997 Dec 1
Externally publishedYes

Fingerprint

Computer programming
Functional programming
Service life
Personnel

Keywords

  • Formal programming techniques
  • Programming process
  • Programming support system
  • Reuse

ASJC Scopus subject areas

  • Electrical and Electronic Engineering
  • Computer Graphics and Computer-Aided Design
  • Software

Cite this

EVA : A flexible programming method for evolving systems. / Matsuura, Saeko; Kuruma, Hironobu; Honiden, Shinichi.

In: IEEE Transactions on Software Engineering, Vol. 23, No. 5, 01.12.1997, p. 296-313.

Research output: Contribution to journalArticle

Matsuura, Saeko ; Kuruma, Hironobu ; Honiden, Shinichi. / EVA : A flexible programming method for evolving systems. In: IEEE Transactions on Software Engineering. 1997 ; Vol. 23, No. 5. pp. 296-313.
@article{f82138846204406c8b1db3a212b4d135,
title = "EVA: A flexible programming method for evolving systems",
abstract = "Our goal is to establish a flexible programming support for evolving systems that will enable us 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 our programming method for evolving systems. We 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 our method. To achieve our goal, we 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. This paper explains a case study which shows how to develop an evolving system using EVA and it discusses how we can use EVA's mechanism effectively.",
keywords = "Formal programming techniques, Programming process, Programming support system, Reuse",
author = "Saeko Matsuura and Hironobu Kuruma and Shinichi Honiden",
year = "1997",
month = "12",
day = "1",
doi = "10.1109/32.588522",
language = "English",
volume = "23",
pages = "296--313",
journal = "IEEE Transactions on Software Engineering",
issn = "0098-5589",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "5",

}

TY - JOUR

T1 - EVA

T2 - A flexible programming method for evolving systems

AU - Matsuura, Saeko

AU - Kuruma, Hironobu

AU - Honiden, Shinichi

PY - 1997/12/1

Y1 - 1997/12/1

N2 - Our goal is to establish a flexible programming support for evolving systems that will enable us 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 our programming method for evolving systems. We 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 our method. To achieve our goal, we 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. This paper explains a case study which shows how to develop an evolving system using EVA and it discusses how we can use EVA's mechanism effectively.

AB - Our goal is to establish a flexible programming support for evolving systems that will enable us 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 our programming method for evolving systems. We 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 our method. To achieve our goal, we 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. This paper explains a case study which shows how to develop an evolving system using EVA and it discusses how we can use EVA's mechanism effectively.

KW - Formal programming techniques

KW - Programming process

KW - Programming support system

KW - Reuse

UR - http://www.scopus.com/inward/record.url?scp=11444266597&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=11444266597&partnerID=8YFLogxK

U2 - 10.1109/32.588522

DO - 10.1109/32.588522

M3 - Article

AN - SCOPUS:11444266597

VL - 23

SP - 296

EP - 313

JO - IEEE Transactions on Software Engineering

JF - IEEE Transactions on Software Engineering

SN - 0098-5589

IS - 5

ER -