User Driven Programming – Modeling and Broader Participation
A user-driven approach to visualization, modeling, and programming can enhance software and make it easier to build and maintain. Translation from the user representation to a software representation, and from design to implementation, then becomes possible.
For User Directed Programming, ‘user’ may mean an individual or organization. The technique can be applied as soon as possible to modeling/programming problems that require computation. For example, scientific, engineering and business problems. The basis of the technique is to allow information to be represented in a structured format, eg XML (Extensible Markup Language), RDF (Resource Description Framework), RSS (this can represent 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 allows editing of diagrams for modeling/programming. Careful selection of information and models/programs simplifies the modeling/programming process.Then a process of translating abstract/domain models to code using recursive techniques can be provided.
As the structure, design and editing process of these models/programs can be standardized, this allows a common methodology based on metaprogramming. Viewing this methodology to enable user-driven participation could enable broader participation than is currently possible for open source development, which is limited to more technical users. Visualization at different levels of abstraction, from the domain to the software, could allow end users, designers, and software developers to communicate in a semi-structured way to establish procedures to ensure that the software end users want to use is produced. .