Our goal is to establish a flexible programming support for evolving s
ystems 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 sup
port system to be constructed based on our programming method for evol
ving systems. We consider that programming methods for evolving system
s need to satisfy the following essential conditions. First, they need
to make it easy to specify changes in a system in terms of new requir
ements. Second, they need to have a procedure for transmitting the new
requirements to a program. Third, they need to be able to guarantee t
hat the resultant program will meet the new requirements. Finally, bec
ause of the repetitive nature of much evolving systems work, they need
to provide for the reuse of similar modifications during programming.
In order to overcame limitations in program modification techniques w
hich have only considered programming products, programming processes
have been introduced into our method. To achieve our goal, we have for
mulated programming products and programming processes using such form
al techniques as functional programming, type theory, modules, paramet
erized programming and natural deduction, and have constructed a mecha
nism of reusing these formal programming processes. This paper explain
s a case study which shows how to develop an evolving system using EVA
and it discusses how we can use EVA's mechanism effectively.