End-User Programming Using the Semantic Web

This article outlines future research that is required for the advancement of representation, search, and visualization of information, and at recent and future developments in the use and representation of taxonomies and ontologies, and visualization tools that can aid in their use. Berners-Lee et al (2006) explain the importance of visualization for navigation of information “Despite excitement about the Semantic Web, most of the world’s data are locked in large data stores and are not published as an open Web of inter-referring resources. As a result, the reuse of information has been limited. Substantial research challenges arise in changing this situation: how to effectively query an unbounded Web of linked information repositories, how to align and map between different data models, and how to visualize and navigate the huge connected graph of information that results.”

A new approach is required to software creation. This approach should involve developers creating software systems that enable users to perform high level programming, and model the problem for which they are the experts. This is an alternative to the provision by developers of modelling solutions that try to provide an out of the box solution that just needs ‘tweaking’. Such an out of the box system is impractical considering both increases in complexity of manufactured products, and of software systems themselves. Cheung (2005) writes “there is no single management tool or data exchange format that can satisfy all requirements and overcome all the obstacles involved within a collaborative product development environment”. People like to work on their own solutions providing they are computer literate and confident they have domain knowledge that the developers do not possess. Research cited here from others involved in end-user programming seems to confirm this.

Research in the use and visualization of Semantic Web information provides the tools that end-user programmers have been lacking until recently. Cheung (2005) explains that “With the development of user-friendly ontology editing software and automatic data exchange functions, the application of ontological approaches to exchange information across the WWW is most likely to be an essential aspect of the next generation of global knowledge management tools.

Horrocks (2002) explains the advantages of moving towards a more formal ontology. This can provide for a new way of enabling end-user programming – with the user editing interactive diagrams. In terms of automated model generation, labelling relationships between objects allows the depiction of a number of aspects of a domain in one model, and with a consistent syntax. Ciocoiu et al (2000) explain how an engineering ontology can be made more rigorous in order to facilitate interoperability. This allows representation of, say, a product structure and its manufacturing processes together. A single node then is the only representation of that node within the model, with all its relationships depicted as arcs emanating/terminating at the node. More expressive semantic descriptions are possible through the use of one of the standard OWL dialects. Protégé has OWL plug-ins available that provide this functionality, together with links to reasoning tools for maintaining and analysing the logical constructs (Storey et al, 2004) and (Elenius, 2005). The University of Victoria Computer-Human Interaction and Software Engineering lab (CHISEL) (2006) has developed Jambalaya (Ernst et al, 2003) for visualization of knowledge and relationships. Ernst et al explain that the “larger ontologies that are being developed quickly exhaust human capacity for conceptualizing them in their entirety”, so the visualization tools must assist the user to view the information they need. Researchers at the University of Queensland Australia have developed a hyperbolic browser to display RDF files, this is explained in Eklund et al (2002). Cheung et al (2005) provide an ontology editor for knowledge sharing in manufacturing.

It is also important not to stay limited on one ontology development environment but instead explore how ontologies can be developed using a range of development tools and translated between each where necessary (Garcia-Castro and Gomez-Perez, 2006) are testing this. An important new development is SWRL a Semantic Web Rule Language Combining OWL and RuleML and its use in modelling. This could be of use for formally specifying the construction of equations and rules in a model and the relationships and constraints between items represented in an equation. Miller and Baramidze (2005), Horrocks et al (2003), and Zhang (2005) explain the SWRL language. Horrocks et al talk of defining properties as general rules over other properties and of defining operations on datatypes, this research could assist in providing a visual rule and equation editor. An editing facility to model these equations and constraints, so that errors could be prevented, would improve the usability of future visual modelling systems. Support for SWRL in Protégé (Miller and Baramidze, 2005) will assist with the construction of a modelling system with sophisticated editing of rules.

