Showing posts with label XML. Show all posts
Showing posts with label XML. Show all posts

Thursday, December 31, 2009

Methodology for creation of modelling systems

This approach is based on creation of systems that can be customised to produce other systems and models, and translation from abstract diagrammatic representations to computer representations.The conclusion explains how this approach to modelling and end-user programming enables interoperability, and collaboration, and that this assists with Maintenance, Extensibility, Ease of Use, and Sharing of Information.

This methodology can be seen as an attempt to semi-automate knowledge acquisition and representation approaches such as the SEPA Funnel (Systems Engineering Process Activities) . This methodology was prototyped in the research that led to the User Driven Modelling/Programming Approach. This provides a translation process from Knowledge Acquisition to modelling (User Driven Modelling), and automated translation of model to software (User Driven Programming), and so takes this SEPA Funnel to a further stage of translation/transformation of the model/system design specification. This can be facilitated by using XML (eXtensible Markup Language) as a programming language, for the representation of data and formulae, and of the user interface e.g. XAML (eXtensible Application Markup Language).

The methodology suits top-down ontology and model creation e.g. from those responsible for the root item in a product data structure downwards, and bottom-up ontology development, e.g. alternative solutions, tagging of items to allow discussion and enable disambiguation, and agreement on terminology, and mapping of alternative names to each other. This dual approach is facilitated by the translation being provided in both directions.

This model-driven approach examines how links between engineers and modellers/modelling tools can be improved, by visualising a modelling structure that mirrors the structure of the engineering product design. This provides traceability for calculation and decision making in a more clear, structured and visualised way than the audit trail in spreadsheets. This work concentrates mainly on requirements (Airbus, Rolls-Royce), software, and HCI aspects of systems. The main method for this is diagrammatic modelling which was used in gathering requirements, and is also implemented within the modelling system developed.

Making the structure of a model be the same as the structure of the engineering component modelled, and visualising both turns two problems into one. This speeds up co-operation in prototyping of both the software model and the component. Both rapid prototyping and rapid application design/development involve iterative fast development with prototypes communicated for feedback and refinement.

Requirements emerge gradually as part of this process, so early stage design can begin, in co-operation with life-cycle management, marketing, accounts etc. To get full benefit from this all staff who are part of this design process, manufacturing, management, and life-cycle management need to be able to access the models. The longer term aim is to enable direct modelling/prototyping of this by customers of the modelling tool e.g. engineers/end-user programmers. Such a system documents itself as the structure of the engineering product and software model are displayed/visualised. This would make it possible for emergent properties of a system to become known.

