globehall.com globehall.com
Main :> About Us :> Place Your Link :> Security & Privacy :> Terms & Conditions :> Add Your Article
Search:   
Add URL
 
 

Academics & Learning

 

Sports

 

Hygiene & Health

 

Drink & Food

 

Automobile & Automotive

 

Estate & Realty

 

Fashion & Relationships

 

Companies & Business

 

Issues & News

 

Indoor Games

 

Computers & Software

 

Self Management

 

Jobs & Employment

 

Hotels & Travel

 

Medicine & Treatment

 

Technology & Science

 

Investment & Finance

 

Entertainment

 

Teens & Kids

 

Art & Creative

 

Garden & Home

 

Policies & Law

 

Shopping Online

 

People & Society

 

Main › Computers & Software › Computer Software
 

User Driven Modelling - Detailed Explanation - Part 3 - Criteria Necessary

 
Author: Peter Hale

Why a different approach is needed

Translating concepts into an implementation is difficult. The difficulty of trying to explain the subjects of interest in a call for papers, or proposals illustrates this problem. Because of the ambiguity of words, there is always going to be a problem of interpretation between those who specify the requirements, and those who need to understand and interpret them.

For software development, a good way to reduce the level of misunderstandings is to go through the loop from concept to design to implementation quickly and efficiently so that feedback can be returned from the software model. Then mistakes can be seen and corrected quickly. It becomes much easier to achieve this high speed development, if the interface for development is made sufficiently easy to understand, so that a domain expert can use it to create the software, or at least a simple prototype that a developer can then work with and improve. Even if the aim of the users is to specify requirements rather than create programs, creating working programs conveys requirements much better than any other form of requirement specification.

It may also prove possible to work in reverse from implementation to design, or design to conceptual model. A UWE paper explains how ontologies could be mapped to conceptual models, El-Ghalayini Et al. [1]. This process can be made easier if the same open standard software representations, languages, and structures are used throughout this process. This would be useful for checking software is designed well or re-using software designs.

User involvement is important in the development of software but a domain expert does not necessarily possess expertise in software development, and a software developer cannot have expertise in every domain to which software might apply. So it is important to make it possible for software to be created using methods as close as possible to that which the domain expert normally uses. The proportion of domain experts in a particular domain (aerospace engineering) for example who can develop their own programs is fairly low, but the proportion that are computer literate in the everyday use of computers is much higher. If this computer literacy is harnessed to allow the domain experts to develop and share models, the productivity for software development will be increased and the proportion of misunderstandings between domain experts and developers reduced. The domain experts can then explore a problem they are trying to solve and produce code to solve it. The role of developers would then become more that of a mentor and enabler rather than someone who has to translate all the ideas of experts into code themselves. Other developers may work at providing better translation software for the experts.

User Driven Model Development

The intention of the research into User Driven Modelling (UDM) and more widely User Driven Programming (UDP) is to enable non-programmers to create software, from a user interface that allows them to model a particular problem or scenario. This involves a user entering information visually in the form of a tree diagram. The research involves developing ways of automatically translating this information into program code in a variety of computer languages. This is very important and useful for many employees that have insufficient time to learn programming languages. To achieve this, visual editors are used to create and edit taxonomies to be translated into code. To make this possible, it is also important to examine visualisation, and visualisation techniques to create a human computer interface that allows non-experts to create software.

The research mainly concentrates on using the above technique for modelling, searching and sorting. The technique should be usable for other types of program development. Research relevant to User Driven Programming in general is covered, as this could be applied to the problem in future.

This research unites approaches of object orientation, the semantic web, relational databases, and event driven programming. Tim Berners-Lee defined the semantic web as 'a web of data that can be processed directly or indirectly by machines' [2]. The research examines ways of structuring information, and enabling processing and searching of the information to provide a modelling capability.

UDM could help increase user involvement in software, by providing templates to enable non-programmers to develop modelling software for the purposes that interest them. If more users of software are involved in creation of software and the source of the code is open, this allows for the creation of development communities that can share ideas and code and learn form each other. These communities could include both software experts, and domain experts who would be much more able to attain the expertise to develop their own models than they are using current software languages.

