User-driven programming-modeling and wider participation

A user-driven approach to visualization, modeling and programming can improve software and facilitate its creation and maintenance. Translation then becomes possible 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 most quickly to modeling / programming problems that require calculation. For example, scientific, technical and business problems. The basis of the technique is to enable the information to be represented in a structured format, e.g. XML (eXtensible Markup Language), RDF (Resource Description Framework), RSS (this can stand for 3 different things – and OWL (Web Ontology Language) Visualization and interaction with information can be enabled in a standardized way because the information is structured This allows schematic editing for modeling / programming Careful structuring of the information and models / programs simplifies the modeling / programming process A translation process from abstract / domain models to code can then be provided using recursive techniques.

As the structure and design and editing process of these models / programs can be standardized, this enables a common meta-programming method. Visualizing this method to allow user-driven participation could allow for broader participation than is currently possible for open source development, which is limited to more technical users. Visualization at different levels of domain-to-software abstraction could enable end-users, designers, and software developers to communicate in a semi-structured way to establish procedures to ensure that end-user software is produced.