Among the most important criteria in the design and implementation of an interact ive system for data analysis are: data structure , control language and user i n t e r f a c e , system versatility, extensibility, and portability. The design of an i n t e r a c t i v e system , viewe d as a sequential consideration of these criter ia , will be discussed .~~~~~~~f
INTRODUCTIONThe commonly accepted meaning of the term "interactive " in "interactive systems " has gone through a rapid evolution in the past decade. In the early days , "interactive computing " generally meant "remote entry of batch jobs from a terminal. "This was accomplished by modifying the source codes of batch programs for the input of control-card information (and data) to accept input from the terminal via a fixed sequence of prompts. Such a mode of operation gave rise to the expression "conversational program " , although almost all of the "conversations " were initiated by the program and not by the user , so that there were very little genuine man-machine -interactions.Today , the concept of interactive computing is considerably more advanced and sophisticated , so is the design and implementation of systems supporting such a mode of computing.The terms "interactive " and "terminaloriented " (or timesharing) are no longer synonymous. I shall use "an interactive system for data analysis " to mean a system which is capable of supporting a high level of efficient , man-machine interaction in data analysis , when the a n a l y s i s c a l l s for a s e qu e n t i a l d e c i s i o n procedure by the user , w i t h c o n d i t i o n a l mu l t i p l e b r a n c h e s at each step depending on the intermediat e results of the previous steps .A well-designed i n t e r a c t i ve system w i l l , at the very least , enable its user to attempt one or more iterations of data editing , plotting , transformations , or new a n a l y s e s , without re-initiating the system or re-entering the data values.The same analysis , using batch systems or inflexible terminal-oriented systems , will necessitate many se par ate r u n s , each of which will duplicate some steps of the previous analysis (e.g., re-entering the data). Besides being flexible , versatile , and numerically dependable , a good interactive system should provide its users with a large variety of convenience features that are not feasible under a batch computing enviroment.For example , there should be internal document ations and help files so that a user need not have a User 's Manual by his side to be able to make efficient use of the system ; detectable spelling and logical errors made by the user should be detected by the system and facilities should be provided for the on-line correction of such errors ; and there should be other error diagnostic and recovery features.In this article , the design of an interactive system will be considered as the ma king of a sequence of decisions about the characteristics of the design , where early decisions may impose constraints on later dec...