abbott@aero.ARPA (Russell J. Abbott) (10/06/88)
I'm interested in experiences with and opinions about application generators. I define an application generator as a computer program that has the following properties. 1. It encapsulates the semantics of a particular application domain or computational paradigm. 2. It provides a way for "programmers" to tailor, i.e., program, the encapsulated knowledge for the use of "end users." In other words it defines both "programming" and "end user" roles. I'd like to take a broad view of application generators and include, for example, spreadsheet systems as application generators. Spreadsheet systems encapsulate a limited version of the computational paradigm of constrained arrays of values. They are used to generate applications when "a programmer" encodes, for example, an organizational structure (i.e., a set of constraints), which is used by "an end user" who enters specific data values. (Of course the programmer and end user may be the same individual, but they need not be.) I realize that such a broad view allows one to consider general purpose programming languages as application generators as well as perhaps any interactive system. My real interest, though, is in application generators that provide programming leverage in powerful and interesting ways, and it is experiences with these sorts of systems that I'm soliciting comments about I believe that this topic merits open discussion, so I request that comments be posted so that others can join in the discussion. Thanks, -- Russ Abbott
scott@shuksan.UUCP (Scott Moody) (10/12/88)
In article <39048@aero.ARPA>, abbott@aero.ARPA (Russell J. Abbott) writes: > > I'm interested in experiences with and opinions about application > generators. > > I define an application generator as a computer program that has the > following properties. > > 1. It encapsulates the semantics of a particular application domain > or computational paradigm. > > 2. It provides a way for "programmers" to tailor, i.e., program, > the encapsulated knowledge for the use of "end users." In other > words it defines both "programming" and "end user" roles. > I have just recently heard about the term 'application generators'. I would like to know if these can also be construed as 'Supercompilers' as described in an article by Turchin in TOPLS (July 86) on 'The Concept of a Supercompiler'. Basically a program transformer. I could see such a tool as just a higher abstraction for a programmer to use, in much the same way a high level programming language is a higher abstraction to the low level machine level. Why not provide a tool (language,set of tools) that will allow programming of an application. In my case, we have a set of graphic prototyping tools that are very useful to develope specific applications (something like visual programming). Unfortunately the tools are so generic that the end result is a great MODEL of the applications, but the execution performance isn't as good as a taylored end product. Why not provide a application generator or metasystem transformer, that will take the prototype and generate a streamlined end product. This way changes can be made to the generic high level prototype, without having to diddle in the low level end produce. (Have we heard this before?) Does this even come close to your concept of an application generator? Could you post any references that are explicitly on the application generators. (Actually after posting this I found an article in July 1988 issue of Computer on application generators, and am now editing the batched news message: Do feel that the application generators you want are actual formal definitions of the end system? Or do you think that a running prototype would also fit? ) Thanks. scott moody