A future task to be undertaken would be the inclusion of uncertainty in the automatically produced models, for situations where accurate information cannot be provided for the model. This would require provision of a way of handling uncertainty for parameters within the ontology, e.g. as 3 values describing a triangular distribution rather than a unique absolute value. The decision support meta-program could be expanded to write out the code to run Monte-Carlo sampling, hence making use of the statistical uncertainty capability. Miller and Baramidze (2005) examine efforts to develop mathematical semantic representations above the syntactical representations of MathML. this effort should make it possible for standardisation of representation of mathematical expressions that relate nodes, and their values and expressions, to each other. Constraints could then be added to prevent invalid mathematical expressions. Miller and Baramidze also explain their research in Discrete-Event Modelling Ontology (DeMO) for simulation and modelling. This uses OWL to define a simulation and modelling class hierarchy. It would be very useful to create an example to demonstrate this with a practical model to test the use of this ontology.

It would be interesting and useful to create an environment where people could use example models and evaluate their usability and usefulness. This could follow a similar model to that used for the development of open source software or collaborations such as Wikipedia (2007), and the Semantic Web Environmental directory SWED (2006). Testing of usability for collaboration is complex and (Johnson et al, 2003) explain how this requires interdisciplinary expertise from several fields. Semantic Web research also requires an interdisciplinary approach as explained by Berners-Lee et al “Understanding and fostering the growth of the World Wide Web, both in engineering and societal terms, will require the development of a new interdisciplinary field.” A project such as this can bring together people with diverse backgrounds, interests and expertise. Cheung et al (2007) make the point that open source development can avoid vendor lock-in, eliminate unnecessary complexity, give freedom to modify applications, and provide platform and application independence. Johnson (2004) has developed more sophisticated ways of understanding and providing for complex human activity and testing the success of this.

It could be possible to extend the semantics used in the specification of models to allow the creation of a framework for simulations. Lacy and Gerber (2004) examine how OWL can be used to aid modelling and simulation. Because the ontology uses open standards, these simulations could be made broadly available on the web. It is important that the necessary infrastructure is created to allow this facility to be added. The approaches of others to this problem have been examined. Page (1998), Page et al (2000) and Page and Opper (2000) examine the nature of web-based simulations. Miller et al (2001) explain the technology behind web-based simulations, and argue the need for demonstrating the application of web-based simulations for major projects. Fishwick and Miller (2004) examine the use of ontologies for modelling and simulation. The authors were involved in the RUBE project that developed a system for battle simulations, illustrated in Fishwick and Miller (2004). The RUBE project uses open standards and Protégé for the ontology, and outputs some code automatically. Kuljis and Paul (2001) evaluate progress in this field of web simulation. They argue the need for web-based simulations to be focussed on solving real-world problems in order to be successful. Kim et al (2002) explain how techniques of generating executable code from documents specified in standardised XML can be used to create simulations.

Reed et al (2000) examine possibilities for improving the aircraft design process with web-based modelling and simulation. Simulations could also be used for optimization and Chen and Yücesan (2001) investigate this. So web based simulation is an area of research worth exploring. The use of process models can allow accurate manufacturing times to be generated. This requires dynamic models of factories, cells and processes. Also it is necessary for users of a system to be able to gather information from various computer systems such as databases and spreadsheets. There is a conflict between the aim to develop an ideal representation of knowledge using an ontology editor, and the practical need to edit the data in the database or application it is currently held in. The research examined has undertaken so far, prototypes ways of creating information and of finding it. Other researchers such as Aragones et al, (2006) and Crapo et al (2000) and (2002) have also investigated this problem.

Shim et al (2006) discuss user interface issues for this kind of problem, they investigate techniques for “powerful, yet simple user interface designs that enable interactive queries, reporting, and graphing functions”. They also examine end user computing history – “The evolution of the human–computer interface is the evolution of computing. The graphical user interface (GUI) that was refined at Xerox, popularized by Macintosh, and later incorporated into Windows”. Recent developments in the use of Meta languages for platform independence should make the development of end-user programming quicker and easier. Bishop (2006) explains current problems “The current practice is for GUIs to be specified by creating objects, calling methods to place them in the correct places in a window, and then linking them to code that will process any actions required. If hand-coded, such a process is tedious and error-prone; if a builder or designer program is used, hundreds of lines of code are generated and incorporated into one’s program, often labeled ‘do not touch’. Either approach violates the software engineering principles of efficiency and maintainability.” The author investigates, evaluates and advocates the use of platform independent programming languages.

