Information Technology Reference
In-Depth Information
balance between simplicity and generality that is adequate for the envisaged
application(s) is indeed the central challenge with respect to enabling true
user-level software development.
1.1.1 The Workflow Approach to User-Level
Software Development
Manifold approaches to end-user software development have been proposed
(cf., e.g., [82, 154] for surveys), ranging from, for instance, simplified scripting
languages over domain-specific modeling [274, 151] and domain-specific lan-
guages [96] to methods for programming by example [287, 187]. Especially in
the context of managing variant-rich user-level procedures, many application
domains have adopted the notion of processes or workflows [183, 327].
Fig. 1.3 Simple workflow example: creation of custom birthday cards
As a simple example, consider a workflow for the creation of custom birth-
day cards as depicted in Figure 1.3. It consists of six steps: picture selection,
rotation (if necessary), quality improvement, adding a personal birthday mes-
sage, adding a decorative border and finally sending the custom card to the
recipient. This workflow can of course be carried out manually by performing
the individual steps via the graphical user interface of an image processing
tool. However, if the workflow is to be carried out more often, for instance
because the CEO of a company wants to send a custom birthday card to
every employee at the day of his birthday, then its automation is clearly ad-
vantageous. Nevertheless, a fixed single-purpose tool for the procedure would
also be inadequate, as workflow variations are likely to be desired.
For instance, custom cards may be created also for other occasions (such as
marriage, birth of children, particular achievements, but also as get-well cards
or condolence letters), which then require a different selection of pictures and
a different message content. The structure of the workflow itself may vary, too:
The initial picture may be selected from different sources (such as the local
file system, a camera, a database, or a web site), the basic processing steps
 
Search WWH ::




Custom Search