Despite object-oriented programming techniques being heavily influenced by the approach used by engineers for Bill of Materials/Product Data Structure modelling this link is difficult. Much of object-oriented programming was developed before graphical user interfaces became practical and common. So objects/classes are often represented mainly by text with visualisation/representation being added as an afterthought. This is not useful for engineers who are used to objects being physical things, or at least diagrams. A further problem has been an over-emphasis on encapsulation (hiding an objects' details, while creating an interface for its use, and re-use). This can lead to errors due to re-use of objects not fully understood. So the classes/objects must be visualised, even if the user does not intend to change their contents, then the user of objects has sufficient understanding of how to use them. This would improve the link and co-operation between engineers and modellers/models. The advantage is that engineers can iterate back and forth between problem and solution, this avoids two risks - going straight to a solution too early, or the problem being so abstract that no solution is achieved. Rapid iteration that semi-automating of the system provides enables an improved chance for finding a good solution. This approach is particularly suitable to taxonomy tree structures, so is best applied for process modelling (business and engineering), product data and work breakdown structures, and scientific taxonomies/phylogenies.

A requirement for use of such a system by engineers (or business and science) is to eliminate or minimise the need for code writing. This then would enable engineers to create models by linking of formulae, as they do when using spreadsheets, but provide a more structured (tree based) representation and visualisation of model(s). To find alternative ways of representing models that do not require the user to write code it must be easier to interact with and change the models, and to share and develop information with colleagues. It would also be useful to more closely align and link UML, and code development environments. Too much need for coding leads engineers to lose influence on the system to be developed, as the model needs to be created by software experts who have less understanding of the engineering problem.

Conclusion
This work involved development of a system for creating systems. Advantages of this approach are Maintenance, Extensibility, Ease of Use, and Sharing of Information. The use of open standards and representation enables this system to interact and interoperate with other systems and enable collaboration. This makes this system a ‘white box’ which can interact with and be viewable to other systems rather than a proprietary ‘black box’. This systematic design and representation of engineering modelling systems, enables semi-automated translation. This enables rapid iteration around a cycle of knowledge acquisition, specification of the problem, prototypes, and alternate potential solutions. This assists with deciding when to adapt and re-use existing solutions and when to innovate.

Such a system could be used to rebuild the system engineering for aerospace capabilities at UWE, and is being developed further at Bath University. A further advantage of the approach outlined here is that it shows promise for use in the SALT (Sharing Approaches to Learning and Teaching) project and for the Tearfund disaster relief project, so the flexibility built into it makes the process applicable to problems for which it was not envisaged and designed. Although these tools can be regarded as software related, they are also and more importantly a way of empowering computer literate end-users (e.g. engineers) with the autonomy to collaboratively model problems more free of constraints of software development. This enables better collaboration across disciplines and more independent of management structure and hierarchy.

SEPA Funnel - http://www.umcs.maine.edu/~ftp/wisr/wisr9/final-papers/Barber.html - K. Suzanne Barber, Thomas J. Graser, and Stephen R. Jernigan.

Systems Engineering MSc Module Assignment - Main part - http://docs.google.com/View?id=dgp7zcg6_344cxn8sxhs - Appendix - http://docs.google.com/View?id=dgp7zcg6_352c8j2w5cg.

Thursday, August 28, 2008

Semantic Web Programming

Semantic Web Programming would allow searching the Semantics within programs rather than just outputs. This would be a step on from open source programming, this would allow open semantics programming. The code could then be visualised and interacted with using all the tools available for visualising semantic web languages. The whole tree/graph structure of a program could be visualised and searched easily.

Programming with XML is already enabled, and progress can now be made in using those languages such as RDF and OWL which are higher in the Semantic Web stack.

Programming with XML is possible using XForms, XQuery, Simkin, Metal, and many Rich Internet Application development environments.

Programming is becoming possible using OWL and OWL-S (OWL for Web Services). Visualisation of OWL structures enables editing by using UML Activity Diagrams, and OWL models programming structures such as if-then-else, and while loops.

Useful Links

Berners-Lee, T., Semantic Web - XML2000 - Architecture - http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide10-0.html

Dmitriev, S., Jetbrains - Meta Programming System - http://www.onboard.jetbrains.com/is1/articles/04/10/lop/ - Language Oriented Programming: The Next Programming Paradigm - Sergey Dmitriev.

From BPEL4WS Process Model to Full OWL-S Ontology - http://www.eswc2006.org/poster-papers/FP13-Aslam.pdf - Muhammad Ahtisham Aslam, Sören Auer - University of Leipzig Germany, Jun Shen - University of Wollongong Australia - ABSTRACT - BPEL4WS is one of the most utilized business process development languages. It can be used to develop executable business processes as a combination of Web Services interactions in a specific sequence called process flow. But still BPEL4WS lacks sufficient representation of business process semantics required for business processes automation. On the other hand OWL-S (OWL for Web Services) is designed to present such kind of semantic information. There exists similarity in the conceptual model of OWL-S and BPEL4WS that can be used to overcome this lack of semantics in BEPL4WS by mapping the BPEL4WS process model to the OWL-S ontology. The mapped OWL-S service can be dynamically discovered, composed and invoked on the basis of matching semantics. Such a process of mapping syntax based Web Services composition in the form of BPEL process model to Semantic Web Services composition in the form of OWL-S composite service can also enable automation of BPEL processes as OWL-S services by applying AI planning techniques. In this paper we present a mapping strategy and a mapping tool that can be used to map BPEL processes to the OWL-S suite of ontologies.

Introduction to OWL - http://www.w3schools.com/rdf/rdf_owl.asp - OWL is a language for processing web information. What You Should Already Know Before you study OWL you should have a basic understanding of XML, XML Namespaces and RDF.

MetaL - http://www.meta-language.net/ - MetaL: An XML based Meta-Programming language.

OWL - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htmOWL

OWL-S API - http://www.mindswap.org/2004/owl-s/api/ - Mindswap - Maryland Information and Network Dynamics Lab Semantic Web Agents Project - OWL-S API provides a Java API for programmatic access to read, execute and write OWL-S (formerly known as DAML-S) service descriptions. The API supports to read different versions of OWL-S (OWL-S 1.0, OWL-S 0.9, DAML-S 0.7) descriptions. The API provides an ExecutionEngine that can invoke AtomicProcesses that has WSDL or UPnP groundings, and CompositeProcecesses that uses control constructs Sequence, Unordered, and Split. Executing processes that relies on conditionals such as If-Then-else and RepeatUntil is not supported in the default implementation. But this implementation can be extended to handle these constructs if the application that uses the OWL-S descriptions has a custom syntax and evaluation procedure for the conditions.

OWL-S Editor - http://owlseditor.semwebcentral.org/download.shtml - Download.

OWL-S Editor - http://iswc2004.semanticweb.org/demos/02/paper.pdf - Grit Denker and Daniel Elenius and David Martin - SRI International, California, USA, Linkoping University, Linkoping, Sweden - INTRODUCTION - An increasing number of organizations are endorsing Web Services (WS) technology to extend corporate resources to customers and partners and to leverage resources of others. AlthoughWeb Services, based on XML technology, allow interoperability, they do not support efficient and flexible search, allocation, composition, runtime monitoring, or invocation of those Web Services. Semantic Web Services (SWSs) use semantically rich annotations to facilitate these tasks. Richer semantics can provide fuller, more flexible automation of service provision, and use and support the construction of more powerful tools and methodologies.

OWL-S Editor to Semantically Annotate Web-Services - http://staff.um.edu.mt/cabe2/supervising/undergraduate/owlseditFYP/OwlSEdit.html - University of Malta - Department of Computer Science and A.I. - James Scicluna - The current version of the Owl-S Editor can be downloaded from here. We welcome any feedback related to how the tool was used and how effective it was to solve your particular needs. Let us know so that we can improve the tool.

OWL-S: Semantic Markup for Web Services - http://www.daml.org/services/owl-s/1.1/overview/ - Abstract - The Semantic Web should enable greater access not only to content but also to services on the Web. Users and software agents should be able to discover, invoke, compose, and monitor Web resources offering particular services and having particular properties, and should be able to do so with a high degree of automation if desired. Powerful tools should be enabled by service descriptions, across the Web service lifecycle. OWL-S (formerly DAML-S) is an ontology of services that makes these functionalities possible. In this document we describe the overall structure of the ontology and its three main parts: the service profile for advertising and discovering services; the process model, which gives a detailed description of a service's operation; and the grounding, which provides details on how to interoperate with a service, via messages.

OWL Web Ontology Language Guide - http://www.w3.org/TR/owl-guide/ - W3C Recommendation 10 February 2004 - The World Wide Web as it is currently constituted resembles a poorly mapped geography. Our insight into the documents and capabilities available are based ..word searches, abetted by clever use of document connectivity and usage patterns. The sheer mass of this data is unmanageable without powerful tool support. In order to map this terrain more precisely, computational agents require machine-readable descriptions of the content and capabilities of Web accessible resources. These descriptions must be in addition to the human-readable versions of that information.

The OWL-S Editor - A Development Tool for Semantic Web Services - http://owlseditor.semwebcentral.org/documents/paper.pdf - Daniel Elenius, Grit Denker, David Martin, Fred Gilham, John Khouri, Shahin Sadaati, and Rukman Senanayake - SRI International, Menlo Park, California, USA - Abstract. The power of Web Service (WS) technology lies in the fact that it establishes a common, vendor-neutral platform for integrating distributed computing applications, in intranets as well as the Internet at large. Semantic Web Services (SWSs) promise to provide solutions to the challenges associated with automated discovery, dynamic composition, enactment, and other tasks associated with managing and using service-based systems. One of the barriers to a wider adoption of SWS technology is the lack of tools for creating SWS specifications. OWL-S is one of the major SWS description languages. This paper presents an OWL-S Editor, whose objective is to allow easy, intuitive OWL-S service development and to provide a variety of special-purpose capabilities to facilitate SWS design. The editor is implemented as a plugin to the Protege OWL ontology editor, and is being developed as open-source software.

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

Programming with XML - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htmProgrammingwithXML

Rich Internet Applications - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htmRichInternetApplications

Simkin - http://www.simkin.co.uk/- A high-level lightweight embeddable scripting language which works with Java or C++ and XML.

VISUAL MODELING OF OWL-S SERVICES - http://members.deri.at/~jamess/pdfs/scicluna-iadis2004.pdf - Msida MSD 06, Malta (Europe) - Mr. James Scicluna, Mr. Charlie Abela, Dr. Matthew Montebello, Department of Computer Science and Artificial Intelligence, University of Malta - ABSTRACT - The Semantic Web is slowly gathering interest and becoming a reality. More people are becoming aware of this and are trying to embed Semantic Web technologies into their applications. This involves the use of tools that can handle rapid ontology building and validation in an easy and transparent manner. In the area of Semantic Web Web Services (SWWS) an OWL-S specification defines a set of ontologies through which a semantic description of the service can be created. At times this is not an easy task and could result in an incorrect specification of the description or even lead the fainthearted user to resort to some other type of description language. This paper describes the OWL-S editor tool that provides two methodologies in which such a web services description can be developed without exposing the developer to the underlying OWL-S syntax. These methodologies are based on a mapping from WSDL to OWL-S and on modeling a composite service using standard UML Activity Diagrams.

XForms - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htmXForms

XQuery - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htmXQuery

Friday, August 24, 2007

PIXEL Programming Interaction with XML Environments and Languages

The aim of this research is to enable effective management of information by creation of a visual document, programming, and information management system and interface. The means for this is creation of a visual development environment for programming using XML based technologies. This will enable interactivity with and further development of this system by end-users such as administrative staff. An objective is to investigate use and improve visual environments and create proof of concept software for free distribution between academics, and amongst others, of this interactive environment. This will enable editing of the program structure using a visual representation of the software over the web that can be translated directly into code. Users will be able to change the program without ever needing to see the XML (eXtensible Markup Language) code. This will allow people to create interactive software that is well structured and searchable, and the best options for making this creation as straightforward as possible will evaluated. There are many techniques, tools and languages available for structuring and searching web pages, these will be applied to management of information.

Mayo and Steinberg [1] authored a cabinet office report for the UK Government recommending government partners with other providers to make use of User generated content and enable provision of information that helps achieve public policy objectives. A JISC (Joint Information Systems Committee) report explains the power of networks and how important it is for educational establishments to make proper use of them [2]. The flexibility of information representation languages could enable administrative users to maintain, adapt and extend a system themselves. This goes beyond open source development to enable development of communities of end-user programmers. Users can interact with XML via programs written in interpreted languages such as JavaScript. The user will not require any software except for a web browser as the development environment will be web-based.

XML is used for structuring information so different software systems can interpret it. This language can be used to structure web pages so that they can represent and link to programming objects. XML can be used as a way to manage workflow within and between organisations. XML provides the basis for creation of taxonomies and ontologies. Using Meta-tags defined with XML it is possible to create documents that define their own structure and to provide a consistent and understandable user interface. A further objective of this research is automating the conversion of information between formats, to assist organisations to manage their information.

Mechanisms for this Research
The intention is to prototype the creation an environment based on Semantic Web languages such as OWL (Web Ontology Language), RDF (Resource Description Framework) [3] and XML, not just for search but also combined into a comprehensive application that is usable for end-user programming of a large range of problems. To allow users to create Rich Internet Applications we intend to create a translator using XML or RDF/XML programming so the entire solution would be in XML based languages. This involves programming with Semantic Web languages rather than just using them for information representation. This will make the translation from visualisation to code easier and more reliable, and further improve the maintainability of the software created.

It is essential that new ways of enabling collaboration between all those involved in software creation and use are investigated. An important part of the research will be to investigate the use of Semantic Web languages for programming, rather than just for representation of information, this would expand on languages such as SPARQL (Simple Protocol and RDF Query Language) [3] and XQuery [4]. The use of Semantic Web languages for declarative programming can ease the translation between different representations of information, and ease interoperability between systems.

End-User XML Editing
An XML based drag and drop programming example has been created [5], this example was created with AJAX (Asynchronous JavaScript And XML). XML can be manipulated directly from the browser rather than requiring a specialist XML editor. This allows open standards platform independent end-user programming. The example is based on the Scand dhtmlxTree [6] and this makes it possible to enable many other programming actions such as adding and deleting nodes, and to create other editing controls. It will be possible to make use of XML based meta programming to allow end-user programming, Simkin [7] and Lemos [8] are examples of this approach. We intend to investigate and extend this approach to create meta language tools for programming, including for the display interface. Semantic languages provide a higher level declarative view of the problem to be modelled. We will develop declarative programming with XML based languages. Examples of research into XML as a programming language are AspectXML [9], and the Minimal Imperative Language XIM [10]. Interactive web programs can be created using scripting languages and XML combinations such as AJAX (Asynchronous JavaScript And XML) [11], which is a name for techniques to create highly interactive web pages. Web 2.0 technologies (often making use of Ajax) aim to reproduce on the web the functionality provided by office software and this can be extended to enable users to create their own programs using XML and a visual interface.

Even where documents are represented using XML or other structured languages, it is important to structure the contents and semantics using an ontology, Erdmann and Studer [12] experiment with this.

References
[1] Mayo E, Steinberg T, 2007, The Power of Information, Cabinet Office independent review - http://www.cabinetoffice.gov.uk/publications/reports/power_information/power_information.pdf?id=3965.
[2] JISC (Joint Information Systems Committee) Anderson P, 2007, Technology and Standards Watch What is Web 2.0? Ideas, technologies and implications for education - http://www.jisc.ac.uk/media/documents/techwatch/tsw0701b.pdf.
[3] World Wide Web Consortium (W3C), 2007, SPARQL Query Language for RDF, http://www.w3.org/TR/rdf-sparql-query/.
[4] McGovern J, Cagle K, Bothner P, Nagarajan V, Linn J, 2003, XQuery Kick Start.
[5] Drag and Drop, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/samples/components.html.
[6] Scand dhtmlxTree, 2007, http://www.scbr.com/docs/products/dhtmlxTree/index.shtml.
[7] Whiteside S, 2007, Simkin the embeddable scripting language, http://www.simkin.co.uk/.
[8] Lemos M, 2007, MetaL: An XML based Meta-Programming language, http://www.meta-language.net.
[9] Peterson M D, 2005, O'Reilly XML.com - [Part 3] Assets, Atom Feeds, and AspectXML - The Triple Threat of Web Development? - http://www.oreillynet.com/xml/blog/2005/09/part_3_assets_atom_feeds_and_a.html.
[10] Bayram Z, Onder R, 2007, XSL Transformations A delivery medium for executable content over the Internet, http://www.ddj.com/web-development/198800555.
[11] Cagle K, 2006, AJAX on the Enterprise, AJAXWorld conference, October 4, 2006 - http://www.oreillynet.com/xml/blog/2006/10/ajax_on_the_enterprise.html.
[12] Erdmann M, Studer R, 1999, Ontologies as Conceptual Models for XML Documents, Proceedings of the 12th Workshop on Knowledge Acquisition, Modelling and Management.

More Information

Ajax/Web2.0 - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm.

Drag and Drop Programming - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htmDragandDropProgramming.

RDF, OWL, Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.

XML - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm.

XML Programming - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htmProgrammingwithXML.

Friday, August 03, 2007

Drag and Drop Programming

This post examines how drag and drop programming and other forms of interactive software development can assist end-users to program via the web. AJAX (Asynchronous JavaScript And XML) software is used to provide a Web 2.0 style interactive interface. This can be linked to applications and to Semantic Web information.

Lieberman [1] blames end user programming difficulties on hard to understand programming languages and techniques and argues for visualisation and translation to code to enable end-user programming. To make end-user programming easier it is possible to develop high level visualised templates and translate these into program code. The Dagstuhl report [2] argues that existing programming languages are not sufficiently dependable for end-users to reliably use. De Souza [3] argues that the goal of human-computer interaction (HCI) will evolve from making systems easy to use to making systems that are easy to develop. A template system will assist in this. Ko [4] explains that end-user programmers must be allowed to focus on their goals, and an important part of the solution is to visualise the whole program execution not just the output, so it is necessary to show the user the whole program flow not just text based bug reports. A simple illustration of the techniques that can be used to further this research area is a demonstrator for meta-programming of XML (eXtensible Markup Language) based drag and drop trees [5], this example was created with AJAX (Asynchronous JavaScript And XML), a Java applet or Python were other options investigated. The code acts as a translator between the XML representation of the trees and interactive graphical representations. This allows open standards platform independent end-user programming. The example is based on the Scand dhtmlxTree [6] and this makes it possible to enable many other programming actions such as adding and deleting nodes, and to create other controls. Repenning [7] argues that visual programming languages using drag and drop mechanisms as a programming approach make it virtually impossible to create syntactic errors, allowing for concentration on the semantics", and Rosson [8] also advocates this technique. Such techniques could be used with other Semantic Web-based information representations implemented with languages and structures such as XML, RDF (Resource Description Framework), and OWL (Web Ontology Language), and provision of other controls. These controls could then be used as graphical components of a simulation system made available over the web. As well as being used for web-based visual programming an environment such as this could also be employed as an interface to PC based software, or as a translator between systems. Semantic languages provide a higher level declarative view of the problem to be modelled. Coutaz [9] explains that "An interactive system is a graph of models related by mappings and transformations." This would fit in well with the structure of RDF, which is also a graph structure.

It is important to investigate new ways of enabling collaboration between all those involved in software creation and use. The use of Semantic Web languages for declarative programming can ease the translation between different representations of information, and ease interoperability between systems. This translation or 'Program Transformation' allows for writing in one representation or language, and translating to another. This is particularly useful for language independent programming, or for high level and end-user translation to a language more easily interpreted by computer systems. The solution to many interoperability and software 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. The research will involve using and building a visualised Semantic programming layer on languages such as AspectXML, XForms, SPARQL, and XQuery all explained in [10] and Meta languages [11][12] to create software and to build an environment for high level end-user programming. This programming environment can be used for creating programs and an environment for end-user programming. The environment can be computer language and system independent as one representation can be translated into many computer languages or Meta languages. Tools such as Amaya [13] can be used for creating and editing Semantic Web applications and documents. This research is a test case for an approach of collaborative end-user programming by domain experts. The end-user programmers can use a visual interface where the visualisation of the software exactly matches the structure of the software itself, making translation between user and computer, and vice versa, much more practical.

To enable generic end-user programming functionality it is important to develop ‘information representation languages’ based on Semantic Web declarative programming languages. Standardisation in XML/RDF enables use of declarative rules for web services. This environment also has to provide a visual development interface for end-users in a similar way to that of Unified Modeling Language (UML) for professional developers. Repenning [7] and Engels [14] argue this.

References

1] Lieberman, H., 2007. End-User Software Engineering Position Paper. In: End-User Software Engineering Dagstuhl Seminar - http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1092.
[2] Burnett M M, Engels G, Myers B A, Rothermel G, 2007, End-User Software Engineering Dagstuhl Seminar, http://eusesconsortium.org/docs/dagstuhl_2007.pdf.
[3] De Souza, C., 2007. Designers Need End-User Software Engineering. In: End-User Software Engineering Dagstuhl Seminar.[4] Ko, A. J., 2007. Barriers to Successful End-User Programming. In: End-User Software Engineering Dagstuhl Seminar - http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1083.
[5] Drag and Drop, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/components.html.
[6] Scand dhtmlxTree, 2007, http://www.scbr.com/docs/products/dhtmlxTree/index.shtml.
[7] Repenning, A., 2007. End-User Design. In: End-User Software Engineering Dagstuhl Seminar - http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1099.
[8] Rosson, M. B., A., 2007. Position paper for EUSE 2007 at Dagstuhl. In: End-User Software Engineering Dagstuhl Seminar. - http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1094.
[9] Coutaz, J., 2007. Meta-User Interfaces for Ambient Spaces: Can Model-Driven-Engineering Help?. In: End-User Software Engineering Dagstuhl Seminar - http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1082.
[10] Programming with XML, 2007, http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm#ProgrammingwithXML.
[11] Dmitriev S, 2007, Language Oriented Programming: The Next Programming Paradigm - http://www.onboard.jetbrains.com/is1/articles/04/10/lop/.
[12] Mens K, Michiels I, Wuyts R, 2002, Supporting Software Development through Declaratively Codified Programming Patterns, Expert Systems with Applications Vol 23.
[13] Quint V, Vatton I, 2005, Towards Active Web Clients, DocEng Bristol United - http://wam.inrialpes.fr/publications/2005/DocEng05-Quint.html.
[14] Engels, G., 2007. Model-Driven Development for End-Users, too!? In: End-User Software Engineering Dagstuhl Seminar http://drops.dagstuhl.de/opus/frontdoor.php?source_opus=1085.

