TY - JOUR
T1 - EVA
T2 - A flexible programming method for evolving systems
AU - Matsuura, Saeko
AU - Kuruma, Hironobu
AU - Honiden, Shinichi
N1 - Funding Information:
This work was performed under the management of Information-technology Promotion Agency, Japan (IPA) as a part of the Industrial Science and Technology Frontier Program “New Models for Software Architectures” sponsored by NEDO (New Energy and Industrial technology Development Organization). We thank Hisayuki Horai for providing us with the fare calculation example used in this paper.
PY - 1997
Y1 - 1997
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
SN - 0098-5589
VL - 23
SP - 296
EP - 313
JO - IEEE Transactions on Software Engineering
JF - IEEE Transactions on Software Engineering
IS - 5
ER -