The solution to these problems involves programming with Semantic Web languages rather than just using them for information representation. This will make translation for interoperability easier and more reliable, and further improve the maintainability of software systems.


Aragones, A., Bruno, J., Crapo, A., Garbiras M., 2006. An Ontology-Based Architecture for Adaptive Work-Centered User Interface Technology. In: Jena User Conference, 2006, Bristol, UK.

Berners-Lee, T., Hall, W., Hendler, J., Shadbolt, N., Weitzner, D. J., 2006. Creating a Science of the Web. Science 11 August 2006:Vol. 313. no. 5788, pp. 769 – 771.

Bishop, J., 2006. Multi-platform user interface construction: a challenge for software engineering-in-the-small. In: International Conference on Software Engineering, Proceeding of the 28th international conference on Software engineering pp 751-760.

Chen, C.-H., Yücesan, E., 2001. Distributed Web-Based Simulation Experiments For Optimization. Journal of Simulation Practice and Theory, 9, pp 73-90.

Cheung, W. M., Maropoulos, P. G., Gao, J. X., Aziz, H., 2005. Ontological Approach for Organisational Knowledge Re-use in Product Developing Environments. In: 11th International Conference on Concurrent Enterprising – ICE 2005, University BW Munich, Germany.

Cheung, W. M., Matthews, P. C., Gao, J. X., Maropoulos, P. G., 2007. Advanced product development integration architecture: an out-of-box solution to support distributed production networks. International Journal of Production Research March 2007.

Ciocoiu, M., Gruninger, M., Nau, D. S., 2000. Ontologies for Integrating Engineering Applications. Journal of Computing and Information Science in Engineering, 1(1) pp 12-22.

Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2002. Visualization and Modelling for Intelligent Systems. In: C. T. Leondes, ed. Intelligent Systems: Technology and Applications, Volume I Implementation Techniques, 2002 pp 53-85.

Crapo, A. W., Waisel, L. B., Wallace, W. A., Willemain, T. R., 2000. Visualization and the process of modeling: a cognitive-theoretic view. In: Conference on Knowledge Discovery in Data – Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining pp 218-226.

Eklund, P., Roberts, N., Green, S., 2002. OntoRama: Browsing RDF Ontologies using a Hyperbolic-style Browser. In: The First International Symposium on Cyber Worlds, CW02, Theory and Practices, IEEE Press. (2002) pp 405-411.

Elenius, D., 2005. The OWL-S Editor – A Domain-Specific Extension to Protégé. In: 8th Intl. Protégé Conference – July 18-21, 2005 – Madrid, Spain.

