Abstract. In this paper, we consider the Grand Challenge under a very specific perspective: the enabling of application experts without programming knowledge to reliably model their business processes/applications in a fashion that allows for a subsequent automatic realization on a given platform. This goal, which aims at simplifying the tasks of the many at the cost of ambitious and laborious tasks for the few, adds a new dimension to the techniques and concepts aimed at by the Grand Challenge: the application-specific design of platforms tailored for the intended goal. We are convinced that the outlined perspective provides a realistic and economically important milestone for the Grand Challenge.
MotivationSince the very beginning of computer science, the mismatch between design for machines and design for brains has been a constant pain, and a constant driver for innovation: it was always clear that descriptions that are good for machine processing are inadequate for an intuitive human understanding, and that descriptions which are structured for easy comprehension contain a lot of 'syntactic overhead', that typically slows down their automatic processing.Compilers were designed to overcome, or better to weaken, this mismatch: Rather than trying to construct machines that work as humans think, it seemedmore appropriate to translate comprehensible descriptions into machine-adequate representations. Besides classical compilers that translate high-level programming language into machine code there are also other means of automated code generation from more abstract descriptions: to this group belong parser generators, data flow analysis generators, compiler generators, and all the modern OOtools that translate, e.g., UML descriptions into code fragments. Most drastic are those versions of Model Driven Design (MDD) that aim at totally replacing the need of programming for most application development using model construction. Thus the original desire to lift low-level machine code (prescribing How to run the machine) to more abstract programs (describing What to achieve) has become reality at increasing levels of abstraction from the hardware, and leading to extreme approaches like requirements-based programming, which aims at automatically making the user's or customer's requirements executable.