User Driven Modelling - Background Information
By [http://ezinearticles.com/?expert=Peter_Hale]Peter Hale
Explanation of the Problem to be Addressed
Research Aim
This research arises out of work to create systems to facilitate management of design and cost related knowledge within those organisations, with the aim of using this knowledge to reduce the costs of manufacturing products. This thesis identifies ways that problems arising from the model development process can be addressed by a new way of providing for the creation of software. With experience from projects, which have used a combination of proprietary software solutions and bespoke software, it is possible to identify the approach of User Driven Programming (UDP). This research unites approaches of Object Orientation, the Semantic Web, and Relational Databases and event driven programming. The approach encourages much greater user involvement in software development.
Software development is time consuming and error prone because of the need to learn computer languages. If people could instruct a computer without this requirement they could concentrate all their effort on the problem to be solved. This is termed User Driven Programming (UDP) within this research, and for the examples demonstrated the term User Driven modelling (UDM) is used to explain the application of user driven programming to model development. This research aims to create software that enables people to program using visual metaphors. Users enter information in a diagram, which for these examples is tree based. The program translates this human readable representation into computer languages.
This research demonstrates how a taxonomy can be used to automatically produce software. This technique is most suitable at present to modelling, visualisation, and searching for information. The research explains the technique of User Driven Model Development that could be part of a wider approach of User Driven Programming. This approach involves the creation of a visual environment for software development, where modelling programs can be created without the requirement of the model developer to learn programming languages. The theory behind this approach is explained and also the main practical work in creation of this system. The basis of this approach is modelling of the software to be produced in Ontology systems such as Jena and Protégé.
The research applies this technique to aerospace engineering but it should be applicable to any subject.
Why a different approach is needed
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 every day 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 the developer would then become more that of a mentor and enabler rather than someone who has to translate all the ideas of the expert into code themselves.
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 from 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' http://www.w3.org/People/Berners-Lee/Weaving/Overview.html. The research examines ways of structuring information, and enabling processing and searching of the information to provide a modelling capability.
UDM could also 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 are much more able to attain the expertise to develop their own models than they are using current software languages. Vanguard are creating a modelling network where universities can share decision support models over a network http://wiki.vanguardsw.com/. We are creating a modelling network that will link to that of Vanguard http://www.cems.uwe.ac.uk/amrc/seeds/models.htm.
Criteria necessary for User Driven Model Development
This section explains the factors necessary to make the User Driven Model Development approach later outlined possible.
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. 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.
I am a Researcher in the final year of my PhD. I specialise in applying Semantic Web techniques. My current research is on a technique of 'User Driven Modelling/Programming'. My intention 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. I am attempting to develop 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. I am looking to research visualisation, and visualisation techniques to create a human computer interface that allows non experts to create software.
I am a member of the Institute for End User Computing - http://www.ieuc.org/home.html
My Home Page is http://www.cems.uwe.ac.uk/~phale/
A web page for this article is at http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory.htm
Article Source: http://EzineArticles.com/?expert=Peter_Hale http://EzineArticles.com/?User-Driven-Modelling---Background-Information&id=181438
Dot Net Remoting
By [http://ezinearticles.com/?expert=Divyen_Patel]Divyen Patel
Today’s enterprise is equipped with array of business applications running across LAN, WAN and public internet. Applications domains cannot remain dispersed for business that demands ad hoc needs. It is now crucial for enterprises to lay these applications out of black box and allow them to communicate seamlessly with each other under distributed environment. There exist several technologies and platforms, which permit interprocess communication across network, and one amongst them is “The .NET Remoting”.
.NET Remoting provides generic framework and set of APIs for developing distributed application that allows different applications to communicate with one another. These applications can be located on the same machine, different machines on the same network or even machines across separate networks.
Numerous technologies permit interprocess communication. DCOM (Distributed COM), Web Services, .NET Remoting all fall under umbrella of Microsoft distributed computing. Both DCOM and Web Services have specific shortcomings that make “The .NET Remoting” a center of interest.
DCOM is restricted to computers of similar type on the same network as it relies on binary protocol. When internet connected world is to be approached, DCOM cannot bring in to play, as every object model does not support binary protocol. One more shortcoming of DCOM is that it works on range of ports that are generally blocked on firewall. Although you can configure firewall and open tons of port for DCOM to work well but in that, it decreases effectiveness of firewall and lot of security issues come up.
Web service a buzzing word, fall under .NET Remoting. Web service is the simplified programming model that allows application to exchange messages in a way that is platform independent, object model independent and programming language independent. Web service is restricted to HTTP protocol only where as .NET Remoting can work on range of protocols. Yet another shortcoming of Web service that put .NET Remoting ahead of it is that it is stateless, each request results in creation of new object, while .NET Remoting allows correlating multiple calls and maintaining state.
It is very difficult to provide ideal Remoting Framework that assures to meet need of most of the business applications. Microsoft has taken a key step in the right direction to improve .NET Remoting with framework 2.0.
One of the big new addition in “.NET Remoting” with Framework 2.0 is a new communication channel called IPC Channel, based on named pipe for cross process communications within the same machine. Previously developers had to depend on network stack, even though they need to communicate with processes on the same machine. In addition, security and restrictions have been applied to IPC Channel with an ACL to limit number of users accessing channel.
Another step up in “.NET Remoting” with framework 2.0 is the improved TCP channel. Security interface SSPI (Security Service Provider Interface) has added to TCP channel that requires window identity for authorization and thereby making it a secure remoting solution.
Strict nature of formatter has been a major problem starting from framework 1.0. It restricts only exact matches of types to be de-serialized on the receiving end. It enable type developers to modify and evolve their types over a time without failing to serialize between versions. This improvement is called “Version-tolerant serialization”
for more informaton visit
http://www.freewebs.com/divyen
or http://divyen.webs.com
Article Source: http://EzineArticles.com/?expert=Divyen_Patel http://EzineArticles.com/?Dot-Net-Remoting&id=419398