On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Parameterized programming in OBJ2
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Constructing Specifications by Combining Parallel Elaborations
IEEE Transactions on Software Engineering
Principles of parameterized programming
Software reusability: vol. 1, concepts and models
Design by derivational analogy: issues in the automated replay of design plans
Machine learning: paradigms and methods
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
Building an evolution transformation library
ICSE '90 Proceedings of the 12th international conference on Software engineering
KIDS: A Semiautomatic Program Development System
IEEE Transactions on Software Engineering
An introduction to functional programming
An introduction to functional programming
ML for the working programmer
ACM Computing Surveys (CSUR)
Analogical program derivation based on type theory
Theoretical Computer Science
Program Transformation Systems
ACM Computing Surveys (CSUR)
Program developments: formal explanations of implementations
Communications of the ACM
The Science of Programming
The Definition of Standard ML
Toward a Classification Approach to Design
AMAST '96 Proceedings of the 5th International Conference on Algebraic Methodology and Software Technology
Toward Formal Development of ML Programs: Foundations and Methodology (Extended Abstract)
TAPSOFT '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Current Issues in Programming Languages
Knowledge Acquisition and Integration on Specification Change-A Method for Systematic Reuse
APSEC '95 Proceedings of the Second Asia Pacific Software Engineering Conference
An Automatic Class Generation Mechanism by Using Method Integration
IEEE Transactions on Software Engineering
Controlling Requirements Evolution: An Avionics Case Study
SAFECOMP '00 Proceedings of the 19th International Conference on Computer Safety, Reliability and Security
Hi-index | 0.00 |
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.