Other Information -
Drag and Drop Programming - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm#DragandDropProgramming.
Example Interfaces - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm#ExampleInterfaces.

Friday, June 15, 2007

Markup Languages

An important reason for creating the open standards ontology is that it can be accessed by many different users and/or applications. The open standard OWL (Web Ontology Language) is used in my thesis and is explained by (Bechhofer and Carrol), and there are several markup languages that can be used to represent structured information.


McGuinness (2003) explains the role of markup languages in defining content to be machine readable, McGuinness cites a diagram from a presentation by Berners-Lee (2000) that contains a diagrammatic representation of the place of each language in a stacked representation alongside the purpose of the language. This is shown in below.


Figure 10 - Architecture, sourced from Berners-Lee (2000)


Architecture, sourced from Berners-Lee (2000) - http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide10-0.html.


XML may not be sufficient on its own for defining ontologies. The XML syntax defines relationships by their position within the text file. Thus XML syntax always implies a sequence whereas in reality the order of items may be unimportant, also there is no explicit way of representing associations between items, or differentiating between an Inheritance and a Contains relationship. XML schemas and DTDs (Document Type Definitions) can be helpful in defining these relationships, but there is then scope for differences in the way they are defined. RDF has provided a layer of standardised semantics which overlays the basic XML. The RDF text can be embedded within XML.


