Visual abstraction in an interactive programming environment

We are designing a software development system that implements “what you see is what you get” for programming. The system, called OMEGA, allows software to be displayed, processed, and modified, using pictorial representations to convey the structure and levels of abstraction of the program. OMEGA takes advantage of the interactive user interface to provide syntax-free input, user selectable display format, and incremental semantic analysis. By distinguishing input specification from output display, and exploiting interaction in semantic analysis, we are able to unify the different abstraction mechanisms present in traditional programming environments.