Ernst, N. A., Storey, M., Allen, P., Musen, M., 2003. Addressing cognitive issues in knowledge engineering with Jambalaya. In: Workshop on Visualization in Knowledge Engineering at KCAP [http://www.neilernst.net/docs/pubs/ernst-kcap03.pdf].

Fishwick, P. A., Miller, J. A., 2004. Ontologies for Modeling and Simulation: Issues and Approaches. In: Proceedings of the 2004 Winter Simulation Conference, Orlando, Fla, pp 259-264.

Garcia-Castro R, Gomez-Perez A, 2006. Interoperability of Protégé using RDF(S) as interchange language. In: 9th Intl. Protégé Conference, July 23-26, 2006 – Stanford, California.

Horrocks, I., 2002. DAML+OIL: a Reason-able Web Ontology Language. In: proceedings of the Eighth Conference on Extending Database Technology (EDBT 2002) March 24-28 2002, Prague.

Horrocks, I., Patel-Schneider, P. F., van Harmelen, F., 2003. From SHIQ and RDF to OWL: The making of a web ontology language. Journal of Web Semantics, Vol 1(1), pp 7-26.

Johnson, P., 2004. Interactions, Collaborations and breakdowns. In: ACM International Conference Proceeding Series; Proceedings of the 3rd annual conference on Task models and diagrams Vol 86
Prague, Czech Republic.

Johnson, P., May, J., Johnson, H., 2003. Introduction to Multiple Collaborative Tasks. In: ACM Transactions on Computer-Human Interaction (TOCHI), Volume 10 (4) December 2003 pp 277-280.

Kim, T., Lee, T., Fishwick, P., 2002. A Two Stage Modeling and Simulation Process for Web-Based Modeling and Simulation. ACM Transactions on Modeling and Computer Simulation, 12(3), 230-248.

Kuljis, J., Paul, R. J., 2001. An appraisal of web-based simulation: whither we wander?. Simulation Practice and Theory, 9, pp 37-54.

Lacy, L., Gerber, W., 2004, Potential Modeling and Simulation Applications of the Web Ontology Language – OWL. Proceedings of the 2004 Winter Simulation Conference pp265-270.

Miller, J. A., Baramidze, G., 2005. Simulation and the Semantic Web. In. Proceedings of the 2005 Winter Simulation Conference.

Miller, J., Fishwick, P. A., Taylor, S. J. E., Benjamin, P., Szymanski, B., 2001. Research and commercial opportunities in Web-Based Simulation. Simulation Practice and Theory, 9, pp 55-72.

Page, E. H., Buss, A., Fishwick, P. A., Healy, K. J., Nance, R. E., Paul, R. J., 2000. Web-Based Simulation: Revolution or Evolution?. ACM Transactions on Modeling and Computer Simulation, 10(1), pp 3-17.

Page, E. H., Opper, J. M., 2000. Investigating the application of web-based simulation principles within the architecture for a next-generation computer generated forces model. Future Generation Computer Systems Volume 17(2) pp 159-169.

Reed, J. A., Follen, G. J., Afjeh, A. A., 2000. Improving the Aircraft Design Process Using Web-Based Modeling and Simulation. ACM Transactions on Modeling and Computer Simulation, 10(1), pp 58-83.

Semantic Web Environmental directory SWED, 2006. Summary [http://www.swed.org.uk/swed/about/].

Shim, J.P., Warkentin, M., Courtney, J. F., Power, D J., 2002, Past, present, and future of decision support technology. Decision Support Systems 33 pp 111-126.

Storey, M., Lintern, R., Ernst, N., Perrin, D., 2004, Visualization and Protégé In: 7th International Protégé Conference – July 2004 – Bethesda, Maryland.

University of Victoria, 2006. Model Driven Visualization (MDV) http://www.thechiselgroup.org/?q=mdv

Wikipedia, 2007. Welcome to Wikipedia http://en.wikipedia.org/wiki/Main_Page

Zhang, Z., 2005. Ontology Query Languages for the Semantic Web: A Performance Evaluation. MSc Thesis, (Under the Direction of John.A.Miller).

Java Tutorial – What Is Object Oriented Programming in Java?

Java is termed an Object Oriented language. So, exactly what does Object Oriented indicate? It signifies that the foundations of virtually any computer program built-in Java may very well be imagined in terms of Objects. A good example of this idea is to take a look at a number sample business requirements for a product. Imagine that we are actually tasked with developing a computer program which should manage a huge public library system. This system will have to account for the whole set of branches belonging to the libraries, each of the materials that might be contained in the branches, in addition to any individual visitors that may would like to borrow books in the library’s branch.

First of all we could begin doing is look at these specifications and spot each of the words which happen to be nouns. For the record, a noun is really a person, place or thing. Thus, when you assess these specifications we discern the foregoing nouns:

1) Library
2) Book
3) Branch
4) Customer

All of these phrases definitely symbolize Objects in Java. That is, fundamentally, Object Oriented programming (aka O-O programming). What we might now go about doing, is just transfer these four Objects on to a single piece of old fashioned paper, and begin to find what types of attributes each one of these Objects possess What do I mean by attributes? Okay, in O-O development it is often known as recognizing the “has a” relationships. Here is an example, a Branch “has an” address, a Book “has a” title, a Customer “has a” designation. We could map out all of the significant attributes that all of these Objects have, and build ourselves a superb beginning point for the design of any Java application.