I have chosen to use RDF represented using RDF/XML as this allows me to continue using XML tools for visualising or searching the RDF/XML while also allowing the use of tools available for representing RDF. Vehicle'. RDF consists of a resource, a property, and a property value. This 'Triple' corresponds to 'Subject', 'Predicate', and 'Object' in logic. Each RDF triple represents a fact. So RDF structures information into individual facts that link as a graph, each fact is a triple. This can be thought of as a sentence representing a fact such as 'Aircraft is a Vehicle'. An example of an RDF graph is shown in the figure below and the table illustrates rows of facts that make up the graph. More information is available here - Quick Intro to RDF.


RDF Graph Example, RDF Description of Aircraft


RDF Graph Example, RDF Description of Aircraft

Resource Property Value
Subject Predicate Object
Fact Aircraft Is a Vehicle
Fact Aircraft Flown by Pilot
Fact Aircraft Has Engine
Fact Plane Is an Aircraft
Fact Plane Has Wings
Uniform Resource Identifier (URI)

A Resource is anything that can have a URI (uniform resource identifier). A URI can look like a web address and can actually be a web address, but this is not always the case, it is a way of representing an entity. A URI consists of the name and location of the entity. An RDF Resource is described through a collection of properties and property values called an RDF Description. RDF provides a mechanism for describing collections, which are special kinds of resources, and a sequence is an ordered collection. A collection does not have to possess its own URI but it can.

