User Driven Programming
A user-driven approach to visualization, modeling, and programming can improve software and ease it’s creation and maintenance. Translation then becomes posible from the user’s representation to a software representation, and from design to implementation.
For User Driven Programming, ‘user’ can mean individual and / or organization. The technique can be applied soonest to modeling / programming problems that require calculation. Eg scientific, engineering, and business problems. The basis of the technique is enabling the information to be represented in a structured format eg XML (eXtensible Markup Language), RDF (Resourece Description Framework), RSS (this can stand for 3 different things – en.wikipedia.org/wiki/RSS_ (file_format), and OWL (Web Ontology Language). Visualization and interaction with the information can be enabled in a standardized way because the information is structured.This enables diagrammatic editing for modeling / programming. the translation process from abstract / domain models to code can then be provided using recursive techniques.
As the structure and design and editing process for these models / programs can be standardized this enables a common meta-programming based methodology. Visualization of this methodology to allow User Driven participation could enable wider participation than is currently possible for open source development, which is limited to more technical users. Visualization at different levels of abstraction from domain to software could enable end-users, designers, and software developers to communicate in a semi-structured way in order to establish procedures for ensuring software is produced that end-users want to use.