Object Oriented development enables developers to think in terms of real world “things” or Objects, and simply solve problems with those Objects. It is advisable to note that Java is actually not the only O-O programming language in existence, as it was actually recognized nearly five decades ago and a lot of popular programming languages make use of Object Oriented principles. Those languages may include C++, C#, Objective-C, Python, Ruby, and Visual Basic.

There are a lot more notions that happen to be essential in O-O programming languages including inheritance, polymorphism along with encapsulation. If you are interested in figuring out much more Object Oriented programming as it pertains to the Java language, there are lots of terrific Java tutorial blogs in existence nowadays.

Best Computer Distance Learning Programs

As we live in a techno-driven world, knowing more about technology and computers can make you stand ahead of others. The present day is all about computers. In fact computers have made this world into an e-world where everything is just a click away. In just about every business computers are playing a major role.

Today, if you are not confident in using computer or specific computer programs you might find that it is tough to get a job in a field that you have been in, even if you have been caring experience of many years. These days employers are expecting employees to be able to use computers and have proper knowledge of various online tools, so if you haven’t learned yet, this is the time to give a serious thought for applying different computer courses.

At present, there are numerous online computer courses and distance learning programs that are being offered from leading universities. The best thing about these courses or distance learning degrees is that they are affordable and comparatively easy to learn. In addition to this, another awesome part of these online computer degrees is that they allow you to learn in the privacy of your own home.

You don’t have to be anxious about being the oldest or youngest in a class or appearing uneducated in front of other people. By applying for online computer courses, you can study in an environment where you are comfortable and can really absorb the information properly. Apart from this, these courses cover a broad spectrum of subjects ranging from simple applications to complex programming languages. Some of the best computer distance learning programs that is gaining its popularity in current scenario is:

Animation Distance Learning Programs – This distance learning course is ideal for those students who are interested in a career that involves bringing characters, settings and drawings to life via the internet, computer generated programs, or traditional animation art techniques. This online degree in animation also includes courses in many different areas, not just specifically animation. Students can anticipate taking classes on two and three dimensional drawing and animation, storyboarding, background design and programs on working with various operating systems and software programs. With a degree in animation you can also be hired as an entry level animator, video production artists, forensic artists or computer generated special effects artists.

Computer Network Engineering – This degree provides you ideal opportunity to make a career where you want to get involved in the design and maintenance of both the hardware and software necessary for a computer network. During this online program, you will learn essential skills and knowledge in a vast assortment of computer applications, software applications and troubleshooting methods. The best part of this course is – it is the combination of technical and general education courses that can help you develop skills in critical thinking, logic, communication, and problem-solving. The degree also helps you prepare for entry-level jobs in the industry including network administrator and computer support specialist.

Online Computer Software Engineering – Addressing the rapid rise in demand for software engineering professionals, this online computer software engineering course provides you with an understanding of the latest technologies that are being developed, and encompasses managerial and technical aspects of software engineering. The major highlight of this online program is it also offers interactive e-Learning method and incorporates best-practices in computer science, project management, engineering, interface design and other disciplines. A software engineering degree can be a precious plus point in your career and there is no easier way to obtain one than through an online program.

Cyber Security Distance Learning Programs – This course provide you with an in-depth study in IT Infrastructure Security. In this distance learning program you will be exposed to most important facets of computer security, including cyber-law, cyber-terrorism, viral activity, compliance issues along with hardening the operating system. Today many businesses and nations have shifted the control of essential processes in manufacturing, banking, and communications to networked computers. With an online degree in Cyber Security, you will acquire the knowledge to be on the front lines and guard these vital infrastructures from cyber crime attacks.

These are some online computer degrees that can help you find the right career-path. Attaining a degree in any of these courses can enable you to work with computers and the internet in ways that most people can’t. Looking at the present scenario, the bottom line is that having an online computer degree is one way of the best ways to get a job that you might have once thought was impossible. You may place yourself in one the peak paid employees in the company.