RDF/XML has provided a layer of standardised semantics which overlays the basic XML. RDF does not have to be based on XML there is also a format called N3 http://rdfabout.com/quickintro.xpd. RDF extends the XML model and syntax to be specific for describing resources. For example Engine Ring Manufacture sequence can be represented as a sequence of groups of sequential operations as in this example. RDF is a W3C (World Wide Web Consortium) Recommendation, this means it is a stable specification and therefore a standard. Because a resource can represent anything, knowledge from any domain can theoretically be represented in RDF, this together with it's standardised syntax that allows it to be machine understandable are the reasons why RDF is such a useful and important technology for the Semantic Web.


RDF/XML Web pages can be linked to each other indefinitely, which is why it is such an important technology for the Semantic Web. If a web page exists for a URI there could be further information possibly represented using RDF on this web page. This allows resources to be linked to each other, which is why it is such an important technology for the semantic web. Because it is XML based, an RDF/XML Web page can be linked to an XSL stylesheet to produce a visual representation of the structure as in this example. This is also explained in this paper http://www.cems.uwe.ac.uk/~phale/ISPECE2003.htm, and by (Cayzer, 2004) who uses RDF to provide structure for Semantic blogging. Oren et al (2006) also use this approach of combining RDF and Semantic Web use with ease of editing in a Semantic Wiki.


SPARQL Simple Protocol and RDF Query Language is a query language and protocol for RDF being recommended to the W3C.


RDF/XML can be used to encode an ontology. (Fensel et al. 1998) and (Fensel et al. 2001) describe Ontobroker and the use of XML and RDF within this ontology tool. The use of ontologies is being driven by e-commerce and e-procurement where trading is online (UN/CEFACT and ebXML 2007).


References


Bechhofer S, Carrol J (2004) Parsing owl dl: trees or triples? Proceedings of the 13th international conference on World Wide Web, NY, USA pp 266 - 275.


Berners-Lee, T., 2000. Semantic Web on XML http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide1-0.html.


ebXML 2002, ebXML Enabling a Global Electronic Market. http://www.ebxml.org/, OASIS & UN/CEFAC, accessed on 9th January 2007.


Cayzer, S. 2004. Semantic Blogging and Decentralized knowledge Management. Communications of the ACM. Vol. 47, No. 12, Dec 2004, pp. 47-52. ACM Press.


Fensel, D. & Angele, J. & Decker, S. & Erdmann, M. & Shnurr, H. & Studer, R. & Witt, A. 1998. On2broker: Lessons Learned from Applying AI to the Web. http://www.aifb.uni-karlsruhe.de/WBS/Publ/2000/llfaattw_dfeetal_2000.pdf, accessed on 9th January 2007.


Fensel, D. Van Harmelen, F. Horrocks, I. McGuinness, D. Patel-Schneider, P. F., 2001. OIL: An ontology infrastructure for the semantic web. IEEE Intelligent Systems, 16(2), pp 38-45. - http://www.cs.man.ac.uk/~horrocks/Publications/download/2001/IEEE-IS01.pdf.


McGuinness D. L., 2003. Ontologies Come of Age. http://www-ksl.stanford.edu/people/dlm/papers/ontologies-come-of-age-mit-press-(with-citation).htm In: Dieter Fensel, Jim Hendler, Henry Lieberman, and Wolfgang Wahlster, ed. Spinning the Semantic Web: Bringing the World Wide Web to Its Full Potential. MIT Press, 2003.


Oren, E., Breslin, J. G., Decker, S., 2006. How Semantics Make Better Wikis - WWW 2006, May 23-26, 2006, Edinburgh, Scotland.


Relevant Web Pages


Language and Tool Mapping


Semantic Web Page - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm

Monday, June 11, 2007

Semantic Web Development

Semantic Web Development and dealing with complexity is a tricky issue. Representing information is a problem where complexity can preclude any single approach. In order to find our way around large quantities of information it needs to be structured. But the information already exists and is still being created, so this makes it a moving target. Kurt Cagle refers to this in his article on complexity on his Understanding XML blog at http://www.understandingxml.com/


The structuring of ontologies from the top down can be useful, but can only be achieved where the ontology developers have some control over the information. Much of web development and other creation of information is bottom up, in that there is no controlling authority. This is good for inclusiveness and speed of development, and something that encourages community, and encourages individuals to create their own content, which is a good thing. In his interview with the British Computer Society Tim Berners-Lee http://dig.csail.mit.edu/breadcrumbs/blog/4 answers a question on ontologies. He talks of a top level ontology that can be created to hold certain terms and the need to find out who is using these terms, so that other web pages and databases can be categorised. This would be achieved using URIs (Universal Resource Identifier) and RDF (Resource Description Framework). In answer to what Tim Berners-Lee hopes to achieve, he talks of this bottom up development that is going on, using blogs, and wikis etc and a possible approach of 'web science' - 'the science and engineering of web based things that have a bottom up Web-like structure'.


I think this approach is highly relevant to my PhD research on user-driven programming, with University of the West of England (UWE - Bristol). Not everyone has the time to learn programming especially if their main expertise is elsewhere. They then have to ask others to do the development for them and this leads to delays and mis-understandings. The approach advocated here could enable visual creation of software by members of a community. Members of this community would not need advanced programming skills if other members with more advanced development skills could create a suitable interface for the creation of software. This could be achieved in a similar way to that used in visual web page creation tools, or word processor and spreadsheet software. Also the members who do possess advanced skills could provide ways of sorting, searching and navigating the programs created using the visual development tools. Members could work with either or both groups, according to their skills and interests.


A good first step would be to link communities and sites that have a mix of those with advanced software skills who want to encourage and enable others to learn to program, and of new starters who want to learn. This could involve those who are willing to try out new techniques to make it easier for new starters to train learn and gain experience.


Sir Tim-Berners-Lee's interview - http://www.bcs.org/server.php?show=ConWebDoc.3337.


This talk by Nigel Shadbolt explains research about coping with diverse sources of information - http://www.bcs.org/server.php?show=ConWebDoc.3043.


This article by Bill Thompson for the BBC technology site examines new developments in Web 2.0 technologies - http://news.bbc.co.uk/1/hi/technology/4842498.stm.



I am a Researcher in the final year of my PhD at the University of the West of England, Bristol UK. 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.


My Home Page is http://www.cems.uwe.ac.uk/~phale/


Language and Tool Mapping - http://www.cems.uwe.ac.uk/~phale/#LanguageToolMapping


Semantic Web Page - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm


Semantic Web History - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/EndUserHistory/Semanticweb.htm


Semantic Web Modelling Page - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm


Friday, May 25, 2007

Language and Tool Mapping