Criteria necessary for User Driven Model Development

This section explains the theory behind the User Driven Modelling approach, and the factors necessary to make this approach possible. For this research the focus is on combining the development of dynamic software created in response to user actions, with object oriented, rule based and semantic web techniques. Research has examined ways of structuring information, processing and searching this information to provide a modelling capability. Research by Aziz et al. [1] examines how open standards software can assist in an organisations collaborative product development, and Wang et al. [2] outline an approach for integrating distributed relational database systems. Our automated production of software containing recursive Structured Query Language (SQL) queries enables this. This approach is a type of very high level Meta-programming. Meta-programming, and structured language is explained by Dmitriev [3] and Mens et al. [4]. The approach proposed is intended to solve the problems of cost and time over-run, and failure to achieve objectives that are the common malaise of software development projects. The creation of a web based visual representation of the information will allow people to examine and agree on information structures.

Firstly it is necessary to find a way for people with little programming expertise, to use an alternative form of software creation, that can later be translated into program code. The main approach taken was the use of visual metaphors to enable this creation process, although others may investigate a natural language approach. The decision on what combination of diagrammatic or natural language to use in the representation may be influenced by the type of user and the domain to be modelled. Engineers usually deal with diagrams as a regular part of their work, so understand this representation particularly well. In fact developers also use metaphors from engineering diagrams in order to provide a user interface for software design. This is explained in Tollis [5].

A translation method can then be provided that converts this representation into program code in a number of languages, or into a Meta-language that can then be further translated. In order to achieve this, it is necessary for the translator to understand and interpret equations that relate objects in the visual definition and obtain the results. In order for the user to understand the translation that has been performed it is then important to visualise the translated code, and this must be accessible to others who use the translated implementation. Web pages are a useful mechanism for this as they are widely accessible.

This visualisation of results is essential to express clearly their meaning. Words in a report document can be ambiguous. So the relationship of results to inputs must be clearly shown.

1 El-Ghalayini, H., Odeh, M., McClatchey, R., Solomonides, T. (2005). Reverse engineering ontology to conceptual data models, http://www.uwe.ac.uk/cems/graduateschool/news/posters/conference/conference2005.pdf, Graduate School Conference, 114-119.

2 Berners-Lee, T. (1999). Weaving the Web, Orion business - now Texere, http://www.w3.org/People/Berners-Lee/Weaving/Overview.html.

3 Aziz, H., Gao, J., Maropoulos, P., Cheung, W. M. (2005). Open standard, open source and peer-to-peer tools and methods for collaborative product development, Computers in Industry, 56: 260-271.

4 Wang, C.-B., Chen, T.-Y., Chen, Y.-M., Chu, H.-C. (2005). Design of a Meta Model for integrating enterprise systems, Computers in Industry, 56: 205-322.

5 Dmitriev, S. (2004). Language Oriented Programming: The Next Programming Paradigm, http://www.onboard.jetbrains.com/is1/articles/04/10/lop/.

6 Mens, K., Michiels, I., Wuyts, R. (2002). Supporting Software Development through Declaratively Codified Programming Patterns, Expert Systems with Applications, 23: 405-413.

7 Tollis, I. G. (1996). Graph Drawing and Information Visualization, ACM Computing Surveys, 28A(4).

Author Bio:
Peter Hale is a popular columnist. Peter likes to pen down articles about this area.
You can search for this article using: free software, free software downloads, cheap computer software, discount software
 
 
 

Related Articles

 
User Driven Modelling - Detailed Explanation - Part 3 - Criteria Necessary
 
What Exactly Is Podcasting?
 
Selecting The Right Affiliate Program
 
Website Optimisation & Design: Which Screen Resolution to Design for?
 
Thinking About Discount Notebook Computers
 
Nine Things to Never Say when Replying to Customer Emails
 
Web Hosting Providers - Find A Newbie Friendly Web Site Host
 
The Importance of Email and Product Development
 
Building An Explosive Mailing List
 
Mobile Phones To Help Fight Crime
 
 
 
   Main :> Security & Privacy :> Terms & Conditions
© 2008 www.globehall.com All Rights Reserved.