My Research Area - This aim of my research is to try to bring together the areas of End User Programming, Modelling and the Semantic Web. So I'm examining the area marked in yellow. These research areas are enabled by a visual interface with the end user.


My Research Area - This aim of my research is to try to bring together the areas of End User Programming, Modelling and the Semantic Web.  So I'm examining the area marked in yellow.


My intention is to examine tools and technologies that can translate from a domain representations and/or and abstract representation of a problem into program code, and examine a systematic way to make this possible. Technologies to enable this, with links to explanations of them are shown below :-

Please let me know if you think a particular tool or technology is represented wrongly.


Domain Representation


Modelling/Programming


Abstract Representation


Structured Data File


ACUITy


KAON


Metatomix M3t4


TopBraid Composer


Jena


Ontolingua


Protégé


Semantic Wikis


PSL, STEPml, PMXML, XML with domain schemas


AspectXML, AJAX/Web2.0, XQuery, XForms, SPARQL


RDF, RDFS, DAML+OIL, OWL, RSS, SVG, VRML, UML, XMI, MathML, RuleML


XML, Databases



The intention of this research is to enable users to navigate between tools such as these without necessarily being aware of which tool or technology they are using. The way to achieve this is through an end-user programming environment that makes use of these technologies. A person should be able to model their domain using a visual modelling language, this modelling language should then translate the representation to an abstract representation, which can be translated to open standard formats, able to be held as structured data files that can be understood by computer software. The Modelling/Programming layer provides a translation service and can perform calculations, therefore converting a source tree to a result tree. The intention is for the user to be able to use the domain layer tool without having to interact directly with any of the layers below. The results are then fed back to the user, who can drill down through the result tree in order to find the reasoning behind the results.


Relevant Conferences/Events


Where 2.0 Conference - http://conferences.oreillynet.com/where2007/ - The third annual O'Reilly Where 2.0 Conference brings together the people, projects, and issues building the new technological foundations and creating value in the location industry. There's no better place to meet the people behind the mash-ups and platforms, and the folks looking ahead to the future of geospace. - San Jose - California - May 29-30.


ESTC2007 - http://www.estc2007.com/ - 1st European Semantic Technology Conference initiates a new conference series in Semantic technologies in Europe. ESTC2007 is a new European meeting ground for customers, developers and researchers to discuss the applicability and commercialization of Semantic technologies in corporate settings - May 31st - June 1st - Vienna - Austria.


ICE 2007 the 13th International Conference on Concurrent Enterprising - http://www.ice-conference.org/ - Sophia-Antipolis, France, June 04 - 06, 2007.


History of Programming Languages Conference (HOPL-III) - http://research.ihost.com/hopl/ - The Third ACM SIGPLAN - History of Programming Languages Conference (HOPL-III) - San Diego, California, June 9-10, 2007 - (co-located with FCRC 2007, June 9-16, 2007) - in cooperation with ACM SIGSOFT.


8th Annual Enterprise Architecture Conference - Designing a flexible foundation - IRM UK - Enterprise Architecture Conference Europe 2007, 11-13 June 2007, London.


GC 2007expo - http://www.gcexpo.com/ - 12-13th June 2007 - Earls Court One - London - GC 2007 is simply THE most exciting and dynamic public sector ICT exhibition and conference event of the year for public sector technologists.


SOAWorld 2007: Enterprise Open Source: http://www.soaeosconference.sys-con.com/ - June 25-27 2007 - New York.


IADIS Multi Conference on Computer Science and Information Systems 2007 http://www.mccsis.org/ - Lisbon, Portugal 3 - 8 July 2007.


Summer School on Ontological Engineering and the Semantic Web (SSSW'07) - http://knowledgeweb.semanticweb.org/sssw07/frames.jsp - July 8, 2007 - July 14, 2007. Cercedilla (Spain).


ISPE - The 14th ISPE International Conference on Concurrent Engineering:Research and Applications - http://ce2007.lit.inpe.br/ - ISPE - http://www.ispe-org.net/ - July 16-20, 2007 - São José dos Campos, SP, Brazil.


ACM - DocEng 2007 - http://doceng07.cs.umanitoba.ca/ - ACM Symposium on Document Engineering - 28-31 August 2007 - Winnepeg, Canada.


Engineering the Semantic Desktop (SemDeskEng 2007) - http://semdeskeng2007.semanticdesktop.org/ - 1st Workshop on Engineering the Semantic Desktop - co-located with ESEC/FSE 2007 - 3 September 2007, Dubrovnik, Croatia.


SVG.Open - http://www.svgopen.org/ - SVG.Open 2007 Conference, Tokyo, Japan - 4 -7 September 2007 - The SVG Open 2007 conference will be held in Tokyo, Japan, organized by Opera and Keio University, the Asian W3C host. The conference will be hosted September 4-7 at a university campus of Keio University. A call for papers and contributions will be issued later on this webpage.


VLC'2007 - International Workshop on Visual Languages and Computing - http://www.ksi.edu/seke/vlc07.html - Hotel Sofitel, San Francisco Bay, 6-8 September 2007 - Organized by Knowledge Systems Institute - Digital Arts and Sciences Lab, UF, and Visual Computing Lab, UT-Dallas.


IEEE International Conference on Semantic Computing - http://icsc2007.eecs.uci.edu/ - September 17-19, 2007 - Irvine, California, USA - The field Semantic Computing applies technologies in natural language processing, data and knowledge engineering, software engineering, computer systems and networks, signal processing and pattern recognition, and any combination of the above to extract, access, transform and synthesize the semantics (contents) of multimedia, texts, services and structured data.


2007 IEEE Symposium on Visual Languages and Human-Centric Computing - http://vlhcc07.eecs.wsu.edu/ - Coeur d'Alène, Idaho, USA - 22-26 September 2007.


ESM'2007, October 22-24, 2007 - European Simulation and Modelling Conference - Westin Dragonara Hotel, St. Julian's, Malta.


Web 2.0 Conference - http://www.web2con.com/web2006/ - November 7-9 2007 - San Francisco.


The 6th International Semantic Web Conference and the 2nd Asian Semantic Web Conference, 2007 - http://iswc2007.semanticweb.org/ - Busan, Korea - November 11 (Sunday) - 15 (Thursday), 2007.


IASTED 2008 - Software Engineering - http://www.iasted.org/conferences/home-598.html - SE 2008 - as part of the 26th IASTED International Multi-Conference on APPLIED INFORMATICS - February 12 - 14, 2008 Innsbruck, Austria.

Links

Events Page - http://www.cems.uwe.ac.uk/~phale/Events.htm


My Home Page - http://www.cems.uwe.ac.uk/~phale/


Semantic Web - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm


Semantic Web Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm


Modelling - http://www.cems.uwe.ac.uk/amrc/seeds/Modelling.htm


End User Programming - http://www.cems.uwe.ac.uk/amrc/seeds/EndUserProgramming.htm


XML - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm


SVG - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/SVG/SVG.htm


Tuesday, May 22, 2007

Meta-Languages and their usefulness for User Driven Programming

Meta-languages describe the structure of information to enable this information to be searched more easily by software systems. XML (eXtensible Markup Language) has emerged as the most important of these Meta-languages and is the base for many languages. XML standards are important for the Semantic Web, many computer based reasoning systems, and for communication between different software applications. Alternative representations of information should not be used in any system being developed now unless the author has examined XML based standards and found them insufficient. Such a situation is highly unlikely. Any software system that does not use these standards will have difficulty communicating with other software systems. Use of a generic standard keeps open the possibility of communication with the widest possible range of other software systems. Use of a domain specific standard targets the communication to a particular domain.

Extensible Markup Language XML is an important standard in the development of ontologies. This language allows for the construction of text documents in which the relationship between concepts is represented. Because it is an accepted standard it is possible to use XML on any type of computer. Further developments such as Resource Description Framework RDF add a layer of standardisation of semantics, above the standardised syntax of XML. It is also possible to represent diagrammatic, and graphical information using a variety of XML called Scalable Vector Graphics (SVG).

These open standard languages can be used for developing the program code of models. It is proposed that software and information represented by the software, be separated but represented in the same open standard searchable way. Software and the information it manipulates are just information that has different uses, there is no reason why software must be represented differently represented differently from other information. So XML can be used both as the information input and output by the application, and for the definition of the model itself. The model can read or write information it represents, and the information can read from or write to the model. This recursion makes 'meta-programming' possible. Meta programming is writing of programs by other programs. The purpose of this is to provide a cascading series of layers that translate a relatively easy to use visual representation of a problem to be modelled, into code that can be run by present day compilers and interpreters. This is to make it easier for computer literate non-programmers to specify instructions to a computer, without learning and writing code in computer languages. To achieve this, any layer of software or information must be able to read the code or the information represented in any other. Code and information are only separated out as a matter of design choice to aid human comprehension, they can be represented in the same way using the same kinds of open standard languages.

Meta Language Links

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

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


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.

Sunday, May 13, 2007

Programming with Semantic Web Languages

For my PhD thesis in User Driven Programming I've been experimenting with using Semantic Web Languages as programming languages. The two approaches I've used are:-

Option 1 - To put all the data in Semantic Web languages e.g XML, SVG, RDF/XML, OWL, and then display them using a programming language such as Flash, or Java (applets) -http://www.cems.uwe.ac.uk/~phale/Flash/FlashHCI.htm

http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/JavaTree/AutomaticaOutputSpar/classes/TreeOutput.html.

Option 2 - To use the above languages as meta languages for actual programming -

http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/SparMenu.xml

http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/SparMenu.html

Some of these solutions have used aspects of both approaches. These examples use SVG and JavaScript -http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm.

It is becoming increasingly practical to program completely in the Semantic Web languages. These languages enable declarative programming where we tell the computer what we want to do, and a translation is performed either using languages such as JavaScript or Java, or into JavaScript or Java.

The advantages of this form of declarative programming are that we can use a language that is at a much higher level of abstraction, closer to the way people think. I have been creating these programs by editing them in Protege (ontology editor) and using a translator to convert them to whatever code is needed. This makes it possible to perform visual programming in a meta language (OWL) Web Ontology Language (option 2), without needing to worry about how it's implemented. The possibilities for this are that it becomes sufficiently intuitive, so that people can eventually create their own software for a wide variety of tasks, in a point and click way and using similar tools to web page editors. This would enable anyone who is computer literate to program the computer themselves to do their tasks, and if this is of interest to others, they can release their solution over the web.

Technologies such as XForms - http://www.cems.uwe.ac.uk/amrc/seeds/Ajax/ajax.htm#XForms, XQuery - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/XML/XML.htm#XQuery, and SPARQL - http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm#SPARQL

make it possible to provide the sort of collaborative interactivity that Tim Berners-Lee calls 'Intercreativity' in Weaving the Web - http://www.w3.org/People/Berners-Lee/Weaving/. In this book he also discussed the use of Semantic Web Languages as programming languages. He makes the point that it isn't the power of the language that is important in providing this intercreativity. The simplicity of a language such as RDF makes it easier to provide interconnected solutions to complex problems, without becoming bogged down with the complexity of the language itself, and interoperability problems. Tim Berners-Lee sums up the advantage of a Semantic Web program over programs in other languages. He writes "The advantage of putting the rules in RDF is that in doing so, all the reasoning is exposed, whereas a program is a black box: you don't see what happens inside it." If these rules are also visualised, they are exposed to everyone, including non-programmers.

These advances make it practical to develop a high level visual interface that can allow people to develop open source, open standard, interoperable programs and share them. This can allow the development of open source communities similar to those developing software currently, but only requiring the level of skill it takes to get started in visual collaboration tools such as MySpace.

In Weaving the Web Tim Berners-Lee writes "The Semantic Web, like the Web already, will make many things previously imposible just obvious". I think visual Semantic Web programming is one of those obvious things.

Semantic Web Languages could also be a useful programming tool for creation and editing of E-Learning objects (Stutt and Motta, 2004).

References

Bechhofer, S., Carrol, J., 2004. Parsing owl dl: trees or triples?. In: Proceedings of the 13th international conference on World Wide Web, NY, USA, pp 266-275.

Berners-Lee, T., Fischetti, M., 1999. Weaving the Web. Harper San Francisco; Paperback: ISBN:006251587X - http://www.w3.org/People/Berners-Lee/Weaving/.

Stutt, A., Motta, E., 2004. Semantic Learning Webs. Journal of Interactive Media in Education, 2004 (10). Special Issue on the Educational Semantic Web. ISSN:1365-893X - http://www-jime.open.ac.uk/2004/10.

World Wide Web Consortium (W3C), 2007. Extensible Markup Language (XML) http://www.w3.org/XML/.

World Wide Web Consortium (W3C), 2007. Resource Description Framework (RDF) http://www.w3.org/RDF/.

World Wide Web Consortium (W3C), 2007. Scalable Vector Graphics (SVG) XML Graphics for the Web http://www.w3.org/Graphics/SVG/.

World Wide Web Consortium (W3C), 2006. SPARQL Query Language for RDF http://www.w3.org/TR/rdf-sparql-query/.

World Wide Web Consortium (W3C), 2006. XQuery 1.0: An XML Query Language http://www.w3.org/TR/xquery/.

Sunday, February 04, 2007

Structured Languages

Busy users will not be interested in a system that is difficult to use, but the system must still give reasonable results. So it is necessary to make it as easy as possible for a user to enter the information the software needs. Structured languages can be the solution to this problem because they can be understood by a user, and the language is constructed using mathematical rules. Therefore the structured language presents a mathematical representation to the computer and a natural language or diagrammatic representation to the user. (Borthick et al. 2001) explain however, that ambiguity in natural language can make it difficult to translate natural language into SQL.


It is possible to create an extra layer to enable users to specify commands in structured language. This approach of adding extra layers is the way visual programming works. Users provide the information the program needs at the visual interface layer and program code is created automatically. The layers provide the bridge between abstract ideas and computer code. If this approach is taken to its logical conclusion, we could allow the user to specify what the computer should do. Then each layer would communicate this to the layer below until the computer performs the action required. A simple example of this approach is the use of spreadsheets. A user can specify a calculation in mathematical terms using a formula. The spreadsheet then calculates the result of the formula. The user can change the formula if it is incorrect without any need to write code or re-compile. This accounts for the popularity of spreadsheets. However, spreadsheets do not provide the centralised and structured data-store required for a distributed system. Such systems can be made much more powerful if the information is codified into a relational database structure. Then On-Line Analytical Processing (OLAP) can be used for more sophisticated data collection and analysis. Lau et al. (2001) explain how OLAP displays a multi-dimensional view of aggregated data, and presents a Rule-Based Analytical Processing (RBOLAP) model which can be used for decision support. The use of RBOLAP techniques is demonstrated using a case study on a mould and die information network.


Sutton (2001) and Huber (2001) illustrate how codifying knowledge into a knowledge based system for decision support is likely to be very difficult. Most people 'just do' a task and therefore never write down instructions for others. This highlights the difficulty of getting information into a knowledge base when it may be either only in individuals' minds, or completely unstructured.


Information is scattered within organisations and often not held in such a structured way as to be easily accessed by employees or software. This problem was examined by Lau et al (2005) using the example of McDonnell Douglas (now part of Boeing), that demonstrated how difficult it is to gather unstructured knowledge. Therefore, it is important that research is undertaken into methods of capturing, structuring, distributing, analysing, and visualising information.


I have a web page relevant to this post at http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm.


References


Borthick, A. F., Bowen, P. L., Donald, R. J., Micauel, H. K. T., 2001. The effects of information request ambiguity and construct incongruence on query development. Decision Support Systems Vol 32 pp 3-25.


Huber, G. P., 2001, Transfer of knowledge in knowledge management systems: unexplored issues and suggested studies. European Journal of Information Systems, Vol 10 pp 80-88.


Lau, H. C. W., Bing, J., Lee, W. B., Kau, K. H., 2001. Development of an intelligent data-mining system for a dispersed manufacturing network. Expert Systems Vol 18(4).


Lau, H. C. W., Ning, A., Pun, K. F., Chin, K. S., Ip, W. H., 2005. A knowledge-based system to support procurement decision. Journal of Knowledge Management, 9(1), pp 87-100.


Sutton, D. C., 2001, What is knowledge and can it be managed?. European Journal of Information Systems, Vol 10 pp 72-79.

Monday, January 08, 2007

Structured Representation of Information

The Need for Ontologies


Information is scattered within organisations and often not held in such a structured way as to be easily accessed by employees or software. This problem was examined by Lau et al (2005) using the example of McDonnell Douglas (now part of Boeing), that demonstrated how difficult it is to gather unstructured knowledge. Therefore, it is important that research is undertaken into methods of capturing, structuring, distributing, analysing, and visualising information.


Taxonomies, Ontologies and Structuring of Information


An ontology is a classification structure. A taxonomy can be just a convenient structure to assist programmers, or part of an overall 'thesaurus' which describes and agrees the meaning of things. This 'thesaurus' structure is the ontology and may contain one or more taxonomies. Engineers may have different names for the same thing, e.g. wing skin stiffeners may be referred to as stringers, but rib stiffeners are never called stringers. There is a relationship of stringer to stiffener, which needs to be defined, and this definition depends on the context. A classification scheme or ontology is necessary in order to make communication precise. Such an ontology can also be used to help non-specialists to understand the terminology of a particular domain. The ontology can also enable communication between the computer systems and users. Hunter (2002) explains how taxonomies can be the basis of the definitions for an ontology, and that commercial software is available. Hunter gives examples of the Ministry of Defense technology taxonomy, and the Boeing online ontology. The taxonomy "Type-Of" and "Part-Of" relationships can indicate how to construct the taxonomy. Veryard (2001) and McGuinness (2000) provide useful guides on how ontologies can assist in linking distributed data. This linking and connectivity is also explained in 'Ontologies and Semantics for Seamless Connectivity' Uschold and Gruninger (2004).


Knowledge based systems need to allow a variety of people in different disciplines to share knowledge across functional, departmental, and disciplinary boundaries. Consideration is needed of the further problem that certain knowledge should be shared with others outside the organisation such as suppliers, and customers.


There is a strong need for uniting of the approaches of top down ontology definition by a small group of experts with that of the bottom up approach of allowing all users to define the ontology. Software applications are needed that allow users with little software knowledge to edit and update ontologies themselves. The extent to which an organisation allows this depends on its structure but if this is completely prevented or not enabled in the first place, there will be user dissatisfaction resulting from their lack of involvement. It is also likely that progress in defining and editing the ontology would be delayed.


The varied user base of knowledge systems results in a further problem, which is that of fragmentation of the language itself. As the users are in different trades and professions they will not necessarily understand the same words, or assign to them the same meaning. Again this makes it necessary to structure the information in a knowledge-based system carefully, to ensure it can be well visualised, and agreements can be reached.


Relationships between terms such as type-of, and part-of become more important than the term itself, as the relationship defines the meaning of the term by relating it to the other terms. These relationships can then be represented in diagrammatic form and navigated, in order to allow the meaning of terms to be agreed and explained. A classification structure such as this is termed the ontology.


My objective is to build a catalogue and make use of it for decision support and costing systems, while demonstrating that the same approach could be used for other types of system(s). It is essential that this catalogue can query information from organisations' existing database systems. Most large organisations have key operational knowledge and information dispersed across different types of information systems, often in relational databases. This has the advantage of allowing the use of the standardised language Structured Query Language (SQL) to access this information.


This research is explained in greater depth at http://www.cems.uwe.ac.uk/amrc/seeds/ModellingSemanticWeb.htm and http://www.cems.uwe.ac.uk/amrc/seeds/PeterHale/RDF/RDF.htm.


References


Hunter, A., 2002. Engineering Ontologies http://www.cs.ucl.ac.uk/staff/a.hunter/tradepress/eng.html.


Lau, H. C. W., Ning, A., Pun, K. F., Chin, K. S., Ip, W. H., 2005. A knowledge-based system to support procurement decision. Journal of Knowledge Management, 9(1), pp 87-100.


McGuinness, D. L., 2000. Conceptual Modeling for Distributed Ontology Environments. Proceedings of the Eighth International Conference on Conceptual Structures Logical, Linguistic, and Computational Issues (ICCS 2000), Darmstadt, Germany. August 14-18, 2000.


Uschold, M., Gruninger, M., 2004. Ontologies and Semantics for Seamless Connectivity, Association for Computer Machinery - Special Interest Group on Management of Data - SIGMOD Record December, 33(4).


Veryard R., 1994. Data Mappings http://www.users.globalnet.co.uk/~rxv/infomgt/datamapping.pdf - Soap Box Blog, 2006 http://www.users.globalnet.co.uk/~rxv/so/2006/11/semantic-coupling.htm.