In traditional auctions, a bidder who is unable to attend or wishes to remain anonymous may be represented by an agent to place bids on their behalf. The agent has instructions on his clientÂs bidding strategy and the maximum limit on the bids they can place. The focus of this project was the development of an electronic version of such an agent for internet auctions. These agents would fill the gap between the extremely simple electronic buyers implemented on many auction sites and the increasingly complex agents with artificial intelligence, which are currently an active field of research. The initial stage of the project was the construction of a test bed which allowed human users to compete for an item in an auction specified by the itemÂs owner. This system was then enhanced by the ability to hire an auction agent to place bids using economically proven bidding strategies, tailored to the specific type of sale. The auction application was designed to be extended onto distributed computers and for flexibility to allow the easy addition of further functionality.
The Design and Implementation of Java Based Auction Agents
Uni-te-x is a software product, designed for use on the Unix operating system. Uni-te-x envelopes all the facilities offered by a text editor, but has additional features, because Uni-te-x also affers the most common word processing facilities and pays particular attention to aspects concerning the user interface, making it extremely easy to use. This piece of software can accomplish several tasks. Uni-te-x performs various file manipulation procedures to open, close and save selected files. The many editing facilities to manipulate text include cut, copy and paste are also available. In addition to the above, not only programming aide to ease the production of C++ code, but also various formatting facilities (size, fonts etc.) enable documents to be produced in a simple way. An added bonus of the UNi-te-x software is that it is highly portable, since it can be installed at any location within the Unix file system architecture.
ChildrenÂs International Summer Villages (CISV) is an independent, charitable organisation whoÂs purpose is to promote peace and cross-cultural friendship through a variety of organised events. The administration duties of CISV take place at their headquarters in Newcastle upon Tyne where a combination of both manual and automated systems are in place. Since 1997 CISV have been attempting to replace many of their existing manual systems with software solutions. The purpose of this project is to implement a relational mailing system in Access 97 for CISV in an attempt to improve efficiency. This project follows the Incremental software development model with risk analysis. Elements of the PRINCE project management strategy where adopted in an effort to manage resources and time. Data analysis and a study of the existing system acted as the foundation for the implementation and testing stages.
Properties of traditional transactions are described by the ACID (Atomicity, Consistency, Isolation, Durability) acronym. These transactions are typically short lived and are well suited in tightly coupled homogeneous environments, where resources are owned by the same organisation and are designed to work together as a unit. However, ACID transactions are not appropriate for everything, especially Âbusiness to business interactionsÂ, which are designed to run over long periods of time. The CORBA Activity Service was developed as a generic framework for coordinating units of computation, it was developed to be a flexible, reusable tool to support the implementation of extended transaction models. BTP is a specific extended transaction model that allows coordination of resources which are exposed by multiple autonomous organizations. This model relaxes the traditional ACID properties and forms a protocol that can run for long periods of time over the inherently unstable environment that is the Internet. This project aims to demonstrate if the CORBA Activity Service is a sufficiently flexible model to provide an implementation of BTP and whether the functionality provided by the framework is enough to support the complex interactions specified by the protocol.
An Implementation of the OASIS Business Transaction Protocol on the CORBA Activity Service
A directory enquiry database is organised as a geographically distributed tree. Information is stored only at the leaf nodes, numbered 1, 2, ..., N; if a request arrives at node i and the data it requires is at node j, then it needs to be sent to the right place via other nodes in the tree. Among the questions that arise in this connection are: how long does it take, on the average, to satisfy a request? What is the best allocation of nodes at each level in the tree? The aim of this project is to tackle these questions by simulation. Write a simulation program to model the performance of the system. Carry out a number of experiments, with different configurations and parameters, and observe the effects on performance. Attempt to discover the optimal configurations.
Performance Study of a Distributed Directory
The aim of the project was to implement a relational database for a real world client. A development process was followed and a thorough systems analysis undertaken in the hope that a quality system could be built. Standard software engineering practices such as 'Data Flow Modelling' were used in order to obtain the requirements from the client. Design techniques were then used to create a conceptual model of the system and then a physical model. The system was then implemented using Microsoft Access 2000.
Developing a Relational Database for a Veterinary Surgery using Microsoft Access.
This report describes a system for the development of object oriented software systems by a group of developers. It allows developers to work simultaneously on a project, then to merge their changes, and easily represent the dependencies between different pieces of source code, object files, executables and the documentation. The system is to be built by using a graphical interface which allows dependencies to be set, and represents the system as a spreadsheet. Each developer can have a different view (or views) of the system, since all of the cells in the spreadsheet are stored internally as part of a project, and can be mapped to different locations on different developers spreadsheets.
Software Engineering Spreadsheet for Object Oriented Languages
Information sources may be sorted in various locations and in different formats. This makes querying such objects together an impossible task, as each object type needs to be treated separately. The Q object system attempts to unify the way the sources are represented, thus enabling those objects to be queried in a uniform way, regardless of their original format and location.
Adding Query Capabilities to Non Query-able Information Sources
Searching a database of television programs for specific content by trying to analyse the images and sounds, is an unsolved problem. However, many programmes have accompanying Teletext subtitles, and so this offers an opportunity to find footage by searching for keywords in the subtitles. The project will design and implement a system for this. A server with a TV card will be provided so that programs and subtitles can be captured and stored. A search engine was designed that allows users to type in keywords, and view associated clips. Issues to be addressed include how to index the words found in subtitles in order to speed up searching, and how to show the user only those portions of programs that relate to their search.
Searching TV Programmes using Teletext Subtitles
As the internet continues to grow at an increasing rate there is a constant need for software tools which help manage the vast amounts of available information. The use of automated robots is one approach to such efforts. However, the number of automated retrieval tools is increasing rapidly and there is a need to ensure that these powerful tools are deployed in a controlled way which minimises the detrimental effects upon the infrastructure of the Internet and it's users. The aim of this project was to create a Web Robot which was capable of interrogating Web sites in a manner which was considerate towards the maintainers of Web sites and also other Web users. This was to be achieved by taking good advantage of existing Internet protocols, to minimise unnecessary data transfers, and also by using an effective retrieval strategy, to avoid placing high loads on individual Web servers. As part of the retrieval control the robot was restricted to web servers in the United Kingdom. A system was developed that could be used to build a resource database of UK web sites. This system took the form of a Web Robot which was build upon a general set of Internet objects implemented using C++ classes which could potentially be used in the development of variety of Internet applications. A small set of data was collected, and a simple search interface was developed so the Web users could interrogate the data.
The aim of the project is to construct software to help in investigating and displaying the properties of discrete dynamical systems represented by recurrence relations. The user should be able to specify the recurrence and the graphical display required.
Software to Help in Investigating and Displaying Graphically the Properties of Discrete Dynamical Systems Represented by Recurrence Relations
A University is a very large organisation, so at times it can be difficult to find your way around. The subject of this Dissertation proposes a possible solution to this problem. It would be very handy if you could easily find your way around the University, so it has been proposed that maybe it could be possible to produce a Graphical Location finder. The platform for this Location Finder is the World Wide Web. In the finished product, it will display an image of a Campus map with a list of staff names below it. If you then click on one of the staff names, the image will be updated to show the same picture of the Campus, but with the building where the staff member resides highlighted. If you then click on this highlighted area, an image of the side of the building will be displayed with the relevant floor highlighted. If you then click on the floor a floor-plan will be produced with the staff member's room highlighted. In addition to this, the location finder should also be usable with a prototype security server.
The dissertation describes the design and partial implementation of a generic simulator for artificial game playing environments, with an exploratory interface based on the output of textual descriptions and the input of near-natural-language commands. The game engine is designed to have the capability to represent arbitrary environments of considerable complexity, including the representation of events which can take place in the environment, and the triggers which cause those events to occur. The parser which interprets the playerÃ¢s commands is intended to parse a large and easily extensible set of imperative English commands used to navigate and manipulate these arbitrary environments. The parser links to a system of actions which drive the events in the environment. Verb phrases entered by the player are mapped onto actions, and wherever possible, actions are defined generically in terms of their effect on the generic properties of objects. The first main section describes some of the problems involved in designing this engine, and the second section some of the problems in implementation. The final implementation is then described and planned future developments outlined. The code and test data for the project are included in the appendices. Keywords: Parser; Text Adventure Games; Natural Language
Design and Implementation of a Generic Text-Driven Game Engine
This project examines the potential for the implementation of parallel processing to produce real-time speed gains in processor intensive software. It studies an existing program, Cabal, which uses a genetic algorithm based heuristic search method to optimise traffic signal controls. Due to the high processor demands of the genetic algorithm, Cabal is currently not fast enough for its intended real-time application to be practical. Therefore, this project studies ways to accelerate Cabal by distributing the computational load over a number of processors running in parallel. The Cabal model, developed by Stuart Clement in 1996, uses a GA to find optimal signal timings for traffic responsive junction signals. The aim of this project is to find a parallel implementation which will decrease the time taken by the software to find viable solutions to a point where real time use of the program is possible. Coarse grain parallelism is used, with between two and eight processors being employed. These are Pentium PC based nodes running Linux operating system and pvm message passing software. The project compares the results of implementing two different parallel models for the genetic algorithm. The first method is distributed function evaluation. In this model a master process runs most of the GA, periodically coalling on slave process to perform the evaluation function. The second method is the island model. Here a number of populations of chromosomes are run in parallel, periodically exchanging their best individuals with one another. A number of factors thought to influence the run time of the software are investigated, including the processing hardware (number of processors and their clock speed), network (ethernet vs. ATM), software model (distributed evaluation vs. island model) and population size.
Genetic Algorithms on Parallel Processors
BLIF files are textual notation, which have been developed to describe the behaviour of hardware circuits. The objective of this project was to produce a software tool that would take a logic description in BLIF format, and display the information contained graphically. Microsoft Visual C++ 5.0 was chosen as the programming language for the project, because it has a range of built-in classes, which assist the implementation. The dissertation describes the BLIF, VHDL and DRAW file formats. VHDL and DRAW files are intermediate files, which are used in the implementation to convert BLIF files to a graphical format. The requirements of the project are explained, including their extension to provide editing facilities for BLIF, VDHL and DRAW files. The design of the editors and displaying programs are then discussed, and their integration within a windows-programming environment. The implementation of the more complex functions and the choice of a 2-Dimensional array for representing logic structures are explained. A sample output is included from the testing phase, and any errors which were discovered in testing pointed out, and modification made discussed. An explanation of all functions used in the project is provided for maintenance. The software tool produced was demonstrated and worked effectively. The conclusion of the dissertation suggests refinements, which could be made to the software, and suggest its possible extension as a tool to simulate and analyse hardware circuit design.
VLSI Design: Graphical Representation of Logic Diagrams Using Microsoft Visual C++ 5.0
The volume of information, primarily in the form of documents, flowing through organisations has increased significantly in recent years. At Derwentside District Council it is recognised that this may already be leading to increasing difficulties in storage and retrieval of information with the potential for inefficiencies in the enabling and provision of services. For information archival systems the major options are paper based archives, microfiche and electronic data sotrgage including magnetic, mageto-optical and optical systems. For distribution of information and workflow the only significant alternative to paper based techniques is electronic distribution. Soft Systems Methodology is used to examine: (i) a sample of the flow of documents into and through some of the Directorates of Derwentside District Council; and (ii) a sample fo the information created by staff within the Council. Form this the feasibility of improving inter-staff communication and efficiency in the short and medium term with the aim of moving closer to the long term objective of 'the paperless office' is examined by looking at electronic methods of data storage and retrieval for archiving and collaborative working.
A Study of Document Flow for Implementing Electronic Document Management and Collaborative Working
This dissertation is the result of developing a database system for a Victim Support Scheme, supporting the Hambleton and Richmondshire districts. The organisation required a database for use in the main offices, situated within the grounds of the North Yorkshire Police headquarters. The system needed to hold information of Staff, Victims, Crimes and Contacts between victims and staff. The database needed to offer facilities where information could be selected and reports produced. The basic function was to offer a fast and efficient method of data entry, storage and retrieval. The database was designed and implemented using Microsoft Access, which was the chosen software for the system. The dissertation shows the process of developing the system, from analysis to implementation.
Design and Implementation of a database system for a Victim Support Scheme
This dissertation describes the design and implemention of an editor for the control-flow design notation of programs used in the introductory C++ programming course. The editor is intended to be used by students as an aid to learning the basic steps of writing computer programs.
An Editor for Program Design Using the Control Flow Notation
This paper describes the design and implementation of a chess engine and an investigation into the use of genetic algorithms to tune its evaluation function. A section on the design and implementation of the chess engine explains the steps taken in optimising the search process, in particular the use of the alpha-beta algorithm, hash-tables and iterative deepening. The genetic algorithm uses a competitive fitness function where the fitness of individuals is actually determined by playing a game of chess against one another. This approach is very processor intensive and requires a means of parallel computing. A master-slave architecture was used on a network of 40 machines running Linux, with message passing between the processes handled by calls made to the Parallel Virtual Machine. Results show that the genetic algorithm was unable to tune the evaluation function to the same playing strength as a hand tuned version, although improvements in strength were gained in some situations. The minimal success can be attributed to components of the evaluation function included to evaluate positional features that arise infrequently or in exceptional circumstances. These positions, t seems, do not contribute sufficient selective pressure towards the selection of fitter individuals in terms of tuning these evaluation function components.
An Investigation into Tuning a Chess Evaluation Function Using Genetic Algorithms.
The project is concerned with the development and implementation of a bespoke software system for a hairdressing salon to record, analyse and query data on their customers and employees. Moreover, as the business grows, the client is seeking to quantify the overall productivity of staff members. It is hoped that the software solution will provide a greater insight into the operation of the business and help detailed customer profiling that will enhance the competitive nature of the company and allow future expansion. The project is of particular use to the client as no current database system is on the market for a hairdressing salon. The closest 'off-the-shelf package' is for a dentist's surgery. The development of the software will be carried out in accordance with proven software quality techniques and time management models.
Systems Analysis and Database Design for a Hairdressing Salon
The design and implementation of an Inform Adventure game whose purpose is to teach the player about, and test the player on, the fundamentals of the Java programming language
Tele-learning through Game Playing. Abstract
With an increased reliance being placed on computer networks in the workplace and beyond there is a need to provide appropriate monitoring mechanisms, networks management systems and within these. This project sets about providing such a monitoring scheme for the LINUX machines in the computer science department, using LINUX programming to abstract environmental information and the status of the power supply, and presenting them with a web page that could be monitored remotely and notifying the corresponding staff, if something goes wrong in the case if the power supply failure occured, out of band temperature or humidity. It is also to instruct the monitored computers to shut themselves down if any of the monitored factors out of the operational bands.
Environmental Monitoring using PC and Linux
This project attempted to evaluate the performance of the Apache HyperText Transport Protocol (HTTP) Web Server of the Department of Computing Science at the University of Newcastle. A change to a new Apache server after the old server was becoming overloaded. It was the aim of the study to develop an analysis software package and to analyse the servers performance to determine if it's performance was acceptable. Evaluation was performed through the analysis of the arrival of requests at the server and the resource usage of the server. In order to collect the required data the Apache source code had to be modified to allow the data to be logged to external files. The results of the project indicated that the server was not currently being overloaded and was providing users with an adequate service.
Performance Evaluation of an Apache 3.0 Web Server
This thesis reports on the formalisation procedure of an entity relationship diagram, produced by the Information Management Centre, into a formal functional specification. The Vienna Development Method - Specification Language (VDM) is used to produce the formal model. The original model portrays guideline management in the health service sector. The report compares the informal and formal model of act and protocol management. It also suggests areas of improvement for IMC in the way information is shown in the entity relationship diagram. Possible future work related to this formal model of act and clinical protocol management, is also discussed.
Formalisation of the Act and Clinical Protocol Management Model
This paper is an investigation into the potential of VRML2.0 (Virtual Reality Modelling Language). The paper will take the reader through the development of simple 3D objects and the complex task of animating those objects in a realistic manner. From this it will be seen whether or not that VRML is a viable language for creating complex virtual reality worlds.
This work comprises the analysis, design and implementation of an online records management system for a small museum, with appropriate discussion of the field at large and its late but developing relationship with electronic media and software engineering. The project assumes the rationale of the classical software life-cycle, and this is reflected in the dissertation structure. The main interrogative strand of the dissertation concerns the small scale of the Shefton Museum and the relative scarcity of online systems for collections of that size. The actual work proceeds, from analysis onwards, according to the relational data model, a preference which is explained during problem analysis. The project's conclusion not only assesses the effectiveness of the completed system, suggesting possible upgrades, but speculates also on the future of records management in small-scale heritage institutions and on that of designers intending to specialise in that area.
An Online Records System for the Shefton Museum of Greek Art and Archaeology
For complex dependable systems, a major problem encountered during development is to keep track of the relationships between requirements, design components, test cases and other development artefacts. A basic approach to support traceability for dependable avionic systems has been developed in collaboration with British Aerospace. This approach uses a set of customised traceability structures developed from generic traceability structures originally proposed by Klein/93/. The aim of the project is to assess the appropriateness of a CASE tool (DOORS) to provide automated support for traceability using the customised traceability structures. The toolÂs features will be evaluated against those defined by Riddle and Saeed/97/ as being desirable in such a tool.
Evaluation of a Case Tool for Support of Requirements Traceability In Dependable Avionic Systems
This dissertation deals with the development of a bespoke Mark Management information system accessible via the Internet for the School of Modern Language, University of Newcastle upon Tyne. On the basis of validated System Requirements, detailed Database Design, Application and User Interface Design are carried out. Making use of the design work, the system is implemented in a Three-Tier Web Application Architecture. Dynamic web pages are developed for the user interfaces in HTML. The core applications of the system are implemented as Java servlets using the JSDK 2.1 and the JDBC 2.0 API on the Java 2 platform, forming a compact middle-tier with the Java Web Server 2.0. The connection to the back-end database management system MS Access 97 is coded using the JDBC driver JdataConnect 2.0. In order to ensure the safe and efficient running of the system, a number of security issues (authentication, permission check) and concurrency problems (interleaving problems in a multi-thread service environment) are addressed.
Distributed Mark Management: Integration of WWW Interface and Data Base System
ChildrenÂs International Summer Villages (CISV) are currently rationalising administrative operations at their International Office in Newcastle-upon-Tyne. As part of this rationalisation, new or upgraded computer-based event management tools are being commissioned and installed by CISV. This dissertation describes the development, implementation and installation of one of these tools, a relational database for use in the administration of a particular type of CISV event - the International Youth Meeting. It charts the software development cycle for the database produced by the author, details its specification and design and concludes with a critical assessment of how far the development process and resultant software met the goals initially set for them.
Deployment of a Relational Database for an International Charity: The International Youth Meeting Database.
ChildrenÂs International Summer Villages is a charitable body that organises a range of exchange events for children of all ages in countries throughout the world. As part of an ongoing programme of computerisation at their international office in Newcastle upon Tyne CISV have requested the development of a prototype office Intranet application to operate on a proposed new office computer network. The proposed network will be supported by Microsoft Windows NT Server 4. The requested application is to provide summary statistics from several of CISVÂs current and archived Access97 databases. CISV have specifically requested that the application makes use of the emerging Internet technology extensible Mark-up Language (XML).
Development of a Prototype Office Intranet Application for ChildrenÂs International Summer Villages
Under normal circumstances a database is used for reference and manipulation of information held within it. It can only be accessed by the organisation which has proprietary ownership of the database. With the advance of the internet, it has become possible to allow anyone with a Web browser to access the information. However the level of access to this information can be controlled, so as to provide the browsers with access to only what they need to see. FB Records is a small business, based in Blackpool. The owner works from a stall, and required all his stock to be set up on a database which would be accessible from the World Wide Web. The old system involved a simple database design on Microsoft Access. The project here, was to use this business to illustrate how a database could be set up on the web using a commercial relational database management system. Any visitors to the web site will be able to search the database for their favourite titles. They would need to enter certain information under certain fields such as, title and author. In this instance, the commercial databse used was Oracle.
Implementing an Oracle Database on the World Wide Web for FB Records
The purpose of this document is to describe a project to investigate the possibilities of performing network and statistical analyses of geographic data, with a view to producing information and software of use to parties involved in the examination of rights of way. The project has been developed in response to a request for software and information to aid the Ramblers Association in their aim of having all rights of way accessible by the year 2000. This document examines the possible sources of data for rights of way and charts the development of a system for analysis of such data from initial specification and design through to implementation and testing.
Feed forward neural networks are often trained with the back propagation algorithm, which adjusts the connection weights to reduce network error. When using this algorithm the network's number of hidden nodes and 2 parameters of the back propagation algorithm, the learning rate and momentum coefficient, must be chosen. If incorrect choices are made training may fail, however the best values depend on the specific training problem. The back propagation algorithm also often becomes stuck at poor error minima in the weight state space. A genetic algorithm system was implemented to evolve suitale values for the back propagation parameters and to evolve the network weights directly. Genetic algorithms have been used with neural networks before, but not in these ways. These 2 methods were compared with simple back propagation (over a range of parameters) by training networks on 2 artificial and 4 natural data sets. It was found that parameter evolution was very slow and did not find exceptionally well trained networks. Weight evolution proved to be quick, but only found networks with low error for 2 of the 6 data sets. This performance may be improved by refinements to the genetic algorithm.
Applying Genetic Algorithms to Neural Network Training
This project is to form the animation of Stochastic Petri net by providing a graphical interface whereby a user can define a system model by means of a Petri net with non-instantaneous transitions. The firing times are random, drawn from appropriate distributions. The user specifies the initial state of the system by allocating tokens to places. The evolution of the net is then animated, statistics about different system metrics are collected, and summary results are displayed.
Fueled by the importance and significance of Human-computer Interaction as an area of research, and due to the relatively few studies of computer text editing, an analysis of the user interface of aXe, a menu driven text editor, has been made. Both an analytical and a behavioural study of aXe has been undertaken, utilising a combination of questioning, interviewing and experimental testing techniques for data capture. Measuring the interface against a predetermined criteria, based on the notion of usability, the aXe interface was evaluated against a benchmark editor, that of EDIT. Although the results of the experimentation are not conclusive, in that both editors appear to have relative strengths and weaknesses, data does however exits to suggest that the aXe interface is less effective than that of EDIT, and that in terms of the evaluation criteria, it is less usable.
An Evaluation of the User Interface of the aXe Text Editor
British Computer Society/Newcastle Branch - Information Server The Newcastle Branch of the British Computer Society have had a presence on the World Wide Web for approximately 5 years. Their web pages at: httg://newcastle.rkbexplorer.com/id/events/BCS/main.htm currently provide information to their readers but enable no interaction with them. The Branch would like to expand the services it provides via the World Wide Web through the implementation of an Information Server. In addition to providing basic meeting information, the server would permit readers to subscribe to the service, thus allowing some or all of the following to be implemented: Allow the branch to capture information on non-members and members alike who are interested in the branch and any regional events that might be organised. To allow those who register... - to be added to a mailing list to receive e-mail on forthcoming events or specific branch information - to express an interest in membership via the branch - to make suggestions on possible future meetings - to register for forthcoming activities The implementation of this server needs to be carefully investigated as there are a number of possible options. Once an investigation into the possible implementation options is complete, a decision needs to be made, with the local branch being consulted. Then the Information Server would be implemented. The implementation must be portable, as the home for the BCS Web pages might move in the future.
Development of an Information Server Web Application for British Computer Society
Virtual Private Networks (VPNs) are network tunnels created for secure data transmission between two or more authenticated parties. They use a public, shared infrastructure such as the internet as a means of transport. This method is used in order to replace variable, time based direct dial costs with ISP Internet access fixed costs. The main components of a VPN are VPN Client Software, and tunnel server, network and data protection, scalable architecture, a wide choice of user authentication methods, and centralised management. VPN client software and tunnel servers establish a private encrypted tunnel over a shared network. Network protection can then be provided by a firewall to protect the corporate network from unwanted visitors. In this project an exploration of VPN technologies was made. A model network was designed and constructed in order that tests could be conducted to compare and evaluate the performance of two noted appliances: The Checkpoint VPN Appliance incorporating Firewall-1 and the Intel/Shiva VPN Gateway with embedded ICSA certified stateful inspection Firewall. A Consultants Report outlining the differences between the two VPN solutions was also constructed for Xcomm ltd. A network solution company that supported this project through the provision of hardware and software needed for the construction of the model network.
An Analysis of Virtual Private Network Technologies and Comparison between the Intel/Shiva VPN Express and Checkpoint Firewall-1/VPN-1 using a Model Network
The project involves the production of a utility to convert HyperText Markup Language (HTML) - the World Wide Web (WWW) document markup language - to Rich Text Format (RTF) - a common interchange format for word processors (such as MS Word). The converted document should retain both the sturcture and style of the original document.
This project aims to design and implement the data structures for collection of persistent objects using the C++ programming language, that will be applied later for a parallel database server. The design was based on the study of data structures, the Object Database Management Group (ODMG) object models and the relevant knowledge of the concept on object oriented database. The implementation put to use the knowledge and skills in C++ programming language. Whilst the persistent collection of type List and Set have been designed, implemented and tested, there remain certain areas that would need improvement and further development.
Persistent Collection for a Parallel Database Server
Understanding our own native language appears so easy that one could be forgiven for thinking that the language itself was inate, rather than the facility for learning it. And in fact even learning it involves the use of mental capabilities of a phonomenal complexity. Programming a computer to simulate such intellignece not only means at tleast an eual amount of complexity, but also presumes a theoretically clear-cut understanding of understanding. In the 1960's many natural language computer programs were written. They could accept and answer questions in English (Welsh, German, French etc.) about baseball scores, mathematical problems, and relationships and could even 'chat' gilbly about anything that could come up in a psychiatric interview. Yet today, more than three and a half decades later we are still communicating with computers with cumbersome command line interpreters. People shy away from the use of computers because they don't understand them (and fear them), and more importantly, don't know what to say to make the computer understand what they want it to do. There is hope that in the future, computer systms will become vastly more user friendly by the replacement of machine-oriented languages with natural languages. These machines will revolutionise the ways that computers are used, so that they may be used by all. This project involves an investigation into the area of natural language understanding and natural language processing with respect to one of the most famous natural language programs of all time, that is Joseph Weizenbaum's ELIZA. The aim is to understand current ideology and make the original program utilise more natural language processing techniques and thus respond more realistically.
The intention of this project was to design and develop a software tool that can be used to monitor the hardware Inventory in the Computing Science department. The dissertation discusses the design and implementation of the hardware database system using the data from the existing hardware inventory database on File Maker Pro. The design of the system involved using standards database development methodology to produce conceptual representation for the information structure, which was then implemented using Microsoft Access 97 relational database management.
A Design and Development of a Database System for Monitoring of Hardware Inventory for the Computing Science Department
This project involves developing a formal model of parts of the Common Basic Specification (CBS) of health care in the UK, based on its present informal description. This work is a contribution to the National Health Service's ongoing review of the CBS and its ability to model such critical properties as ensuring availability of resources in emergencies.
Towards a Model of Health Care: Formalisation of the Common Basic Specification Data Model
The World Wide Web is still relatively young but growing in popularity and use rapidly. The World Wide Web (WWW) seeks to build a distributed hypermedia system across the internet. Recently there have been developments which allow users not just to view the vast amount of information contained in the WWW, but to interact with it, together with other users in real time. Traditionally, the WWW has served as a repository of information. This thesis proposes to highlight and discuss the systems which allow interactive use of the WWW and then demonstrate this ability by developing a geographically distributed, real time system which allows four players to play a game of contract bridge using the WWW.
Parallel Interactive use of World Wide Web Pages
Increased usage and improvements in computer technology have increased the demand for better services particularily via the World Wide Web, mailing lists being one of those services. It has been proposed that a mailing list be generated via the World Wide Web to provide services for members of a football supporters club. the list aims to provide features that are both beneficial to the interested public and to the maintainer of the list. Both parties are given the opportunity to view the current subscription of each server and to email messages to the list. The listings are subdivided into a suite of web pages written in Hypertext Markup language (HTML) and are driven dynamically by cgi scripts written in the Practical Extraction and Report Language (PERL).
A Mailing List Implemented via the World Wide Web
A Computing System which can tolerate faults (e.g. TMR Systems or a Fail-Silent node - a node which either works correctly or fails, producing no results), will produce an overhead on the performance of the system. It is important to be able to evaluate the effects on performance of the overhead. This project aims to simulate, study and compare the behaviour of non-replicated processor systems with systems consisting of fail-silent or TMR nodes.
Simulation of Fault Tolerant Distributed Systems
Tetris must be one of the most commonly played mathematical computer games. There are many versions of the Tetris game available, all based on a similar theme. The purpose of this project is to add a bit of imagination to the basic idea and enable the resulting program to be played on the World Wide Web.
A Java Implementation of the Skill and Strategy Game Tetris
The purpose of this dissertation is to test the hypothesis that an asynchronous/multithreaded I/O service can be used to exploit the potential for parallelism of commodity systems with access to multiple disks. It contributes three working systems: a simulation of asynchronous I/O; a POSIX-compliant asynchronous I/O library; and an extensible C++ class library for comparative tests of I/O services. The results of a simulation study and tests on real systems are used to demonstrate that, under specified circumstances, a significant increase in average application throughput is achieved through the use of asynchronous I/O. The types of workload most likely to benefit from this performance gain are characterised. Workloads that exhibit poor performance using a multithreaded implementation of asynchronous I/O are also identified. The improved throughput is shown to be achieved at the expense of average response times and this cost is quantified.
Identification of Gene Expression Patterns from Experimental Images
Application has been created which allows the interactive creation of a layered two dimensional animated scene from the user's choice of GIF images. Of particular interest is the means of controlling motion: this is an interpolative scheme in which interactive modification of Bezier curves can be used to specify trajectories in a very flexible fashion. This application is written in Java and makes use of the extensive libraries for handling graphics, creating user-interfaces and handling the events generated by the user's interactions with the interfaces.
Interactive Tools for Key Frame Animation
Since Kohonen introduced the Self-Organising Map several algorithms have been presented for the unsupervised clustering of n-dimensional process spaces, each with various disadvantages, such as failing for certain data distributions. Several attempts have also been made to give meaning to the notion of SOM performance in order to assess the algorithms in particular circumstances, and for particular data distributions. This paper explains the nature of SOM's and discusses issues in performance evaluation. Special attention is given to the "Growing Neural Gas" model of Bernd Fritzke and the reasons behind its conciption. An implementation of the algorithm is presented and discussed at some length. The model is tested by the visualisation of two-dimensional data examples. The role played by the algorithm parameters is examined revealing certain deficiencies in performance. Stress is laid throughout on enabling a user to make use of the algorithm by highlighting its features and deficiencies.
Grow Your Own Neural Gas: A User's Guide
Visual parallel programming languages have assisted the programmer to overcome the burdens of parallel programming. However, they still suffer from the fact that they cannot be as portable as textual languages. The aim of this project is to take the first steps in the translation process from the Vorlon visual parallel programming language to the Extensible Markup Language (XML). Specifically, XML will be used as the textual format for representing the graphical notation of the Vorlon language. Having transformed Vorlon graphs to XML format, Vorlon programs can then be as portable as textual code, removing a significant barrier to their pervasive use.
XML Support for Visual Parallel Programming Languages
Service Location Protocol (SLP) is a protocol which enables service discovery with little or no pre-configuration. An Application Programmer Interface (API) has been suggested for SLP and the Java Binding for this is being discussed at present within Java Service Request (JSR) 140. This Project will assist in the process of designing the Java Binding of the SLP API. Further to this a prototype implementation of the binding is necessary for testing and proof that the API is useful.
A Java API for Service Location Protocol
This project outlines the requirements and construction of an HTML parsing program. The project investigates features of Internet sites to try and determine which of these features can be related to overall quality. A Internet based testing tool is developed to try to test some of these features (spelling, HTML, broken links, and image loading), with a view to detecting errors, and hence improving the quality of the site.
A couple of the pieces of coursework for CSC226/CSC807 (Professional Issues) involve students signing up for a 'mock' job interview with a real company. Having signed up for the interview, the student then produces a CV and covering letter (which is submitted) and then attends for an interview with their chosen employer. Administration of this whole process has been the responsibility of the Careers Service but this is to be undertaken by the department of computing Science in the future. The aim of this project is to implement a Web based automated booking system that can replace the existing manual booking process that was used this year. The automated system needs to be able to: accept configuration information identifying who is offering jobs, on what days the interviews will take place, and the period over which interviews will take place display information about the jobs being offered by the various employers display details about the days on which the interview will be taking place allow students to move a booking from one time to another, or from one employer to another if the timetable permits maintain integrity checks to prevent multiple interviews being booked by a single student allow the module leader to record the subsequent submission of the CV and covering letter.
Professional Issues: The Automated 'Mock' Interview Booking System
This Project has involved the design and implementation of a series of neuropsychologically designed tests. The client from the School of Neuroscience at Newcastle General Hospital, required these programs to measure specific cognitive abilities of patients with a form of senile dementia known as Lewd Body Syndrome. The series of computer programs had to be compatible with the client's hardware, which included the use of a touch screen. As the neuropsychological tests were to be used for pilot studies the design and implementation of software endeavoured to provide the client with some flexibility to allow modification to specific features in the code. In the long term, reuse of procedures and functions to facilitate modified test programs was anticipated. The computer programming language fulfilling the most requirements for the project was Microsoft Visual Basic, due to its compatibility and flexibility.
Psychological Tests Investigating Lewd Body Syndrome: Design and Implementation
This project investigates the methods of representing mathematical functions of two variables. The project looks at existing software for plotting mathematical surfaces and the different methods used to rpresent a three dimensional surface. The major part of the project is the implementation of a set of functions which allow the display of such surfaces through the X Window System. The project implemets three techniques to allow surfaces to be represented in two dimension. Firstly through the use of contours, which can be used to represent the third dimension as they are on geographical maps. The second extends this method to make use of shading, where areas of different heights are shaded in different colours. The third method used applies transformations to the data to allow it to be viewed from alternative angles so the third dimension can be seen by the shape of the surface. A single library of functions if provided alowing any one or all of the techniques to be used. The programs provide both the functions necesary to carry out the plotting and a variety of methods by which data can be specified.
Plotting Mathematical Functions of Two Varaibles
The approximate solution in the collocation method for solving boundary value problems (BVPs) could be represented using piecewise or global basis funtions. These basis funtions may be chosen in a manner such that they have one or more of the properties: continuos differentiable, orthogonality, simplicity and satisfy boundary conditions which are homogeneous. Moreover, there are different ways of setting up the sets of simultaneous equations needed. The aims of the project are to implement piecewise and global representations with various basis functions and collocation points; and then carry on numerical experiments to evaluate the relative merits of some of these representations. The project focuses on linear problems (linear BVPs). The numerical results show that using piecewise polynomials with Hermite Series/Chebyshev Series as basis functions and Chebyshev points as collocation points is recommended for solving linear boundary problems.
Representation of Global and Piecewise Polynomial Solutions in the Collocation Mentod for Solving Linear Boundary Value Problems
During the design of a chemical process plant, the intended and abnormal operation of the plant must be considered carefully to prevent accidents from occurring. The Hazard and Operability study (Hazop) is a tool for identifying hazards and deviations from normal operating conditions. Hazop information can be used to help diagnose faults with process plants and recommend a course of action. By storing the information in a relational database, it is possible to have a system that plant operators could use to help them diagnose problems with the plant. Ultimately the system would be connected to the plant's control system so that relevant alarm indicators may be shown on a mimic diagram of the process. The system is not intended to supersede standard control room alarm systems but to supplement them with additional information. This project is concerned with developing a system to indicate alarms, store the Hazop data and aid problem diagnosis for a pilot scale solvent recovery column in the Department of Chemical and Process Engineering at the University of Newcastle-upon-Tyne.
This project is to change the departmental static web pages to the dynamic pages, by means of converting all the static web pages to unified database and access this information through the web. Any visitors to the web site will be able to search the database for their selected choices or entries. They would need to enter certain information under certain fields to retrieve the information from the database. As well as any authorised user would be able to manage the database remotely through the web.
A Database System to Assist in the Diagnosis of Problems with Process Plants
All computers rely on time for many different reasons, and there are many different mechanisms for retrieving time readings. The CORBA clock service is a CORBA service which not only allows for the retrieval of time readings, but also for multiple clocks in a distributed environment. This project makes an implementation of the CORBA clock service and attempts to look into the issues associated with multiple time sources in modern distributed computing.
A Distributed Implementation of the CORBA Clock Service
The aim of this project is to compare the two systems PVM (Parallel Virtual Machine) and MPI (Message Passing Interface) for implementing parallel algorithms for a simple problem which has plenty of potential for parallelism. The comparison is on the basis of both convenience and efficiency.
Comparison of PVM and MPI for Parallel Matrix Multiplication
There has been a significant increase in the application of digital computers in the area of safety-critical systems. The main motivation for introducing computers into such environments is to increase efficiency, performance and flexibility. However the effect on the safety is unclear. Safety-critical systems are complex real-time systems for which failures can lead to accidents (avionics systems and protection systems for nuclear power plants). Therefore a necessary requisite for such systems is a high quality requirements specification. This project investigates the applicability of object-oriented techniques for the requirements analysis for the safety-critical system, and studies the case study of a train-set to exhibit the suitability of this technique. The project suggests a list of desirable characteristics for the requirements analysis, and evaluates the application of the candidate object-oriented technique, the Object Modelling Technique on the train-set model, with respect to the pre-defined criteria.
Object-oriented Techniques for the Requirements Analysis of Safety-critical Systems
A couple of the pieces of coursework for n implementation of an auction Web site using Apache SOAP-based RPC call to make use of an existing auction service from another Web site is presented. The system was programmed in Java language. Other technologies used included JSP and XML. This dissertation mainly covers the client-side application of the system. The theoretical content is presented in summary, followed by the main features of the design and implementation. Example of use shows the implemented functions of the entire system.
Deriving Service for Use Over the Web by Using the Existing Service
Constraint analysis applied to requirements and safety is a relatively new approach to the modelling and analysis of systems. Traditional methods for modelling and safety are specific to the system to be modelled and require specific analysis techniques A Case Study of a Railroad Crossing has been used to evaluate the compatibility of a traditional modelling technique, Buchi Automata with constraint analysis. The dissertation provides a background to modelling and analysis in general, followed by a detailed description of CoRSA (the constraint analysis method) and the Buchi Automata method. A detailed description of the techniques used to translate the model to CoRSA is provided as well as the results of the successful translation and an evaluation of the CoRSA method.
A Constraint Based Approach to the Safety Analysis of "Buchi Automata"
In general, a brokering service acts as a go-between for a customer and a service or set of services. Typically brokers provide "added value", for example providing a service tailored to a particular customer by re-packaging information gleaned from a variety of existing services. The W30bjects group (of the Arjuna Project) are investigating the role of brokering services within the Web. A framework is being designed that aims to "provide tools and building blocks which can be used in the construction of generic brokering services" (Metabases)[5]. The aim of this MSc project is to demonstrate the feasibility of this idea through the construction of a Web based travel agent broker that will extract, massage, and re-package data from a number of existing services.
The project aims to analyse the volume of activity from a network and also to analyse the composition of certain types of files that contribute to the activity on a network. There is particular emphasis on MPEG files, which are currently growing in popularity as users discover the advantages that they offer over other file formats in terms of storage space. It is expected that by the year 2000 some 80% of network traffic will be accounted for by files with MPEG format. The network traffic analysis looks at the volume of activity on a network by applying statistical analysis techniques to a data representing time of a connection between terminals on a network. MPEG files are also analysed by decomposing them and examining the individual from types, whether they are audio or video, and the size of the data frames that are in the file.
A Network Analyser to Provide an Extended Analysis for the Volume of Traffic and also to Examine the Structure of MPEG File Format
The use of keys for the identification of polychaetes is a difficult and often time consuming occupation for those who are unfamiliar with it (and often also for those who are!) In addition most keys are continually having to be updated and re-published. Expert systems are intended to imitate an expert at work and as a result make expertise accessible to those that are inexperienced. The World Wide Web (Web) is a resource that makes information universally available and enables that information to be kept current without the need to inform those who use it. These two facts form the rationale firstly for creating an expert system to perform the identification of polychaetes, the CLIPS Polychaete Identifier (CPI). Then implementing the CPI to be accessible on the Web, as the Expert Polychaete Identifier (EPI).
The CPI and EPI: An Expert System for the Identification of Polychaetes and its Implementation onto the World Wide Web
All undergraduates and taught postgraduates in the Computing Department taking Computing Science degrees (or similar degree programmes) are required to undertake a project and produce a dissertation. The relevant project modules are CSC899 for the postgraduates and CSC399 for the undergraduates. Having viewed the list of available projects on the department web page, the student chooses a number of projects and emails the appropriate supervisors in order to be considered for those projects. Demand for an individual project varies, and there is no limit to the number of projects a student can express interest in. A student does not know how likely they are to get their preferred project without repeatedly contacting the relevant supervisor. The aim of this project is to design and implement a web based automated booking system that can replace the existing system of static web page and numerous emails that is currently used.
A Web Based Booking System for Computing Department Projects
The purpose of this project was to design and implement a computer based tutorial covering the principles of electric charge and the fundamentals of electric circuits. The tutorial was to support the teaching of physics in accordance with the guidelines laid down in the National Curriculum. The system is designed around several full screen graphical images that instruct the user on the aforementioned topics. The system makes extensive use of animation sequences to further augment the messages being protrayed. Additional teaching is provided in the form of question and answer sections which are dispersed throughout the application. All user responses are stored on a screen personalised with the user's name. This gives the user an impression of informality and also aids the retrieval of individual user information during subsequent invocations of the package. The application was developed using the Asymmetric Toolbook V3.0 authoring system and runs on IBM compatible personal computers.
A Computer Aided Learning Tutorial in the Principles of Charge and Electricity for Key Stage Four Secondary School Children
There is an increasing demand on software that exploits the capabilities of network environments. Users require software tools that allow them to overcome the barrier of a standalone computer. They reuire the means to easily acquire information and accept services. Further, users need 'clever' personal assistants that autonomously act on their behalf. Agent computing is one of the fastest growing areas of Information Technology. Agents are used as software development tools and/or as user tools. In this document, the fundamentals of agent computing and possible application areas are discussed while current research efforts are presented. The model of a host-environment for agents (Iris) is introduced and its implementation process is described.
The ability to locate users and free computers is a valuable ability in a large organisation such as the University of Newcastle-upon-Tyne. This work attempts to find methods of implementing a usage monitoring system that will allow students and staff to locate people and free computers. In addition, the system should generate tables of past usage, enabling administrators to answer queries concerning users' last login times, and locations at specific points in time. The project also introduces ideas on privacy and security, raised when introducing such a system, and looks at the related legal issues and at the implications for the design and implementation The appendix contains C++ and Java code for the implementation of a basic user monitoring system.
Agents provide ways of supporting autonomous, mobile computations. For example, a mobile agent may run on travel agent Web sites to check whether any holidays that are of interest to the agents creator are available at an acceptable price. The agent would report back only when one was found. Popular sites might attract huge numbers of agents, and so there is an issue of how to provide sufficient computational resources. This project would investigate the design of a scalable agent server. Agents would arrive at the server and be routed to one of a set of computers, depending on their current loading. Issues to be addressed include how to limit the resources consumed by individual agents, how to avoid denial of service attacks, and how to implement "pay- per-usage" accounting.
Layer manufacture is an engineering technique used for generating rapid prototypes. This involves constructing objects by stacking a series of layers where each layer represents a 2D cross section of the object. A cross section of the object can be found by employing scan line algorithms and intersection techniques. If consecutive cross sections are similar in shape and size and differ in position with respect to the 'z' direction only then the volume between the cross section defines the layer. Otherwise, an evaluation of how the layer needs to be produced should be considered. The aim of this project is to implement the evaluation and derive the set of layers by using a geometric description of the object and provide graphical visualisation of the object under construction.
Layer Manufacture: Reproducing Solid Models from their Geometric Descriptions by Constructing a Series of 2D Layers
A Visual Editor For The Vorlon Programming Language
The University of Newcastle Student Registration Database contains confidential student records and must be protected from uncertified users. Currently special front-end applications executing on personal workstations are used to access and maintain the database. However, this approach imposes great constraints on the ease of accessibility to the database system. The aim of the project is to develop a client software system that allows only authorised users to access the database over the Internet by using a standard graphical WWW browser. This dissertaion provides detailed information concerning development stages of the project. Possible further developments and enhancements for the system are also discussed. The system was implemented on the Linux platform and compiled by using a standard C++ compiler. The system has been tested against its functional requirements - it pevents unauthorised users from accessing student records. The application has fulfilled the specification and performs well on testing.
A Client Application for the Student Registration Server
The Virtual Reality Modeling Language, (VRML) is an evolving standard that describes how fully netwroked, multi-user virtual worlds will be implemented. The purpose of this report is to explain what VRML is, what tools are required, what tools are available, what it can be used for, and where the VRML community is in terms of progressing towards something usable. In additon, an attempt is made to aid in the creation of a fully operational 'Virtual Memorial Garden' utilising these tools.
The Tools and Applications of the Virtual Reality Modeling Language (VRML)
This thesis is the result of a project conducted as part of the ERASMUS student exchange program. The project was supervised by the Canarian University and the majority of the study was undertaken in Las Palmas. It is the intention of the university in Las Palmas to use this study as the basis for an on going project. In Las Palmas (unlike Newcastle) an important part of the project was the final presentation. The aim of this project was to understand how and where Gcc describes the processors within inself, which enable it to be installed on a large number of machines. The goal was to find a way of describing new processor models to Gcc, such that "C" code can be run on a processor model, rather than the finished product. If this was achieved, the next stage was to attempt to extract the processor models and to write them in VHDL. Initial research was began in the UK into VHDL. It was recognised at this stage that in order to extract information from Gcc to use in VHDL, it was necessary to understand VHDL and its requirements. Chapter/refchap:vhdl is the result of a study I made of VHDL. The intention was to familiarise myself with the language so I would have a better understanding of what I was looking for within Gcc. As the project developed, it was realised that the task of understanding Gcc was much more of a challenge than was first anticipated. For this reason the bulk of the project is centred around the investigation into Gcc and the location of the processor descriptions. The project plan was modified and adjusted as the project developed - in this way the project progressed in an "evolutionary" nature. Altering and adapting as the need arose. The write up of the project was performed on an on going basis, and so the chapers reflect the incremental development of the project in approximately chronological order.
An Investigation into Processor Descriptions with Gcc
Web services have emerged as the new components in Internet-scale distributed computing. The possibility to orchestrate a group of Web services into a sequence, or workflow, resulting in a powerful business process is tantalizing and offers the promise of truly dynamic business-to-business interoperability. To make sure B2B processes are reliable, Web services can be invoked within the scope of a transaction. This project combines Web services transactions and workflow technology and investigates the concept of transactional workflows over Web services. An existing language that defines workflows over Web services has been extended to incorporate transactional semantics, and an empirical study based on the application of the language and its prototypical engine is presented. Ultimately this thesis demonstrates that is possible to aggregate two distinct Web services technologies to produce a more powerful tool for supporting B2B activities on the Internet.
Enabling Transactional Workflows over Web Services
To make a local "copy" of a remote web site given an URL. The local copy should contain pages and images from the given remote site so that the copy can be used locally without further remote access. However, references external to the given site should be left as such. The pages of the local copy may need modification to revitalise internal links. It will also be necessary to find sensible ways of specifying limits on the numbers of files or amounts of data to be copied. If the basic project proves to be too simple, a user interface, showing the structure of the remote site and allowing the user to specify the part to be copied, could be built.
To update the BCS web page which is currently available at the following URL http://newcastle.rkbexplorer.com/id/events/BCS. The updated version should include subscription to the BCS services in addition to the branch information and basic meeting. The subscribed readers should then be able to receive information via emails on forthcoming events or specific branch information. They should also be added to the normal branch mailing list, express an interest in membership of the web site, make suggestions on possible future meetings and to register for forthcoming activities. The Dissertation investigates various methods of implementation and design, evaluating each method to deduce the effectiveness of use within the project. Such conclusions as to the success of various methods will be documented early within the dissertation, so as to develop and build upon, throughout the preceding chapters.
Information Server for the Newcastle Branch of the British Computing Society
This project investigates the performance of publicly available Message Passing Libraries. The investigation is focusing on MPI and MPICH which are the most widespread and standardised Message Passing Systems. The aim is to create the appropriate parallel programs that will collect the performance results for the MPI, MPICH libraries and small client/server applications that will collect performance results for data communications via the fast ethernet network ( TCP/IP protocol) and via the ATM network (ATM switch). Performance results are analysed and compared between them and whenever is possible are explained. Performance results for the ATM network were not obtained because the network is not ready. All program tests were designed to be able to run in every parallel platform without serious modifications. Current results were obtained from the departments affordable parallel platform ( Leys cluster).
Performance of Message Passing Libraries on the Leys Cluster
This dissertation is about the development of a series of support tools using Visual Basic 6 to enable the analysis of Petri nets using Rewriting Logic. The main aim was the development of a tool in the form of a user-friendly GUI that would be able to draw, edit save and load Petri nets. The tool would also be able to convert a Petri net on Screen to Rewriting Logic format and save the RL terms in a form that could be analysed by the RL analysis tool Elan. The main project aims were accomplished successfully as the above functions and others were implemented into the support tool that was developed. The support tool is very user friendly and straightforward to use.
Developing a Support Tool for Analysing Petri Nets Using Rewriting Logic
Object-Oriented Analysis and Design is a fairly recent addition to the 'tools' used by systems analyst's and software engineers to develop software applications. This project uses an object-oriented analysis and design methodology, along with Visual Basic and various other 'tools' and techniques to initiate and progress the development of a substantial management analysis application for Transco, a large UK company responsible for distributing all of the gas supplied in England, Wales and Scotland. The Project Proposal Analysis Software System is designed as a WindowsTM based, client-server application operating over a Wide Area Networked environment.
Development of a Research & Development Project Proposal Assessment Software Application for Transco plc
Making wine at home is a most rewarding pastime. However, the combination of chemical, fruit and micro-organisms that form a pleasant wine is a fine balance. To achieve an enjoyable result one must select the ingredients carefully and follow tried and tested methods of production. Expert systems are intended to emulate the reasoning of an expert and thus made available expertise, via a computer program, to those less experienced in a problem domain. The World wide Web is a resource that allows the universal distribution of information and allows that information to be updated as necessary without having to inform those who use it. The goal of this project was the combination of these 3 facts, and resulted in the construction of a complete web site containing an expert system to perform the selection of wine ingredients and diagnose problems in all stages of the wine making process.
The Wine Maker's Expert System: A Complete Web-Based Guide to Wine Making and its Implementation
The aim of this dissertation is to produce an overview of the issues surrounding certification. Under discussion will be the main cryptographic techniques, algorithms and protocols required for secure electronic commerce. There will also be a discussion on Certification Authorities, their role and responsibilities, in addition to an analysis of the survey results. International legislation, such as key escrow and liability, will be discussed with regard to electronic and digital signatures, and Certification Authorities. The methods used to implement the website and database designed as part of this project will be discussed also.
Certification and its Implications for Electronic Commerce
The development of a chess game has been used to demonstrate the capabilities of interactive Web pager by using Java programming language. It also shows how platform independent programs can be developed and run on platforms such as Solaris UNIX, Linux, MacOS and Windows 95/NT. The main software considerations in this project includes event driven programming for Graphical User Interface (GUI) development, improvements to graphics in terms of appearance and performance, as well as client-server model programming. This thesis describes the necessary background and development details of this project. It also addresses the implementation in a structured approach.
This project provides a system to aid the task of matching postgraduate demonstrators to modules based on the demonstratorÂs interests and the requirements of each module leader. The system also provides means by which PhD demonstrators and module leaders can submit the hours spent demonstrating modules each month, a process that must be completed in order for the PhD demonstrator to be paid. The system administrator has access to a number of services including task tracking, database administration and some automated reporting functions. The system is accessed via a Web page environment connected to a database management system and has been created in such a way that integration with the Newcastle University NESS system will be possible.
Support for Allocation and Tracking of Demonstrators
The principal underpinning of this study is the production of an information system analysis to allow for the control and communication between various departments as well as between the individual processes of a microelectronics manufacturing company. It considers all the functional areas of the company and their relationships to the individual working areas. The report includes decision making processes with tables, trees, and structured English logic, as well as modelling of the data with normalization theory. Data Flow, Extended Entity Relationship, and Entity Life History models are constructed to represent the actual processes of the company. The report suggests the adoption of the control engineering principles with the feeding back of information, in the system analysis, in order to control vital parameters in the system such as production rate, price, and cost, towards the profit maximization of the company.
Information System Analysis of a Microelectronics Manufacturing Company.
A variant ordering of the standard Gaussian elimination algorithm is to be implemeted sequentially, and it is to be compared to the standard row interchange version. This variant is designed to extend to an efficient parallel implementation. This is to be implemented (with a number of minor variants) and compared to the standard parallel version. Some consideration is also to be made of how best to use the constructs provided by C++.
Gaussian Elimination with Column Interchanges and its Parallel Implementation
There are many legitimate reasons why an individual might wish to remain anonymous. In recent years, several techniques have been developed to provide anonymous communication on the Internet. However, these usually require individuals to place trust in one or more third parties to keep the secret of their identities, or are inconvenient to the user. Recently, a protocol to solve this problem has been developed, which uses the paradigm of telephoning from a public call box. Anonymous messages are sent from a mobile personal digital assistant (PDA) , which is bridged to the Internet by a public mobile support station. This dissertation presents an implementation of this protocol. A three-layer software system has been designed. A PDA is dynamically assigned a random local IP address by a DHCP server. Then, custom-built Java programs are used to negotiate an anonymous session between the PDA and a mobile support station controller PC. This involves the exchange of a cryptographic session key, and payment with anonymous 'e-cash'. Finally, data is forwarded between the FDA's application program and a host on the Internet. A simple 'chat' program has been developed to test the software in the simplest possible way. The implementation also includes support for web browsing with HTTP. The system has been tested on a 'wired' network of desktop PCs.
Anonymity on the Internet Without Trusted Third Parties
This dissertation documents my aim to implement a Web Server which supports the World Wide Web security protocol SSL. While not directly necessary in achieving the above goal, I also agreed to learn a little about other related subjects (for example HTML and CGI scripts, then using what I learn of these subjects to create simple HTML files and CGI scripts) to try and gain a broader knowledge of the World Wide Web and issues arising from it. I believe that such background knowledge can only help me try and solve the main task I hve been set and try and place it in some sort of context. (Coming into this dissertation period, my knowledge of the World Wide Web was minimal). In summary, my brief was as follows:- To learn how web browers interact with Web servers. To gain some knowledge and experience of HTML. To gain some knowledge and experience of CGI scripts. To acquire the software for the Apache Web server and install this software on a Linux machine within the Department of Computer Science. To gain knowledge of the SSL security protocol, obtain the software for SSL and compile it. Discover how to incorporate SSL into the Eb server software. Conclusion - what I think I have learned during the dissertaion period, whether I consider it to be a success i.e. whether or not I have achieved what I set out to achieve and what I could have done given more time. It is my intention to use the above headings as Chapters for this dissertation. Within the chapters themselves, as well as documenting my progress, I also plan to explain why such steps had to be taken in order for me to achieve my ultimate objective. I have done my best to include as many definitions as possible in the Glossary.
en_US
website
Turning Shoe Information to Knowledge of Technology and Deals
Take a look at Nike and Adidas Shoe technology, and use Finish Line coupons to save money on athletic shoes and performance apparel
Aktors
The operation of an asynchronous circuit can be often quite hard to understand because of the high parallelism of the circuit's internal switching processes. Existing tools provide little opportunity to interactively explore the behaviour of a circuit. For this reason a tool was developed to allow an asynchronous circuit to be visualised and animated. The tool provides a schematic editor through which a graphical representation of circuit can be designed from a library of pre-defined and user defined gates. The notion of 'event flow', an extension of dataflow, was investigated as a means of tackling the problem of animating the behaviour of a circuit. Different operating modes provide varying degrees of user interaction. The user can define the functionality of a gate by entering a Boolean equation. Alternatively, the functionality of a circuit can be represented as a component. This feature also provides scalability, allowing large scale circuits to be designed. Timing analysis and hazard identification are aided by a graphical output display. The tool is portable and is supported by file management routines, a multiple circuit viewing system, and a cross-linked help-system.
Visualisation / Animation Of Asynchronous Circuit Behaviour
The project is based on a formal model of communicating systems which supports the notion that a system is an acceptable implementation of another base system, in the case that the two systems (or processes) have different communication interfaces. For instance, the base processes can be thought of as specifications, or ideal processes operating in an error-free environment, while the implementations model their actual realisation possibly employing some fault-tolerant techniques. Using the CSP model, one can relate implementations and base systems in terms of their observable behaviours. The resulting implementation relations need then be checked for concrete instances of the base and implementation processes. As yet, there are no methods for (efficient) automatic verification of implementation relations. The aim of this project is to develop and implement algorithms for computer aided verification of implementation relations.
Verification of Implementations of Communicating Processes
The aim of this project is to implement a database system for a fast food business. A rigorous Systems Analysis has been carried out to gain a full understanding of the current system and to draw up the requirements and specifications of the system to be implemented. Further Systems Design techniques are used to move from the conceptual model to the physical model of the database design. The actual physical database system is implemented using Microsoft Access 97Â®, which is a Relational Database Management System (RDBMS)
A Project on the Implementation of a Database System For a Fast Food Business
The field of computer support for cooperative working (CSCW) has become a field of research in its own right. The field involves researchers across many disciplines and focuses on the role of the computer within group work. Current CSCW tools are restricted by the underlying software architecture used and communication between different tool types is rarely supported. The extendibility of these architectures is also restricted making the development of CSCW tools difficult. This document details the development of an extendible architecture for the support of distributed CSCW application. This is achieved by developing a broker which manages and maintains project data while providing mechanisms for processing requests from the applications.
An Extendible Architecture for the Support of Distributed CSCW Applications
The goal of this project was to develop a computerised parts management system for garages. Today's systems generally use microfiche to search for parts, and a computer sytem to check if the part is in stock and print the bill. The system developed in this project integrates the manual and the computerised tasks by letting the user select parts by clicking on images connected to the stock database. The images are connected to each other so that if an area is clicked on, a more detailed image of the area will be displayed. A custom control is used to handle the special images. The project is implemented in Borland Delphi 2.0, since this tool provides easy access to databases and an ability to customise controls.
Garage - A Computerised Parts Management System
Children's International Summer Villages (CISV) is a charitable organisation promoting peace and cross-cultural friendship through a series of volunteer programmes and activities. One of these activities is the International Summer Camps. At present the International Summer Camp programme comprises both automated and manual systems, operated from the International Office in Newcastle-Upon-Tyne, England. This project aims to provide a high level of automated support for the administration of the International Summer Camp programme by developing a database management systems to suit CISV's medium-to-long-term requirements. This project consists of analysing the present manual Summer Camp System and developing an automated Summer Camp Administration System. The project development follows the V-life cycle aspects of requirements determination, design specification, implementation, verification and validation, and maintenance support mechanism - with built in test plans. Also included is a detailed discussion of the database management systems developed for the International Summer Camp Administration System.
The CISV Summer Camp Administration System
Asynchronous/Multithreaded I/O on Commodity Systems with Multiple Disks - a Performance Study
This project is concerned with the development, using sound software engineering techniques of a program to calculate salaries for research Applications. The program will be used by staff at Newcastle University's Research Services Unit. The development of new software for the University's administration departments is a task that is normally undertaken by the Management Information Technology Services Department. However it was decided that the development of this program would be a suitable task to be undertaken by an MSc Computing Science student as an individual project. The program will be developed using the Visual Basic programming language to customise Microsoft's Excel spreadsheet program.
A Spreadsheet Model Implemented in Visual Basic to Calculate Salaries for Research Project Applications
The development of a prototype system, via MS Access ver 7.0, was carried out for the Palliative Care Support team at the Royal Victoria Infirmary (RVI) in Newcastle upon Tyne during the summer of 1997. Analysis of the manual system revealed the need for an automated system to better address the retrieval of data for statistical purposes. Changing demands for views of the same data, imposed by government, further suggested that the sytem be developed via a relational database. Development of a user-friendly interface was also needed to meet the computer abilities of the members of the Palliative Care Support Team. This dissertation describes the processes involved in the development of the prototype to meet these needs.
Development of a Prototype System for the Palliative Care Support Team, RVI
With an increasing reliance being placed on computer networks in the workplace and beyond there is a need to provide appropriate monitoring mechanisms for network management systems and within these. This project sets about providing such a monitoring scheme for the LINUX machines in room D820, using LINUX/UNIX programming to abstract performance information from the management system, and presenting three dimensional displays of this information through using the Virtual Reality Modeling Language (VRML) C++ is used to tie the performance information and VRML code together.
Virtual Reality System Management: Using the Virtual Reality Modeling Language to Model System Performance
This dissertation details a project to produce a Computer Aided Learning (CAL) package for a North East school - Mortimer Road Comprehensive school, Reading Road, South Shields, Tyne & Wear. This package is intended to support teaching of GCSE Coordinated Science (Biology), specifically - the subject of Hormones. It is anticipated that the package will be used as a homework assignment for the pupils. The implemented CAL package consists of three main components; a Tutorial component and an Assessment component, both of which generate user records. A Reports/Set-up component is implemented to allow School Staff to check user records, view assessment performance and print reports. On-line Help is available, and the Tutorial and Assessment components may be configured Foundation or Higher Level GCSE material, depending on user ability.
IT in the School Curriculum 'An interactive CAL Package for GCSE Co-ordinated Science - Biology'
Until recently, databases contained easily indexed numbers and text. Today, in the age of powerful, graphically based computers, and the World Wide Web, databases are likely to contain a much greater variety of data forms, including images, sound, video clips, and even hand-written documents. The primary aim of this project was to gain experience in creating a general multimedia database capable of storing audio, images, text, and video, using two different relational databases. With the popularity of Microsoft Access and Oracle, two powerful products, the two were compared and contrasted with each other in relation to the analysis, design, and implementation differences with respect to multimedia data. Research was also carried out to find out about the growing popularity of object databases, in particular the emergence of hybrid object-relational databases which are designed to cater for multimedia data. Further to this, a look at how ODBC can be used to front-end MS Access to other databases, like Oracle for instance, was briefly examined.
Multimedia Databases: Analysis and Design in MS Access and Oracle
The work presented in this report is concerned with the design and implementation of a multi-user software distribution system for Newcastle University. The application allows software products installed on a central Novell NetWare file server to be downloaded across the campus network onto a PC once a license has been purchased for that product. The chosen design controls access to software by using Novell NetWare security features. Visual Basic is used to interface with NetWare via API calls to DLL files. The completed application is a Windows program using the standard Windows interfacing facilities.
The Design and Implementation of a Software Distribution System for the University of Newcastle Computing Service
This project examines tool support for an approach to traceability in the context of a case study supplied by BAe Airbus. The dissertation discusses Requirements Traceability as a concept, and introduces information structures to record development entities and relations. It then proceeds to describe the deductive database ConceptBase which is to be the traceability application. The traceability structures are implemented in the tool and its effectiveness is measured through ease of representation, applying projections to the basic information and defining constraints and queries. Finally conclusions are drawn on the suitability of ConceptBase as a traceability tool.
Study of a Deductive Database Tool to Support Traceability for a Safety-Critical Avionic System
This report describes a Java meeting maker system designed to be used over the WWW. The report first looks into the feasibility of such a system and then goes onto describe both in design and code terms a actual system. The report then ends with a overall conclusion as to both how the system worked and how the dissertation has gone.
This project engineers a solution to the problem of capturing and analysing traceability-related information during a software product lifecycle. The dissertation discusses the background to traceability, attempting a definition of the field of traceability and analysing why traceability is so important to project development, particularly in the field of dependable systems development for the avionics industry. Information structures suitable for the capturing of traceability-related information in avionics are introduced. A database schema is produced to represent the traceability data structures, which are subsequently implemented in a relational database using a BAESYSTEMS case study as the basis for experimental development and testing. A prototype graphical user interface is developed, which allows users to browse through entities and their relationships in the database using a browser. Finally, future extensions and approaches for developing the system into an industrially useful package are discussed.
An investigation into the design of general-purpose facilities for constructing a map-based navigation interface to a set of hierarchically organised information pages was performed. A resulting solution titled Map Navigation System (MNS) was designed to reside on the World Wide Web. A tool to support implementation of the system was also developed. The graphical user interface (GUI) of the MNS was implemented using the Java Abstract Window Toolkit (AWT) package and the GUI of the Tool was implemented in Java's AWT extended package of Swing.
In several computer simulation languages such as SIMSCRIPT, GASP, and others, the set of future events is maintained as a list, ordered by event time. This is so called "the linked list algorithm". As each event is scheduled to occur in the future, it is inserted into the list of pending events. Unfortunately the scanning can become quite expensive in simulation models of large, complex real-world applications. For the purposes of reducing the time spent on scanning future event lists in discrete event simulations, this dissertation proposes another two data structure algorithms, "the indexed linked list algorithm" and "the heap algorithm". Three applications with different distribution parameters are designed to test the performances of these three algorithms. The results produced suggest that the heap algorithm is the most promising one.
Data Structures for Event List Simulations
3D metamorphosis algorithms are becoming of increasing interest to computer graphics researchers, now that 2D metamorphosis and its shortcomings are well understood. However, research into 3D metamorphosis is hampered by the complexity of the underlying data structures which are required before any research into the metamorphosis algorithms are performed. This report describes the implementation of a series of base classes, intended to produce a stable and efficient test bed for polygon mesh metamorphosis, based on the OpenGL API. These base classes were then used to investigate the algorithm described by Kent et al, in the SIGGRAPH 92 paper "Shape transformation for polyhedral objects", and an implementation of this algorithm, using the data structures implemented was attempted. Although this implementation was not successful, it did succeed in locating the reason for this failure and highlighting an area which was not discussed in great detail in the original paper.
An Investigation into 3D Polygon Mesh Morphing
Moulting is a key physiological event in birds and the analysis of moult patterns, duration and energetics of moult is of considerable interest to ornithologists and avian ecologists. Simple scoring systems for recording the progression of flight- feather moult have been used for many years, but it is only comparatively recently that statistical models, based on maximum likelihood estimation, for obtaining unbiased estimates of the duration and timing of moult have been developed to analyse moult data. However, these statistical models have not yet been widely used as they are not readily accessible. The aim of this project is to produce software to make the statistical analysis of moult data accessible to research biologists.
Implementation of a Statistical Model for the Analysis of Moult Data
This dissertation documents and explores related issues concerning the construction of a Radio on Demand server. The Radio on Demand server is built by decomposing the system into subsystems, and this is reflected in the documentation. Each chapter covers a subsystem and, taking a standardised form, discusses it in terms of requirements analysis, design consideration, explanation of the implementation, and performance when completed. Related issues include why such a server is desirable, the concept of Radio on Demand, how, when finished, the implemented system exists in the environment it is intended for, and how relevant technical issues influence implementation.
I have designed and implemented a system to aid the purchase of auto parts for a garage. the problem for auto parts retailers is that two pieces of information are stored in two different areas. The part number on microfische and the part information such as price and availability in a database. By matching these two sources together with a visual interface I have provided the user with an easier method of selecting and purchasing autoparts. The system is designed for Renault 21 2.0 litre petrol model and the implementation is carried out in the engine, suspension and steering areas. The platform of implementation is Visual Basic 4.0 professional using the Windows 3.1 operating system. The database used is Access 2.0.
This report concerns the production of a web server to view and manipulate DNA sequence data. It explains the design, implementation and testing of the system produced. The system itself consists of a number of static HTML files and several Perl CGI scripts to produce HTML dynamically.
Production of a Web Server to View and Manipulate DNA Sequence Data
Gaussian elimination using row pivoting should first be implemented as a sequential program and should then be compared to a parallel implementation using a distributed memory system. The implementations should be tried with various data representations with some consideration of how to make the best use of the constructs provided by C++. The system to be used will be the 'leys' cluster of PC's and the implementation shall make use of the PVM (Parallel Virtual Machine) system.
Gaussian Elimination with Row Interchanges and its Parallel Implementation
An implementation of an atomic broadcast protocol in Java using Remote Method Invocation to provide delta-common storage to a distributed processor group is presented. The theoretical context is presented in summary, followed by the main features of the implementation. Testing shows that the protocol performs correctly given timeouts are correct and processors do not become overloaded.
On the Streets of Byzantium: Design and Implementation of an Infrastructure for Fault Tolerant Computing
The Design and Implementation of a Rational Database for Use within a Dental Practice
One of the most serious problems plaguing the World Wide Wed today is that of broken links, which are a major annoyance to browsing users and also a cause of tarnished reputation and possible loss of opportunity for information providers. The root of this problem lies in the current Web architecture's lack of support for referential integrity. The author will present guidelines that should be followed when managing Web sites, in order to provide best service possible. All aspects of setting up a service will be discussed. A model and implementation to solve the broken link problem will be presented and discussed. They will be compared with currently available software on the market, highlighting why the approach taken by the author benefits over these. The author will show why this model is attractive, and can be adopted immediately by the Web service providers. It also will be shown that although this model is only a medium term solution, it inserts itself a niche of market not yet currently filled, thus resulting in a very commercial product. Finally the Author will explain how the implementation is to be used to maintain links under control in Web Sites.
EyeSpy A study of the problems of proving quality service on the Internet
Children's International Summer Villages (CISV) are currently facing increased difficulties in data handling and storage at their International Office in Newcastle-upon-Tyne. This project aims to provide automated support for the administration of their activity programmes by developing a database management system for future use at the office. The dissertation describes the development, implementation and installation of the database management system prototype. The project development follows the software development cycle provided by the author and details it's specification and design. The project's conclusion assess the development process and software prototype to verify if the project goals have been met.
An Analysis and Implementation of A Database Management System for Children's International Summer Villages
A number of databases are used within the department of Computing Science at the University of Newcastle upon Tyne. Almost all of these databases have been designed Âin house,Â documentation is often sparse or non-existent; the original designer has sometimes left the department. These databases are often used by very small groups of people and are not integrated with each other or with the central university databases. Most are based upon the Filemaker Pro program and are sometimes dependent upon the Macintosh operating system. The department would like to regularise the situation and proposes migration of most of these databases to a relational database system. This project involved an investigation and analysis of the current system. This was followed by a pilot conversion of two databases to Microsoft Access in order to assess the problems likely to be encountered during the migration.
The manipulation of large and complex systems is always hard to test, analyze and debug and many projects have been found to spend a massive amount of time on fixing errors. Petri nets are a model for procedures, organizations and devices where information flow plays a central role. In particular, in the modeling, design and analysis of concurrent and distributed systems. This dissertation addresses the design of a Graphical Petri Net environment based on labeled nets (Petri Box Calculus) and implemented in JAVA programming language. the user is able to draw Petri nets with ease and at the same time the program incorporates methods that check that the design being documented conforms to the Petri nets rules. A net that has been created by this program can be executed and tested for safety. Furthermore, a transition can be refined/replaced by another net or can be recursively replaced by the same net or can be recursively replaced by the same net one or more times. The user interface is simple in use but help or guidance is also provided if needed.
The problem dealt with in this dissertation was the production of a stock cutting allocation system for the Expanded Metal Company Limited Hartlepool. The company's existing software was thought to be inefficient at reducing the waste produced in cutting customer orders. A full system was an application of the area of one-dimensional bin packing. The system produced was to run on a P.C. and was to print out a number of standard reports used by the company.
Message Passing Interface (MPI) is a library of useful parallel programming facilities. Typically, programmers using MPI have no real idea of where their parallel program is spending time. Therefore, a means of logging and viewing runtime statistics would be of great value to them for discovering any design or code inefficiencies. The aim of this project is to provide the programmer with a viewing tool capable of displaying graphically, in an off-line fashion, statistics gathered on significant events during the execution of an MPI-based parallel program. This dissertation describes the design and implementation of a visualisation system that accepts statistics logged during the execution of an MPI-based parallel program and translates them to a graphical format for easy interpretation.
There have been many problems found with the writing of specifications and requirements of documents, as they are written in English. This is partly because the language is heavily dependent on context, and if the context of a document is not precisely defined for the reader, then it will be difficult to read. The language used can therefore be ambiguous, and it may be impossible to tell whether it is logically correct. This has obvious drawbacks when trying to implement a piece of software. A piece of software must be 'correct', or at least 'valid', with respect to its specification, and so many developers have tried to improve the situation by using formal methods in an attempt to produce more precise specifications. This dissertation aims to take sections from an example specification, and subject them to an examination of the language, in an attempt to discover exactly what problems can be unearthed, and to come up with a set of guidelines to improve future specifications which will help to ensure that formal specifications are also easier to produce. There will also be an examination of possible tools that can be used to help the process.
Comparing English to Formal System Specifications
The work of DeTreville (DeTreville, 1990) was an examination on the effectiveness of a number of experimental concurrnt garbage collectors in the programming language Modula-2+. A descendant of that language, Modula-3, contains a non-concurrent garbage collector as an integral part of its runtime system. While automatic garbage collection is the only reliable method for the disposal of dynamic variables, it does cause a decline in runtime performance. The solution to these performance constraints is the implementation of a concurrent collector. This study provides an alalysis of the feasibility of such a process, and an investigation of the problems involved in garbage collectors generally and the difficulties posed by the use of the Modula-3 sysstem in a UMAX environment in particular
An Analysis of Concurrent Garbage Collectors in Modula-3
The number of network enabled mobile devices is set to increase many fold in the coming years. In view of this, it would be beneficial to extend current enterprise messaging systems, such as the Java Message Service (JMS), to the mobile tier, as these provide the programmer with a familiar programming API and well understood semantics for programming distributed applications on mobile devices. A successful extension of established messaging systems should provide seamless integration between the wired and the wireless world, and allow existing enterprise applications to be extended to mobile devices. This thesis has extended the Hewlett-Packard Messaging Service (HP-MS) to reach the mobile tier by developing two extensions to it. The first extends HP-MS to provide JMS messaging on small wireless devices. This was achieved by developing a novel, very lightweight client library that together with a gateway provides messaging to even the smallest wireless devices. The second takes the familiar JMS messaging abstraction, and makes it available on mobile ad hoc networks for the first time. This allows programmers to program to a familiar API in this new emerging network environment.
Extending an enterprise messaging system to support mobile devices
This project borrowed ideas from the National Lottery to develop a graphical application. The application has the flexibility to allow a user to either play a multiplayer game based around the lottery, or play the "Weekly Draw". The Weekly Draw works as a scaled down version of the National Lottery, capable of being played in a work environment, with employees able to enter their numbers, or get draw information, through their workstations. The implementation was successful, with both the games running from the same package. The Weekly Draw contained the functions that would be expected, with the possibility of the number of balls being configured by the organisation running the application. The multiplayer game also allows the user(s) to change the values that they wish to play with. The application runs in the X Window System, with a graphical interface that a user should find easy to understand.
The Lottery Package Implemented in the X Window System
The game of Bridge has many dedicated followers all over the world. To the uninitiated, the game appears to be shrouded with an air of intellectual mystery and complexity which only elite card players with a certain (high) IQ can ever hope to grasp. The dictionary definition of 'game' includes phrases such as 'diversion', 'pastime', and 'piece of fun' as well as the more formal 'contest' played according to rules and decided by skill, strength or luck'. The aim of this project is to capture some of the numerous rules of the initial stages of this game and to provide the complete beginner with a non-threatening teacher, enabling a novice to grasp enough of the concepts of Bridge to have the confidence to face human players. There is no denying the intricate complexity of the various bidding conventions; therefore this project will concentrate on the basics of one of the most common and most popular systems: ACOL. The project will cover bidding up to game level and will provide an accurate representation of the rules of ACOL to this level as well as providing extensive help to the user. It is expected that potential users of this program will feel stimulated, challenged, and interested enough to find out more about the game, but also to view the learning and playing process as a 'piece of fun'.
RTM, Requirements and Traceability Management, is a tool to support traceability of a complete software development project. A key issue that has to be addressed in order to introduce RTM into a project is to establish an appropriate information model (database schema). This project has investigated the effectiveness of an information model provided By BAe BASE for the development of dependable avionic systems. The effectiveness is judged with respect to an international standard for airborne software systems, in particular two sections of this standard, Software Verification and Software Configuration Management. The project also examines the effectiveness of the information model in answering project management questions. As a result of investigating the information model it was discovered that some sections of the standard were not covered. A revised information model was developed and following testing through the development of queries and use of an RTM graphical tool, the revised information model was able to meet more of the objectives set out in the standard.
Tool Supported Traceability for Development and Certification
Automatic Code Generation: From UML to SML
The problem is based on a 'lift-share' agency called 'Freewheelers'. The sim of this agency is to match passengers and drivers, travelling in the same direction and at the same time, with each other to both reduce travel costs snd to reduce the number of vehicles on the road. The agency works by maintaining a database with passenger and driver information. A driver phones to offer a lift and this is recorded. when a passenger phones to request a similar journey, they are given the driver's details and left to sort the arrangements themselves. 'Freewheelers' make their money by both charging a membership fee and by charging for each match they make i.e. each time they give a passenger details of a driver, the passenger has a standard fee deducted from their 'freewheelers' account. Th agency keeps their memership information in a static computer database and records the details of lifts offered on paper. This is a slow process and susceptible to human error. To improve on this, the agency needs a dynamic database which makes the matches itself. The aim of this project is to provede a feasibility study to see if an automated system would be better than the paper system. Initially the system is to be run in a single office. The current hardware/software possessed by the agency are PCs running DOS and Windows. The conclusion will look at what upgrades would be possible given more time and money.
Systems Analysis and Database for Processing a Car Share Agency's Data
Generating Java from a Parallel Notation
The project is concerned with the modelling and system analysis of the drinking water process treatment and distribution for a water supply company. It provides computerized solutions of the chemical and physical treatment processes for the cleaning of the raw source water. It involves mathematical formulation for the computerization of the control of the processes as well as of the pressures and flows in the distribution network. It allows for continuous communication between all points in the water supply company. The analysis also involves the use of statistical procedures along with the computerization of the treatment processes for the improvement of the water quality as well as of the organization of the company. The report considers the use of decision making processes together with the Data Flow, Extended Entity Relationship, and Entity Life History models to provide the solutions. It includes a relational database analysis of the chlorine record.
System Analysis and Modelling of the Drinking Water Process Treatment and Distribution
It is widely accepted that the object-oriented programming (OOP) is the way of the future in software development. A major advantage of OOP is that previously written code can be reused. However to be able to reuse a particular data type the interface of the abstract data type (or class) must be known to the user. In C++, the class interface can be determined from the public information in the class header file. A 'class interface browser' is a tool that extracts class interface from a class header file. This dissertation is concerned with the development of a C++ class interface browser that extracts the class interface from a class header file and displays the extracted information as a HTML file. The HTML can then be viewed with a suitable viewing tool such as a web browser on many dfferent hardware platforms. An implementation of such a web browser is presented. The header file is parsed and the interface extracted. The user is invited to enter notes and examples on the components making up the interface such as constructors and member functions. A HTML file displaying interface along with the notes and examples is output.
A C++ Class Interface Browser Based on Header File Examination
Building scalable networked virtual environments, which users are able to interact with in real-time, presents a number of challenges. This project implements a simple networked virtual environment in the form of a multi-user networked game, using the techniques of zoning and dead- reckoning to enhance scalability. This project also investigates how changes to the way that information is disseminated within the environment, can affect its real-time and scalability characteristics.
Scalability of Real-time Networked Gaming Environments
CISV International is an education/youth exchange charity with its global headquarters in Newcastle. Over the past 10 years "bespoke" software has been developed on a "as needed" basis to support the 45,000 volunteers in 62 countries. Before embarking upon a global electronic communication project, CISV required an upgrade/re-write of its management software and a complete systems review to establish a database framework to ensure solid IT support. The "Interchange program" is one of the parts of this review. The databse system holding the information for interchanges between participants of member countries was reviewed and an application was developed in Microsoft Access 2.0. The development followed several stages: Development of software requirements, development of software specification, design implementation and finally testing.
CSIV International Systems/Database Analysis
The projct was suggested by The Sage Group plc. In this report we describe a design of a prototype software protection mechanism, that would allow a software company to release a single CD containing several products and be in control over which of the products can be used by a given user. The prototype makes extensive use of DES encryption algorithm. the algorithm is used to generate an Activation Key, encrypted string of characters, that carries information about which products should be available for the user. The prototype mechanism decrypts the Activation Key, and passes the information to the underlying software products, making sure that there is no easy way of tampering the files and overriding the protection mechanism. Detailed description of the prototype is provided together with some examples of usage. The report also deals with possible ways of altering the module files and how the prototype reacts to such attempts.
Prototype of a Software Protection Module
The emergence of e-commerce over the past ten years has brought with it an influx of Internet auctions. These Internet auctions, modelled on their traditional counterparts, have performed quite well, capturing a great deal of the e-commerce market. However, they do face significant problems. It is the aim of this dissertation to outline and improve upon these problems. A new Internet auction application, AuctionSoft, is developed using Java and CORBA, which is hoped, will address the discovered problems. The AuctionSoft application is successful in combating some of these problems. It is also designed in a manner to be improved upon to create a solution to the problem of scalability in Internet auctions.
This project examines tool support for an approach to traceability in the context of a case study based on a system of the BAe Experimental Aircraft Programme. The dissertation discusses the design and implementation of a dtatbase schema to support requirements tracebility for dependable avionic systems. Requirements traceability is introduced as a concept in system development along with information structures to record development artifacts and their relationships. A standard database development methodology is used to produce a conceptual schema for the information structures which is then mapped onto an appropriate database design. A prototype schema is implemented using the Ingres Relational Database Management Systemand its effectiveness demonstrated by extracting views (external schema) of the traveability structures featured throughout. finally, approaches for developing the prototype into an operational system are outlined.
Development of a Database Tool to Support Traceability for Dependable Avionic Systems
A safety critical system, is a system for which a failure can lead to an accident. Traditionally such systems need to be subjected to safety assessment before they can be deployed. In this project, an approach to fault tree analysis during the phase of requirements analysis is examined. This project will build on an M.Sc. project from last year, this original project utilised a state transition model of a rail-road crossing in CoRSA and basis analysis procedures for the safety properties. This model will be extended to include failure behaviours, and the analysis enhanced to mimic Fault Tree Analysis only this time based on the Gas Burner Problem
A Constraint Based Approach to Fault Tree Analysis
Write a program, running on a UNIX platform which will emulate a Motorola MC68000 based computer. This program should also help with the debugging of programs written in MC68000 assembly language.
An approach is described for the design and the verification of an asynchronous RISC implementation of the DLX microprocessor architecture, the ADLX. The foundation for that microprocessor design is based upon the employment of event driven logic within the conceptual framework of micro pipelines. The initial microprocessor design is then tested and verified using a number of Petri Net evaluation tools, PNS and PUNT, with the resultant analysis being used to refine that initially presented design. The refined asynchronous ADLX is expected to show an increase in concurrent activity of processing actions as compared to the equivalent synchronous design of the original DLX microprocessor. The asynchronous ADLX described in this report is intended to provide a base for the actual implementation of that design at a later date.
The ADLX: An Asynchronous RISC Implementation of the DLX Microprocessor Architecture
If object-based systems are to prove successful in the large scale then performance is a critical issue. Traditional distributed systems have frequently relied upon caching mechanisms in order to decrease communication latency within the system. These mechanisms operate at the level of memory pages in distributed Shared Memory systems or files in loosely coupled systems. Object-based systems will also require caching if they are to perform adequately in the large scale. An object-based caching mechanism should be able to take advantage of object semantics to allow application programmers much greater control over the choice of caching policy. Knowledge of an object type or individual object might allow a programmer to indicate that policies providing weak consistency and coherence are acceptable e.g. in the case of a primarily read-only document or, on the other hand, to specify that the object need only strictly coherent on certain occasions e.g. on the first read of the day. This dissertation develops techniques for creating multi-level object based caching and flexible, user definable caching on a per object basis. This will allow groups of users to dynamically create and share cache servers and for a number of such caches, each representing increasingly large geographic areas, to be constructed. Our flexible caching protocols utilise time-based coherency. This policy will alow users to indicate their requirements for cache coherency in terms of an acceptable age of the cache, with values from 'zero' (indicating the cache must be explicitly coherent), through specific ages in terms of seconds, hours, days etc., to infinite (indicating that any version of the object will do). Access requests on an object will proceed through each level of the cache hierarchy until a cache is found which matches the coherency requirements. All traversed caches will then in turn be updated with the value that perculates back to the originator of the request here the original operation will finally be executed on the local refreshed cache. Cache servers will monitor cache misses and update individual caches when they believe it to be of benefit.
Write software that, given a file containing DNA sequence records where each record is identified by a code as an input file (file1) and given a file containing a list of codes as an input file (file2), produces an output file (file3) containing DNA sequence records from file1 whose codes are identical to those in file 2. Write software, using part one to produce either one or both of the required two input files for part two, that compares each DNA sequence from the first input file against each DNA sequence from the second input file and that produces a result for each comparison based upon the closeness of the correlation between each pair of sequences. The software must write the results of the comparisons to a results file.
Software for Fast DNA Sequence Comparison
This project aimed to investigate the Qt toolkit, in order to allow the development of a graphical package based on the National Lottery. The package would have all of the facilities to allow a network of computers to host a simulation of the lottery, as well as providig an additional game which could be played by a smaller group of people on a single machine. Both versions of the game were to run in the X Window System, using a clear and attractive graphical interface.
A Lottery Package for the X Window System, Implemented Using the Qt Toolkit
A variant of the standard Gaussian elimination with row interchanges should first be implemented as a sequential program and compared with the standard version. The intended variant using column updates is designed to extend to an efficient parallel implementation. This should also be implemented. The parallel version will be tested with a different number of processors. The system to be used will be the ÂDaysh 814Â cluster of PCÂs and the implementation shall make use of the PVM (Parallel Virtual Machine) system.
Gaussian Elimination with Row Interchanges And Its Parallel Implementation using PVM
The dissertation will be an investigation into how a PC MIDI synthesiser soundcard may be produced using one or more SID 6581 digitally-controlled 'analogue' synthesiser chips, together with the necessary software to drive the chips and to produce from the a working synthesiser with many distinctive features. The specification for the software shall be that it is capable of driving at least 16 sids, yielding a synthesiser with 48-note polyphony. Furthermore, the software shall enhance the sonic possibilities provided by the SID, specifically by the inclusion of methods of 'modulating' the data fed to SID in real time. Essentially, the focus will be on software which is capable of translating a flow of MIDI data into data that will produce music when it is written into the correct SID registers.
This report describes an investigation of Gaussian elimination, implemented both sequentially and in parallel. A variant of the standard Gaussian Elimination with row interchanges is first implemented as a sequential program and compared with the standard version. The intended variant using column updates is designed to extend to an efficient parallel implementation. This is also implemented and compared with a simple standard parallel version, in both cases with distributed memory using PVM on the Linux system. Both sequential versions and both parallel versions are lastly compared when implemented with column-major and row-major storage. Tests comparing the sequential implementations and also the efficiency of the parallel implementations are conducted, and the results presented using speed-up and efficiency graphs.
The aim of this project is to explore the security features of Microsoft's Windows NT4 and of UNIX with particular emphasis on the use of these operating systems within a distributed environment.
Windows NT4 and UNIX Security in a Distributed Environment
The aim of this dissertation was to produce an automated means of converting ASCII text into good HTML. This meant that the software would have to be able to identify common forms of ASCII formatting, and convert these formats into the HTML equivalent. The filter must also be able to recognise URLs and convert them into hypertext links. The filter was fully implemented and provided the required functionality.
In recent years the increasing complexity of computer software has placed added pressure on the computer software designer. As software design become more complex, design methods have to accommodate this increase in complexity and remain easy to use. Hierarchical Petri net theory provides a powerful way in which complex systems may be designed and analysed. This dissertation concerns an application, which supports the hierarchical Petri net theory, that aids the design and testing of complex systems. Hierarchical Petri net theory and its possible applications are explained with the aid of examples taken from the application.
An Application to Aid in the Building and Analysis of Hierachical Petri Nets
The following project documents the development of a CASE tool designed to assist the process of performing a noun-verb parse on a natural language requirements specification. The program performs the following tasks: * Takes a natural language text as input. * Interacts with the user to ensure that the text is suitably formatted. * Automatically queries every word in the text against a lexical database in order to determine its possible syntactic classifications. * Applies natural language processing techniques in order to resolve ambiguity surrounding the syntactic classification of those words that fall into more than one syntactic category. * Interacts with the user to resolve any ambiguities it has failed to resolve. Produces a list of the nouns and a list of the verbs used in the original document and a reproduction of the original document with the nouns and the verbs highlighted. The program's output is intended to be of use to the system's analyst in his/her task of deriving systems model such as an OMNIS model from the natural language text.
Development of A CASE Tool To Perform A Noun-Verb Parse on A Natural Language Text
"This dissertation addresses the design of an automatic conversion tool, which takes a logic-level description (BLIF) of an asynchronous logic circuit and produces an equivalent in terms of textual Signal Transition Graphs (ASTG) derived from circuit Petri net. Such a conversion is crucial for solving the problem of Automation Verification of Asynchronous Circuits. The conversion tool is realised in terms of C++ programming language, it can be run under both Unix (g++) and PC (visual C++ console) environment."
Construction of Petri Net Models for Asynchronous Logic Circuit
NIP is a programming/runtime environment for general purpose high-performance parallel computing on clusters of workstations. NIP employs an elementary round-robin algorithm to dynamically balance the load of the cluster of workstations it utilises. The intention is to design and implement a more sophisticated algorithm using the runtime information provided by NIP and the operating systems. Many algorithms have been proposed and tested; the one chosen for NIP, after a review of the literature on load balancing algorithms, is an extension, proposed by L\"uling, Monien and Ramme in 1992, to the gradient model described by Lin and Keller in 1987. Each workstation in the cluster has a NIP node and the gradient model requires underloaded nodes to dynamically initiate load balancing requests, that is, the model is based on a demand-driven principle. The requests directed out from underloaded nodes results in the formation of a system wide gradient surface with load units migrating down the gradient surface as a result of overloaded nodes responding to underloaded nodes. The object is to initially implement the gradient model algorithm and then extend it to meet the algorithm as proposed by L\"uling, Monien and Ramme. The implementation of the models are tested to ensure that they conform with their respective algorithms. Improvements in performance, if any, of the system are observed by running performance tests
A Dynamic Load Balancing Subsystem For NIP.
Implicit parallel programming is a desirable alternative to explicit parallelism, where the user must specify all aspects of the parallel computation. However, for it to gain wide acceptance, implicit parallelism must be able to show explicit or near-explicit performance. This dissertation is an investigation into the relative performance of the explicit message passing language MPI and the implicit distributed shared memory language NIPDSM, and a comparison of the coding effort required for each. This was achieved by designing and implementing a series of NIPDSM and MPI programs to solve a set of numerical algorithms. The performance investigation has shown that MPI consistently outperforms NIPDSM, except when NIPDSM can take advantage of communication. It was found to be easier to design and implement the NIPDSM programs than it was corresponding the MPI programs. In general the performance of NIPDSM is of the order of that exhibited by MPI, this, couples with the relative ease of use to the programmer has lead to the conclusion that further development of NIPDSM will lead to a valid implicit parallel tool.
An Investigation of some Explicit and Implicit Parallel Programming Techniques
This dissertaion is to produce a software system that will examine object-orientated computer programmes written in C++ to detect plagiarism. Specifically, the system will detect plagiarism in first year student programmer defined types.
Software System to Detect Plagiarism in First Year Student Programmer Defined Types Written in C++
Lancaster Cycles is a cycle retail shop in Lancaster, owned and managed by Alan Dent. The shop sells cycles and accessories and also carries out repairs on cycles. The business is located on a single site and has a workforce of two. Administration for the business is carried out manually. The task is to develop a shop management system for Lancaster Cycles which will facilitate the running of the business. It will attempt to maintain accurate stock records of cycles. In addition, it should keep an account of all sales made, payments that have been made, when the sales were made and who they were made to. The system will also record all repairs that are to be carried out. Accurate customer records will, further, be required to facilitate the above records. The systems should also produce the necessary supporting documents. The development of the system will involve the following stages: a requirements analysis to ascertain exactly how the business operates and exactly what the problem is, a systems analysis to model the system to be developed; a design to specify how the system should work; implementation of the design, testing of the system to ensure it conforms to the design and specification, and delivery of the system to the client.
Shop Management System for a Cycle Business
The aim of this project is to investigate and examine the performances of block ciphers e.g. DES, Triple DES, Blowfish and IDEA against different length of key for encryption/decryption processes. The running time (CPU-Time) of encryption/decryption processes of these block ciphers are also tested for different message sizes. In addition, these block ciphers are compared with their suitability to encrypt and decrypt different message sizes with variable length key are also investigated.
An Investigation on The Performance of Selected Block Ciphers for Different Text Size with Variable Length Key
Box expressions can be used to model and analyse concurrent program design. The aim of this project is to design and implement an environment allowing the designer to simulate the dynamic behaviour of Box expressions.
An Environment for Executing Box Expressions
With current advances in genetics we are now in post-genomic age. Tools are needed to help analyse the wealth of data becoming available. This project developed a tool that enables researches to interactively view a possible genetic network representation of microarray data. The program uses the optimisation technique of simulated annealing to create a graph of the possible network. While it was difficult to assess the quality of the results, testing showed that the program functioned successfully. Many future improvements were also noted.
A post-genomic tool to analyse microarray data
From time to time, members of the Department (both staff and students), have the need to ask questions or report problems. Sometimes, knowing who to ask is the biggest problem, followed by trying to get the query to the individual concerned. The aim of the project is to build an application that can take a query asked y a member of the department from either a web page and/or email message, and can then direct the query to the appropriate person, or alert an administrator if no one suitable can be identified. The application should be able to "learn", so that if query is asked that cannot initially be assigned to a member of staff, then once an appropriate person is identified by the applications administrator, the next time a similar query is asked, it will be directed to the appropriate person immediately. Queries might cover technical issues (to be handled by appropriate Computing Officer/Technician), academic (to be handled by module leader, DPD, Head of Department, etc.) or clerical (to be handled by office staff). The application will need to track the progress of a query (providing reminders if necessary), and keep the questioner updated as to who is dealing with the query and their response.
This ontology contains information detailing dissertation from Newcastle University
Newcastle University : newcastle-dissertation.rdf
In this M.Sc. project, an emulator 'EMU68' that emulates a MVME101 single board computer that contains a M68000 microprocessor was produced. EMU68 supports almost all of the instructions of M68000 and most of the I/0 trap calls of operation system of MVME101 single board computers. This emulator fulfils the need that computing science students can test and debug M68000 programs without using real hardware. A series of documents on software engineering were produced during the development of the emulator program 'EMU68'. Part of these documents have formed the basis of this dissertation. In this dissertation, no attempt has been made to describe all details concerning the software engineering of this emulator. More effort was given to describing the general structural design and implementation of this emulator. Further, how object-oriented approach in design and implementation benefited the development of an emulator was also discussed
The report describes the development of a computer system for The Expanded Metal Company. The software developed is intended to improve upon the current system by achieving a reduction in wastage of the materials produced in their stock-cutting operation. The underlying problem is a variation on a classical bin packing problem widely studied in the theoretical literature because of its complexity characteristics. In this practical application it is also necessary to maintain satisfactory throughput, so the problem studied also has makespan considerations. The approach taken in the design, development and evaluation of the new system was to implement several well-known bin packing algorithms and evaluate the results produced by these heuristics against typical samples of data. The results are then analysed, and the software produced. The software implemented is based on the classical off-line bin packing algorithm First Fit Decreasing. Although, the algorithm produced may not give an optimal solution it will give a reasonable set of results. The software produced is also required to have a user interface. This will be in the same style as the original software, and should be available to execute on windows 95 software. Facilities are provided to allow the data to be input and results of the assignment routine to be printed The software itself is implemented using Borland C++.
Optimized Stock Cutting Algorithm in C++
The CodePad Â Simple Text Editor for Microsoft Windows is a project which aims to implement a package of software as the replacement for the Notepad that shipped with Microsoft Windows. The core techniques included in the implementation of the CodePad is base on the Microsoft Foundation Classes (MFC) library. The specification of the CodePad is sampled from some resources of UNIX Text editors, such as, NEdit, aXe. Considering the real word situation, the Macintosh BBEdit Text editor is used as a reference to provide some idea of GUI editing as well. Of course the Microsoft Windows base Text Editors are also included as the template of the graphic interface. The CodePad is featured with all the functionalities that the Notepad has. It also has its own features of colourful syntax highlighting, Dos/UNIX/Macintosh end of lines conversion support, Regular expressions for searching, replacing and some common functionality that the code editing tools should have.
The intention of this project is to design and develop an Expert System that is able to aid the analysis and interpretation of the ECG's of patients with cardiac arrhythmia's. The proposed system is intended to aid medical personnel in the fast and effective treatment of the problem, by simulating the diagnostic process itself, in order to obtain accurate results. This will be achieved by encoding expert knowledge into a artificial intelligence language, that will be used as the diagnostic platform with which the user will interact.
An Expert System to Aid the Analysis and Interpretation of the ECG's of Patients with Cardiac Arrhythmia's
Requirements gathering and capture concludes with a complete specification of the desired external behaviour of the software system to be built. This complete specification is contained within a document called the Software Requirements Specification (SRS). The dissertation attempts to find ways of improving the clarity and structure of the SRS. Two industrial SRS documents are analysed-an SRS for an aircraft Slat/Flat Control Computer (supplied by the Centre for Software Reliability), and an SRS for A-7E Military Aircraft (available from the Naval Research Laboratory, Washington D.C.). The SRS supplied by the Centre for Software Reliability is analysed, problems identified, and guidelines suggested to improve it. Structured methods which have been used for requirements specification (Finite State Machines, Statecharts and Decision Tables) are explored, and their advantages and disadvantages discussed. The Techniques used to write the A-7E SRS are then outlined, and assessed by scrutiny of several sections of the A-7E document. The SRS from the Centre for Software Reliability is then modelled using the A-7E techniques in order to find out how portable the techniques are. Guidelines are suggested for improving the clarity and structure of SRS documents in general.
Comparing English and Formal Descriptions: Case Studies in Industrial Application
VRML 2.0 is a language for defining virtual worlds. Users can navigate around a given world using a VRML 2.0 compliant browser. This project aims to design and implement an application that is capable of autonomously generating VRML 2.0 source code that can be subsequently loaded into a given browser in order to view the scene-graph generated. The application must further ensure that the code generated provides unique, spontaneous scent definitions every time the application is invoked and a file produced.
Develop educational software to meet specific requirements for a local Primary School (4 -9 years). The program will be run on Apple Macintosh systems.
Development of an Educational Program on the Topic of Weather. A Desktop Application for the Apple Macintosh
The VTCL project covers the design and development of a Visual Programming Language (VPL) based on the TCL language along with an associated programming environment. The design of the system follows the lines and boxes approach common to dataflow diagrams. That is, boxes are used to represent TCL constructs and operations or to contain TCL code, whilst lines represent communication links (i.e.: the flow of data) between these boxes. The graphical programming environment uses Tk for its implementation. Incorporated with this environment are basic editing and file management capabilities. Communication between processes (boxes) is provided via TCL sockets and these have been implemented to run 'in background' in order to simulate concurrency between the processes (boxes). An introduction to the concepts of visual programming and its applicability in today's technology is presented. This is followed by a detailed discussion of the design of the VTCL system and its implementation. The report concludes with some ideas for the future development of the VTCL system.
This project explores ideas and technology for the implementation of an intranet or internet enabled departmental coursework submission and student monitoring system (CSM). Chapter 1 explores the rational for such systems in British universities, including contextual data on the present economic climate and the aims of Newcastle UniversityÂs Institutional plan to increase the use of IT facilities across the campus to enhance quality management. Particular attention is paid to the situation in Computing Science departments in this and other universities in the UK. A survey of existing coursework submission systems within the department and in other universities is included. Chapter 2 explores suitable software development models and outlines the software requirements specification provided by the project supervisor, who was acting as client. Chapter 3 examines the technologies chosen for the implementation, namely Active Server Pages, VBScript and ActiveX Dynamic Link libraries. Chapter 4 describes how the system was built and tested. Chapter 5 looks at security problems faced by internet developers and the ways in which security should be implemented in subsequent versions of the CSM. Chapter 6 discusses the rationale behind interface design and the ways in which existing features of human computer interaction can be improved upon. Various screen shots and code listings are included in the project, as is a CD-ROM containing all the source and compiled files from the project.
This dissertation describes a timing analysis tool for the workflow task model of the OPEN flow workflow system. This analysis tool can be made as part of the workflow management system. The analysis is focused on temporal properties of task model. The temporal calculations to be carried out are implemented using a recursive algorithm. The dissertation develops this algorithm and the implementation of the analysis tool. Java is selected to be the programming language and the program is developed under JDK1.2.2.
The dissertation outlines a tool for helping English as a Foreign Language (EFL) teachers prepare lessons and keep academic records on students they are teaching, with an emphasis on the fact that the user will have little or no experience of computing. The program outlines an application that uses the industry standard database language SQL. The design has been implemented in Microsoft Access 7.
An Educational Resources Database for Teachers of English as a Foreign Language
In this document we introduce a model for addressing queries in multiple distributed objects. As such objects we mainly consider object databases, compliant to the ODMG 2.0 standard. A given query may involve objects from different autonomous databases. A simple algorithm for partitioning this query is introduced, which produces multiple sub-queries. We explore ways of addressing each of these sub-queries to the appropriate object. The results from each sub-query are stored in a local object database and later combined in order to have the result of the original query. Two algorithms are introduced, one that addresses all sub-queries in parallel and another that imposes an execution order such that communication delays are minimized. We also introduce some simple means of minimizing the amount of data each sub-query produces. Other factors, such as the actual cost of accessing a commercially available object, are also discussed. As part of this project, a prototype system based on the introduced model has also been developed. We accommodate in this document a detailed discussion on various implementation issues as well.
The volume of data at the Children's International summer Villages (CISV) chartiy has increased significantly in recent years. This has led to increased difficulties in data handling and storage and subsequent ineficiency in chartiy event organisation and document production. This project comprises the analysis of the present automated and manual systems in operation at CISV's International Office in Newcastle and an analysis of a proposed Database Management System for future use at the office to aid in better data handling. The project assumes the rationale of the classical software life cycle analysis stage, and is reflected in the structure of the project. The project's conclusion not only assesses the effectiveness of the analysis, but speculates on future development of the Database Management System and the legal requirements of the data held in a automated system.
A Systems Analysis of the Present System and a Proposed Database Management System for an International Charity
PGP (Pretty Good Privacy) is a suite of software that is used to provide privacy over the Internet. In order to use PGP participants must possess a public and private key. The private key is used for decrypting messages and should not be divulged to anyone other than the owner. The public key is used for encrypting messages and can be made widely available to people wishing to use PGP. This project has addressed the problem of public key distribution by producing software that implements the Internet Domain Name System (DNS) to access public key servers. The DNS allows a distributed system, where the databases of keys and the server software can be kept on different hosts around the world, removing the need to keep large databases of public keys.
Implementing the DNS as a Solution to The Public Key Storage Problem
The aim of this project is to develop a number of serial and parallel programs, which use iterative methods to solve partial differential equations numerically, and to compare their performance. In particular, we will look at Poisson's Equation, which has a wide number of applications in applied mathematics. The programs will be implemented in C on the KSR-1, a distributed shared-memory multi-processor, developed by the Kendall Square Research Corporation and housed at the Manchester Computing Centre.
Parallel Algorithm Development on the KSR-1
A referral system is a framework for assisting person-to-person communication, in this case for finding individuals with knowledge on a specific topic. This project investigates how a multi-agent referral system could be integrated with an instant messaging client to connect members of an organisation more effectively with the aim to increase the connectivity of that organisation.
Multi User Referral System for Expertise Retrieval Via Instant Messaging
The Interface Project is based in the Department of Plastic Surgery at the Royal Victoria Infirmary in Newcastle upon Tyne. The project carries out research into analytical imaging of the human head and face. Much of the research makes use of laser-video depth scans. The scans can suffer from occlusion where one part of a surface obscures another. Combining multiple scans from different orientations overcomes this problem. The aim of this work is to produce software that will combine multiple laser-video depth scans. The implementation is based on `Implicit Surface Based Geometric Fusion' presented by A. Hilton et al. A signed distance function is calculated for each depth scan. The zero-set of a signed distance function defines the original surface. A set of rules is then used to calculate a weighted average of the functions. The result can be rendered directly or used to construct a polygon mesh.
Combining Multiple Laser-Video Depth Scans of the Human Face
In June 1994. Pipeline Integrity International (PII) was launched as a business unit with British Gas to exploit 30 years of experience gained as the owner and operator of over 17,000 km of onshore and offshore high pressure pipelines. As pipelines age, the probability of defect initiation and growth increases. As a consequence, integrity monitoring and corrective actions must be routinely applied throughout a pipeline's life. By unifying the entire process, British Gas has made available, for the first time ever, comprehensive services for integrity assurance.
Vendor Quotation and Performance Analysis
Queueing Theory - the theory on which this project is based - is currently an active field of research and has great use when applied to networks. A queueing system can be defined as "any system in which arrivals place demands upon a resource" [KLEI 75], and queueing theory can be described as the study of these systems. A queue can be defined as a group of these demands, and a request as one demand. Of particular interest in the study of queueing theory, is the length of time a request must wait in a queue before being dealt with, or served, by the resouce. Mathematical formulas have been derived which make it possible to predict this quantity with reasonable accuracy. This project is set in the context of computer networks. A node in a computer network, for example a personal computer, can receive and send data packets. When it receives a packet it may be able to deal with it immediately. If this is not the case it must be stored in a queue, which in this case will be a memory storage unit called a buffer, until the node is ready to deal with it. This project is concerned with implementing a function, in Mathematica, which calculates the waiting time of one of these packets at a particular node, given certain probabilistic information relating to the arrival rate of packets, and the service time of each of those packets.
There are a number of fundamental concepts in parallel programming that can be explained by example. The aim is to provide animations of these examples, which can be used in the teaching of CSC305: Parallel Computation. These examples include the Dining PhilosophersÂ Problem, the Sieve of Eratosthenes and the Producer-Consumer problem.
Animation of Concepts in Parallel Programming
AnthonyÂs is a small tropical plant firm. The core business activity is renting and/or maintaining tropical plant displays in offices in London and the Home counties area. Tropical plants in this domain relate to interior non-flowering plants. A display comprises of a container, compost and one or more tropical plants. Contracts placed with AnthonyÂs are for either rental or maintenance of new or existing displays. Rental contracts involve the company renting out plants, containers and compost to the client and then maintaining the plants. Maintenance only contracts involve either the client already owning the plants, or buying the plants outright at the beginning of the contract. AnthonyÂs then only maintains the displays. Obviously maintenance only contracts are charged at a lower rate than rental contracts, and the rental contracts will be more lucrative in the long term once the initial set up and maintenance costs have been recouped.
Database Construction for Anthony's Tropical Plants
Data that are sourced externally to the "office environment" represent a mission-critical resource for many industries and academic disciplines. The capture of these data in digital form, and the immediate visualisation of these data offer significant benefits in terms of ensuring integrity, increasing efficiency and encouraging a proactive attitude to the data acquisition process. This report documents the research, design, development and testing of a computer-system that aims to facilitate these points by providing a mobile "extension" to a range of common desktop applications. The "Field Support System" (FSS) represents a software application that provides the user with a customisable, intuitive, and robust system for the capture, analysis and visualisation of "field-data". The current implementation is written in Microsoft's Visual Basic with the aim of subsequent migration to Embedded Visual Basic, and eventual deployment to a handheld-PC platform. Following a review of existing work, hardware and software requirements, the design and implementation of the system are described. A high-level approach is taken, supported by the corresponding appendices. The final chapters offer an appraisal of the project's success.
The project addresses the effectiveness of the Statecharts language as a means of specifying a system which can then be subject to rigorous, mathematical formal reasoning. In particular, the project takes a simple statechart specification of a Railroad Crossing and assesses the correctness of existing work, as well as making significant enhancements to this highly simplified example. Taking a graphical specification as the starting point for the application of formal methods is a relatively new approach. Once the system is transformed into a formal representation, the ultimate objective is to submit this representation to a proof tool for type-checking.
The Application of Formal Methods to a Statechart of a Railroad Crossing.
The purpose of this project is to produce a web-based reading list application for Aboyne Library, and its attached secondary school, Aboyne Academy. The application would allow pupils themselves to make a more informed choice of reading material recommended by the librarian. The school uses Microsoft technologies, therefore a Microsoft solution was developed, comprising Active Server Pages written in VB Script and ActiveX dynamic link libraries written in Visual Basic, to run on Internet Information Server 4.0. Taking into account the management and IT infrastructures of the library, a requirements analysis phase was undertaken using a prototype, which the customer used and commented upon. Two dynamic link libraries were produced. The first is responsible for providing reading list searching functions and allowing the addition, editing and removal of reading list items by members of staff. The second is used to search the Aberdeenshire Library and Information Service catalogue to determine the immediate availability of reading list items. The components were tested using specially written Visual Basic drivers before integration with the Active Server Pages. Complete system testing involved analysis of all possible paths through the application and invocation of all required behaviour. A user manual has been provided
Development of Web-based Reading lists for Aboyne Library
In the present work a theorem from the field of linear algebra is implemented in two different programming environments. The theorem is known as Gauss elimination and it is applied to a set of linear equations producing a reduced system from which one can infer the possible solution. In algebra, Gauss elimination is used to decompose a square matrix of n rows and n columns to a simpler form that consists of two matrices such that their product is equivalent to the initial matrix. Decomposition involves a number of arithmetic operations that it is proportional to the cube of the matrix's size. For this reason, elimination is approporiate for computer implementation. Two different sequential algorithms are used and the elapsed execution times are collected from a set of defferent matrixes with their dimensions increased from 20x20 to 500x500. Performance issues arise from the way elimination is organised and menory storage is exploited. The whole process is suitable for parallelism because of the huge number of arithmetic operations that should be carried out when the size of the matrix increases. The Parallel Virtual Machine can run operations in parallel using a network of UNIX machines as one distributed memory parallel machine. One master-slave algorithm is used to eliminate a number of different matrixes like those used in the sequential version. The performance issues raised in a parallel environment are more complicated than those of a single processor. The set of collected timings is compared against the variation of different parameters that control the efficiency problem. These parameters in a distributed memory environment are the network traffic, the processor load, the number of processors that run in parallel, the algorithmic structure and of course the size of the problem. The collected measurements are compared against these parameters and related laws from the field of parallel computing.
Gauss Elimination with Row Interchanges and its Parallel Implementation using PVM
The project is based on the problems encountered by mechanics in the parts department of a local Renault dealer. The problem observed was that although their stock records are held on computer, details of parts have to be located using a microfiche in order to determine the stock number before retrieving the stock details. The aim of the project is to produce a piece of application, by designing and implementing such a system to integrate these two stages together.
A Computerised Integrated System For A Garage Parts Department
The project aim was to design and implement a small-scale model of the accommodation service database at the University of Newcastle upon Tyne. It was intended that the system model would only display some of the functionality of the actual university system due to time constraints. After formulating an extensive Requirements Specification and deciding upon a choice of development method, database design was carried out by following recognised Software Engineering principles. The project used two forms of modelling which were Data Flow Diagrams (DFDs) and Extended Entity relationship models (EERs). This was followed by a Data Dictionary and an extensive normalisation of the potential tables. Implementation was carried out in Microsoft Access 97 and the finished system has been designed to run on workstations Microsoft Windows or NT 4.0 operating systems. The entire process has been detailed in the written report accompanying the system.
A Small Scale Model of The Accommodation Service Database At The University of Newcastle upon Tyne
The proposal submitted for this dissertaion specified the production of utility to convert documents written in Hypertext Mark-up Language ot Rich Text Format, from here on referred to as HTML and RTF respectively. Although only a simple converter was required, the utility was to contain sufficient error handling to deal with incorrect input.
Compact Data Management Ltd (CDM) specialises in the conversion of paper documents to microfilm and CD-ROM formats. The cervices CDM offers to its clients include a complete bureau service which comprises document collection capture, indexing, retrieval software and delivery. At present CDM employs a manual system for documentation and management of its job records. It is the aim of this project to provide a high level of automated support for the administration of these job records by developing a database management system that fulfils the medium to long term requirements of CDM. This project will entail analysing the current manual job recording system and developing an automated replacement. This project will follow a RAD methodology during the requirements capture, design specification, system implementation, and verification and validation phases of the project lifecycle.
The Compact Data Management Job Recording System
Simple permaculture is the design of sustainable energy efficient natural systems. The purpose of permaculture is to save energy and resources by careful design before a system is implemented. Avoiding a problem is far more effective a solution than dealing with the unpleasant side effets of a poorly structured system. Permaculture design methodology is known by a few expert permaculture designers. Permaculture design is mainly applied to the home and garden in providing energy efficient living areas and food production. This tends to attract people of a more 'nature' oriented lifestyle, who have little knowledge of technology as a possible aid (as they see technology as a cause of the energy wasteful society around them). Permaculture design includes many aspects of gardening, the physical and biological sciences, and human resource management. Any single permaculture designer at best will be an expert in one or two fields but not all. Currently there are many sources of permaculture design knowledge (courses, centres, books) all which concentrate on the author's or director's knowledge and pet subjects. New knowledge and ideas are passed around via magazines and the Internet but there has not been any attempt at computerisation in a useful package. If the knowledge and skill could be captured within an expert system that can be accessed in a useful and meaningful way, many people could make use of it to develop their own permaculture systems, without the delay of waiting for a permaculture designer to be available or needing to learn and practice permaculture themselves for a number of years. The sluggish move to permaculture is due to a public lack of awareness and the absence of controlled knowledge management. As permaculture systems are successfully implemented, more permaculture knowledge is discovered, learnt and shared. This 'new' knowledge takes time for permaculturists to generally implement and at present although new ideas are passed around, the tendency for them to be used depends on what is 'fashionable' in design at the time. The new knowledge can all too easily be forgotten if not used generally straight away by permaculture groups. If such knowledge is recorded or stored immediately by an expert system, it would be used by such a system without bias provided the conditions for the idea are met. Hence the new knowledge is not lost or forgotten. It is entirely feasible to apply permaculture design to the whole planet. Nature is itself permaculture and was quite happily succeeeding before man stuck its head out of the water. The following discusses the feasibility of such a project and the results of trying to implement a minimal system.
System Analysis, Design and Implementation of a Computerised Permaculture Design Aid
Part of the coursework for CSC 226/807 involves students signing up for a 'mock' job interview with a real company, chosen from a short-list of companies. Having signed up for the interview, the student then produces a CV and covering letter for submission and then attends for an interview with their chosen employer. Administration of the whole process has previously been the responsibility of the Careers Service, but this is to be undertaken by the department of Computing Science in the future. The aim of the project is to implement a Web based automated booking system that can replace the existing manual booking process that was used this year and the previous year. The development of the web-based appointments system is described in this project. The requirements analysis, design, implementation and testing stages are all discussed. Code listings and a user manual are provided to assist in the maintenance of the final system. The final web-based appointments system was implemented using CGI-Perl scripts, for use on the Department of Computing Science's web server.
The Development of a Web Based Appointments System for the Professional Issues Course
Database systems are designed to store and aid in the fast retrieval of information. The increased efficiency that this brings can benefit organisations handling large amounts of data. One such organisation, The Children's International summer Villages organisation required a database system to manage their Summer Camp Programme. A relational database system using Microsoft Access was implemented, following a full system analysis of the organisation and the manual system in operation. One of the databases features was the creation of summary data which was exported to a Microsoft Excel spreadsheet.
This project involved designing and implementing a program to compile a crossword from a set of entries specified by the user. The project differs from most crossword compiling programs currently available in that the user is not expected to play any part whatsoever in designing the crossword grid, and has total control over the words to be included in the puzzle. In contrast, most other programs adopt the approach used by conventional, 'real-world' crossword builders, namely the following: 1. Choose (or create) a grid, typically with a symmetrical pattern. 2. Pick words from a dictionary or similarly large collection to fit into the spaces in the grid. Whilst this approach certainly has its uses, I wished to tackle the problem from the opposite direction, allowing the user to specify a group of words and phrases and then let the computer do the work of fitting them into some sort of intersecting pattern. The resulting pattern would almost certainly not be symmetrical or even regular (provided that the user was given true flexibility over the choice of entries). However, the aim of the project was not to produce crosswords for use in magazines and newspapers. Instead, I envisaged that this approach would be of particular use to language teachers who might want to test a recently learnt, cohesive set of vocabulary in a more accessible way than by using traditional, formal, word-for-word tests. Primary teachers might also find crosswords to be a more fun method of testing pupils' spelling. These users would be more concerned with the contents of the crossword than its aesthetics. With such users in mind, the project was intended to result in a user-friendly piece of software with an emphasis on usability. The project therefore took place in two distinct stages: the development of a platform-neutral crossword-building algorithm and the addition of a Windows graphical user interface.
Crossword Wizard: Design and Implementation of a Crossword Compiler
The Method of Collocation is a numerical technique for solving boundary value differential equations. It is based on the principle of obtaining a function which reprsents the solution of the differential equation, as opposed to other methods which simply evaluate a solution at given points. The solution is obtained by approximating the differential equation by using a polynomial. In this way, the approximation can be manipulated as required, to yield a solution to very complex equations. The choice of representation of the polynomial used (eg power series) to approximate the differential equation, may have either advantges or disadvantages in terms of the efficiency of the algorithms used to implement it, the effects of round-off error, or possibly the accuracy of the result. The purpose of this dissertation is to compare different polynomial representations with respect to the work done in achieving a solution, and its sensitivity to round-off erros when using the method of collocation to solve ordinary differential boundary value problems.
A Comparison of Different Formulations of Collocation in Solving Ordinary Differential Boundary Value Problems
This dissertation stems from work done for Kalamazoo Computer Training Prior to my undertaking the M.Sc. Computer Science conversion course. Whilst studying with the company I noticed that the advice given to trainees regarding career search was minimal due to lack of resources. I therefore suggested that a document with guidelines on career searching would be a good idea nd volunteered to write it as I had some experience of recruitment in previous jobs. This was agreed and I produced the CareerSearch manual and a tracking system which I eventually licensed to the company for a nominal sum. At that time I could see there was a further need to automate the process in some form but lacked the time and knowledge to implement the CareerSearch manual and tracking system as a computer based system of some description. This dissertation has given me the chance to do so whilst at the same time allowing me to build upon a lot of the skills learned as part of my M.Sc. course so far.
CareerBase: A Career Search Relational Database
There have been many different systems designed and implemented to distribute computing power, for example TCP libraries, Arjuna and Network-Linda. For the Tcl programming environment, there is the Dp-Tcl extension, which provides a high level abstraction of the client-server model. This project provides a working prototype of a higher abstraction of distribution again, namely the distribution of [incr tcl] objects. Further to the distribution of objects, 'object persistence' is also provided in the project and included in the prototype. The prototype is of an extension to the Tcl environment which allows the environment itself to move objects to other hosts, rather then objects having to inherit from base classes to be moved.
The Design and Implementation of a Distributed and Persistent Object Environment
The US Government is currently spearheading a search for a new encryption standard, the Advanced Encryption Standard (AES). Commentators have noted how weak some of the specifications of the candidate algorithms are, with errors that have hindered their objective comparison. This project has been prompted by this concern, and involved the production of two formal specifications in the specification language VDM-SL. The first specification is a formal specification of the AES, and the second a formal specification of a candidate algorithm, Rijndael. These have been developed from their respective informal specifications. The formal specifications have been partially validated using syntax and type checking, proof obligations, and mathematical proof. In addition to the development and validation of the two formal specifications, the project involved using the validation process to check for errors in the informal specification of the Rijndael algorithm, and it was concluded that the informal specification contained areas of incompleteness and ambiguity.
Internet Commerce has allowed organizations to take advantage of a global market place, with reduced distribution and customer service costs. Commerce related web sites are the main vehicle for the expansion in Internet commerce. Originally, these sites contained static only content, but the use of client and server side technology has allowed the Internet to become a dynamic experience. The aim of this project is to implement an online student dating service using a server side web technology.
Server Side Implementation of an Online Student Dating Service
Structured Searching for the World Wide Web
The aim of this dissertation is to develop GroupWare which enable text file sharing and version management. This project inherits from the ideas and principles behind collaborative work. The software provides the ability for many users to work together on a specified file. A database of file versions is kept. This enables any member of a designated group, at any time, to access either their most recent version, their groupÂs most recent version, or any other specified version. Additional functionality if offered for a group manager to save a final document version. The software is implemented using Java and embedded SQL. The vision behind this software was to develop a fully Web based solution. The software is fully implanted in application format but not on the Web as the application demonstrates the aims effectively and reliably. However potential upgrade to a Web Based solution is perfectly feasible.
Text Editor for Collaborative File Sharing and Version Management
Conversion of Pixel Images to Postscript Files
In studying the behaviour of concurrent programs, it is easy to confuse the time taken by the inherent delays due to concurrency with the time taken by the concurrency primitives themselves. The purpose of this project was to attempt to measure the time taken for some of these concurrency primitives under a variety of circumstances using some, preferably portable, test programs.
When I was searching for the proposal of my project I thought that it would be a good idea to implement something which will combine my computing experience with my financial accounting knowledge. My first thought was the development of an accounting application which will be written in Linux C++ language. Unfortunately, this idea was not applicable because although it has the advantage of working in a familiar to me programming language, I could not create the user interface which I wanted. After requirements analysis phase which finished on the end of June, I should have decided what programming language I would use. Visual C++ for windows 95 programming language was a good choice but I found problems in the integration of control objects to source code. Windows environment of C++ was complex, before the appearance of Delphi software in the middle of the summer. Solution of this problem was found in Microsoft visual basic 5. Familiar to me from the past programming language. Although visual basic contains a lot of bugs especially during the creation of stand-alone executable files it is in my opinion the best tool for creating windows applications. This book is going to describe in detail how the summer project application was built and it is intended for Newcastle upon Tyne University. It provides information and ideas that enable the reader to have a complete idea about version1.1 of the summer project application. For the better understanding of this book it is suggested the careful study of its first chapter (problem analysis) especially from those who do not have any experience of accounting science. Application is a powerful accounting system which includes almost all the appropriate processes for the transaction handling of a Greek trade show organizing company called Rota Ltd. It is fully automated and it displays all the useful financial reports that are needed for the tax control of company transactions. Because accounts, VAT., depreciation and annuities are calculated and informed automatically at the end of every accounting period, user's work is limited to the insertion of year transactions to the system. Additionally some routines are responsible for the safety of data from viruses or power losses. Error handling and referential integrity of application corrects almost all the possible mistakes that my be made by a user and a history file which includes information about who did what and when it is available at any time. As application is completely windows-based, access to procedures is very simple for the user. Data of statements can be moved by using windows Ãcopy and pasteÃ activity to other applications like work processors or spreadsheets. Additionally, by using Crystal Reports a user can save basic financial reports to multiply file formats like Microsoft Work documents (*.doc) of Lotus 1-2-3 (*.wks). Additionally application allows user to build WWW pages with the financial reports of company, e-mail and fax statements. I would like especially to thank the manager of Rota Ltd., George Tsaousoglou for his essential help in the creation of all the system.
Implementation of Rota Ltd Accounting System
'Resource discovery', searching for existing literature and sources of relevant information, is essential to academic research and learning, and today must include the increasing amount of information published electronically. 'Automated resource discovery', making use of 'search engines', for example, has become an integral part of discovering relevant information on the Internet for many users. Despite progress in automated resource discovery it is faced with many problems in trying to electronically simulate human information searching. For example, a computer is heavily tied to the syntactic representation of information in the absence of a concept of its underlying semantic value. As syntactic representation often varies considerably in natural language when referring to something which has basically the same meaning, automated resource discovery compares very poorly with human intelligence in matching information consisting of several keywords or an expression- this is known as the 'vocabulary problem'. This paper proposes to investigate the theory of using explicit information about the syntactic form that data will take within a Web page in an effort to mimic the human ability to recognise equivalent information expressed in many different systactic forms. Such 'semi-intelligent' Web searching would still compare poorly with human intelligence, but promises to represnt a marked potential improvement upon current techniques.
An Investigation into the Feasibility of Semi-intelligent Web Searching as an Aid to Automated Resource Discovery
This project investigated the development of a Web service interface for a commercial Intranet package to utilize existing Web services on extranet sites. The system was divided into client side applications and server side applications, and was programmed in Java. Its development involved other technologies, SOAP, XML, JSP, JavaBeans, etc. Since the topic of Web Java Services is still quite new in computer industry, researches were greatly involved on discovering these technologies. This dissertation started to address the background to the Web service in the context of Intranet system and the existing technologies, and then presented the design and implementation stages of the project. Testing results are shown in the later chapters. A basic example of ÂHello WorldÂ scenario was used to illustrate the processes. The entire system developed in this project was a stand-alone one, but potentially would be integrated into the real Intranet system.
Development of a Web Service Interface for a Commercial Intranet System
Data structures and algorithms have been developed in an examination of the problem of producing a software tool to divide work between a pair of jointed robot arms sharing a two-dimensional work space. Steps have been taken toward developing an offline programming tool which generates robot movement schedules automatically from robot and task data. The robot configuration considered is of a fixed shoulder joint and two fixed-length members connected at an elbow joint. The robots possess no redundant degrees of freedom. The task the arms must carry out is to move their wrists along a set of user-defined lines, such that all lines are traced in a near-minimum time. Only kinematic constraints have been considered, and instantaneous acceleration is permitted.
Planning and Simulation of Collision-Free Robot Arm Movement
Nowadays, more and more idividuals are getting interested in obtaining information about their ancestors for a number of reasons. Genealogical investigations have thus become popular spare-time activities. Accordingly, family related data is becoming widely available in electronic form for these researchers. GEDCOM, for example, is a powerful and expressive standard emerged for such family data transfer. Apart from exchanging family data in electronic form, computers can also be used to aid the genealogical researchers in different ways. One obvious automatic task is the visualisation of family tree data. For this objective, the project starts out to provide such a utility for genealogical research work. The developed software accepts family data conforming to the GEDCOM standard (complied with the Personal Ancestral File release 2.1 and 2.2) [9], and produces a graphical representation of the family tree relations. Besides, the facility to utilise a history database has been provided, so that family tree data can easily be viewed in conjunction with historical events.
A Visualisation Tool for Family Tree Data and Historical Time-line Events
The purpose of this project is to investigate remote processing and data access using Java mobile agents. Detailed background research was undertaken into the use of agents in distributed computing before discussing low level design considerations for the proposed Data Resource Agent Server (DRAS) system. Following this research, a three tier system architecture is presented that uses client agents to move processing to an execution layer, where service and worker agents provide an access bridge to computational and data resources. Detailed technical research into the Open Agent Architecture framework chosen to implement the DRAS system is given. We then focus on the design and implementation of various elements of the DRAS system, specifically on service provision agents and load balancing of client agents across a distributed set of nodes, A set of agents is implemented to allow testing and an evaluation of the system.
Investigating Remote Resource Access Using Autonomous Agents
Heuristic algorithms of Steiner tree creation require the manipulation of objects such as graphs, trees, forests, paths and sets of nodes. The availability of a library of data types for representing these objects would facilitate the implementation of algorithms of this kind. This project involves the design of an object-oriented library of data types for modelling Steiner tree creation. The development of the library is aided by the reuse of elements of LEDA (Library for Efficient Data Types and Algorithms). In order to test the library, several heuristic algorithms are implemented
Data Structure Library in Order to Implement Heuristic Algorithms of Steiner Tree Creation
A software system for fast generation of the dot-plots and customised display of repeat-maps of long genomic DNA sequences was developed and evaluated. It was called Genome Dotter. Genome Dotter implemented a fast hash table/linked list algorithm for word comparison of two DNA sequences. Genome Dotter was implemented using Java programming language and provided a user friendly interface, including various buttons, menu items, choice lists, scrollbars, file chooser, colour chooser, progress monitor, and various dialogue boxes. It provided an option to display the dot-plot and repeat-maps in a separate window and a clip option to show a user-selected area only. It provided zooming function and cursor and scroll pane for interactive examination of the dot-plots and repeat-maps. It also provided a sequence alignment tool showing individual bases of the compared sequences.
A Networked Virtual Environment Based On Group Communication Protocols
A Java applet to act as guitar tutor, presented on the World Wide Web to provide a user friendly reference program for all budding and experienced guitarists. It will teach the user how to tune the guitar and to play chords and scales by making use of sound and image files.
A Java Implementation of a Guitar Tutor Applet for the World Wide Web
An existing database stored in Microsoft Access 7.0 was analysed and modified to become more efficient and convenient to use for the purpose of managing a small music shop. One of the major enhancements came from the addition of the Âabstract informationÂ on a recording. It should be distinguished from the Âphysical informationÂ that gives the details of an item currently in stock. Another notable improvement would be the fact that all the relations are now normalised. An interface has been written in Microsoft Visual Basic 5.0, which enable the user to insert new recording, register new stock items, change certain information about them, and generate a catalogue of items in stock as a subset of web pages directly from the database. This last enhancement enables the user to exploit with ease the World Wide Web for his business.
Automated Web Site Creation from a Database
The project aim was to develop a library of high abstract level programming tools, which would allow researchers in the area of AI Planning to implement their ideas / work more rapidly, when working under a C++ environment. A sub-division of the REPCO Artificial Intelligence research team in the IRISA institute in Rennes, is dedicated to the area of 'Planning' - a domain concerned with finding efficient methods of problem solving i.e. mapping a current state to a desirable 'goal' state. It was their suggestion that the creation of the following library would be of assistance.
Development of a C++ Programming Library for use by AI Planners
An Interactive Map of the University of Newcastle upon Tyne's Computing Science Department
The Petri Calculus is used in modelling and verification of concurrent computing systems. The Calculus consists of a language of Box Expressions that can be translated into Petri Nets - a graph based model. The aim of this project is to implement an algroithm which will produce a Box Expression from a Petri Net.
Synthesis of Petri Box Expressions from Petri Boxes
The process of learning a new concept can be helped by providing real examples with illustrations, such as animations. Animations give better insight of the problem, thus give a more thorough understanding. Some concepts that can be animated include the parallel programming concepts. The most widely used and famous concept is the Dining Philosophers Problem. Matrix iteration problem is also a good way for learning parallel programming. This dissertation will attempt to describe those concepts better through animation. The animation will be created by using Java language, since Java provides thread which will make it easier to do some parallel programming. Since it is hoped that this dissertation can assist in teaching parallel programming module, particularly CSC305 Â Parallel Computation, the resulting programs will be made an applet, which can be run from any web browser or an appletviewer.
Animation of Parallel Programming Concepts using Java
Distributed protocols are used to minimise bus traffic in multiprocessor systems where the processor competes for access to main memory via a single bus. Each processor has its own cache memory which holds copies of blocks from main memory. The protocol ensures that cache coherency is maintained. In this project three protocols are simultated and their performance studied for various changes in the system.
Cache Coherency in Shared Memory Multiprocessors
A suite of software tools has been designed and partially implemented to automate the monitoring activities performed by teaching staff. The system runs on a Windows workstation, uses Microsoft Access to provide database management and Visual Basic to provide required functionality.
The main aim of the project is to provide a Requirements Analysis and deliver a suitable fully operational system to cope with the context records compiled by Durham Archaeological Services. The company at present have a filing system on which they store all their excavation data, and now require a more advanced method of storing and manipulating their data. The Organisation are particularly concerned with extracting as much useful information as possible from the unique 'icon' recording system they have developed. This paper will look into all the possibilities of providing such a system. It will identify exactly what the requirements of the Organisation are, involving a number of visits to the site to interview the Managers and staff. The precise needs of the system including formats, interface, output required and expectations will be agreed upon and a detailed specification will be produced. The design, implementation and testing of the system will also be carried out as part of the project.
A Database for Durham Archaeological Services
The MarauderÂs Map is magical map that is described in the third Harry Potter book, ÂHarry Potter and the Prisoner of AskabanÂ. This map allows the user to see the locations of all other people in their surroundings. While this may seem like a useful tool to the user, the people being observed are unlikely to agree. People may want their location to remain a secret, especially to people they do not know or trust. This map would still be a useful tool even if it could only display the locations of people who give their consent, such as friends of the user. This introduces the idea of selective sharing location information. This project investigated how to best allow people to selectively share their mobile location with others. A system was developed to fulfil several requirements that were felt important in allowing selective sharing of location information. If any of these requirements is missing from a location sharing system then users may have concerns about using the system due to having inadequate control over who their location is being shared with. This report details the design decisions and issues that were encountered during the development of this system. The success of the system at allowing selective sharing of location information between it users is then evaluated against the requirements that were felt important at the start of the development.
The Marauder's Map: Selective Sharing of Mobile Location Information
A Parallel Database Server consists of a set of processing nodes, which are connected by a high speed network. Each node comprises a processor, and a set of disks. Connected externally to the Server are Clients and Internet Agents, which submit job requests. The requests fall into two categories, a simple request which requires a small fraction of the Server's resources, and a complex request which requires large amounts of the Server's resources. Experiments were performed which observed the effects of the complex job request on the Server's performance and of using different configurations of processors and disks. It was found that the complex request significantly affects the performance of the simple requests, and fewer disks per processor improved the server's performance.
Simulation of a Parallel Database Server
To provide a HyperCard application that acts as a teaching aid for aspects of English to the level of KeyStage 2 of the National Curriculum.
The Throckley English Tutor: English Educational Software for Throckley First School
To design and implement a software application for use in Secondary schools (Ages 11 to 18 years), within a particular academic discipline. The project should involve consultation with teachers and feedback from pupils. At completion, a heightened awareness of possible applications for Information Technology within traditionally non-technical disciplines should exist.
Information Technology within the National Curriculum
Single-player interactive role-playing games have a long history of being addictive (e.g. Adventure in the early 1970s on computers, Jackson and Livingstone in the early 1980s on paper). It is not clear whether the genre is suited to high-level education, however, it could prove helpful in introducing fundamental programming concepts, by tying the problem-solving aspects of the game to those of creating programs. Players can advance in the game by writing programs that work. This project aims to develop such a product, capable of teaching the Java programming language to a novice computer science student.
Computer Aided Learning Via Game Playing
Due to the increasing popularity of the World-Wide Web (WWW) there is great concern as to the ability of the existing infrastructure to keep pace with the consequent demand. Such demand manifests itself to users of the WWW as delayed response times in WWW document retrieval- or increased latency. Upgrading netwrok bandwidth is too costly an option - if at all feasible - therefore other methods of improving WWW latency need to be considered. This project investigates the feasibility of dependence-based, client-side prefetching strategies as a possible solution to this problem.
An Investigation into Client-Side Prefetching for World-Wide Web Proxy
The aim of this project has been to create a database for the Industrial Cleaning Company, GBM Services of London. The need for this database arose with the implementation of the 'Working Time Directive' in 1998. This created the requirement for the company to monitor the average weekly working hours of all employees. Additionally, the increase in holiday entitlement necessitated a review of current working practices. The database has been designed to generate reports that will help a manager perform their duties more efficiently. It has also been designed to accommodate quick and easy inputting of data. This dissertation will discuss how the project has been undertaken in order to develop the Cleaning Industry Information System.
Cleaning Industry Database For GBM Services Ltd
The aim of the project is to set up a system to illustrate and investigate the stability of differential or difference equations graphically. A differential equation can be solved on a computer using a variety of numerical methods which take the equation and represent its solution as a difference equation. Starting with an initial value, the difference equation is iterated to give a sequence of approximations to the actual solution. The solution may grow, oscillate, exhibit chaos or converge to some limit. Stability occurs when the sequence of iterations converges to some limit. If the number of iterations needed in order to establish convergence is noted then the relative stability of the equation can be represented by assigning a colour to the corresponding value. Further colours can be used to indicate if the solution does not converge or grows. As many differential equations involve constant parameters then by varying these and applying the above method to each case, we can investigate how stability is related to the value of parameters. If two parameters are varied then a grid of colours can be output with the horizontal and vertical axes representing the variations of the parameters. Alternatively, the sequences of iterations can be plotted as points on a graph to enable the behaviour for a particular set of parameters to be studied in more detail.
Graphical Representations of the Stability of Differential Equations
Access to the University Registration Database is currently made using special purpose front-end applications, which run on personal workstations. The project aims to provide access from a standard Internet browser. The aim of the project is to design a client side application to access the Registration Database using the same protocols as the special purpose front end, making use of web pages and server programs to enable users to make enquiries and receive replies. Users must be authenticated with in the existing protocols and messages between the web based front end and the database server must conform to those set down in the registration protocol. The interface for the cgi program can be accessed at the web page: http://newcastle.rkbexplorer.com/id/people/darren.pierce/home.informal/, and the intermediate server can be found in the directory n7950521/testcgi/select.
Client Side Application to Access Student Database
The building of an Internet e-mail application is documented. The objectives of the author were to learn Java and eXtensible Markup Language (XML) and to put these to use building an e-mail application that stores its data in XML, and can serve client devices other than just web browsers. A number of XML tools and APIs were investigated and used, in addition to a language for transformation of XML documents, XSLT. An iterative design process was documented using the UML; use cases, package diagrams, class specification diagrams and interaction diagrams have been used. The application was built using Java, Java Servlets and a number of Java XML APIs and tools. An open source mail server was used for development and Sun's JavaMail API for sending and retrieving e-mail messages from Java. Testing comprised of both unit testing and system testing. A unit testing framework, JUnit, was used with a powerful; Java build tool, Ant, to write and execute unit tests. Concurrent Versioning system was used to control source code versions throughout development. The finished product performs well by serving clients over HTTP, and is independent of the type of device being used. Support for different devices can be added by writing the details of the view in XSL style sheets. At present, only a view for web browsers is available; though the author looks forward to writing style sheets for mobile phones and application clients in the future. The application implements its database using XML documents in text files. It can be deployed to a Servlet container such as Apache Tomcat, and various settings can be configured by editing its XML settings file.
The Oracle relational database management system is the most popular database management system in use today. Although in Theory Oracle could be administered by a single user, in practise its administration and use are most commonly shared by many people performing a number of specific design, administrative and programming roles. Performance of Oracle can be markedly improved through tuning the process. Tuning is still a misunderstood concept in the database world. Not enough tuning is being done and it is often done at the wrong stages of the software lifecycle. The objective of this dissertaion is to analyse the tuning process, and use some of the techniques possible to improve performance. These techniques are shown as the most important ways of tuning the Oracle server. By comparing and contransting each of these approaches, conculsions are drawn as to the extent of the tuning possible and the impact of each approach.
An Investigation Into Tuning The Oracle7 Server
This dissertation requires the implementation of a chess game service that enables users to play a game of chess over the World Wide Web, allowing multiple concurrent games to take place, and leaving enforcement of the rules of the game up to the two participants. The dissertation gives a detailed description (including justification) of the design decisions and implementation of the programs used during development.
Design and Implementation of a Collaborative Web-based Chess Game Service
The aim of this project was to produce a prototype eCommerce Web site for SEMU (Safety and Environmental Management Unit) to allow them to sell their Profile software on the Internet. As the customer requirements were poorly defined and the author was unfamiliar with the technologies used, an initial prototype was produced and validated. Once the requirements had been updated this initial prototype was thrown away and the second prototype was begun from scratch. The project involved writing Active Server Pages in VBScript, ActiveX DLLs in Visual Basic and SQL queries to access a database. In addition to researching the technologies used, three-tier client/server architecture and credit card authorization on the Internet were also researched. The project was developed on NT 4.0 Server using Internet Information Server 4.0 as the Web server and SQL Server 7.0 as the database server.
Producing a Prototype Ecommerce Website for SEMU
The simulation of discrete event systems is the process of generating a sample path, or trajectory, that represents the system state as a function of time. This dissertation makes use of recurrence relations and the parallel prefix algorithm to produce an efficient method for simulation the single server. The algorithm presented being able to compute the first N job arrivals and departure times, in a time proportional to N/P + log P, where P is the number of processors available. Example code is provided giving the implementation of this algorithm on the Encore Multimax 520 shared menory MIND computer. The dissertation goes further to describe methods for parallel merging and splitting, allowing the simulation of acyclic nethworks of servers. Again example code is provided for an implementation on the Encore Multimax 520.
New computing tools are required to analyse the wealth of data being generated by the application of high throughput techniques to genome analysis in the biological science. In particular tools are required that are able to integrate different types of biological data. The aim of this project was to develop an application that permitted the integration of two types of biological data from the yeast S. cerevisiae: protein integration data and gene expression data. Integration of these two data types allows biologists to characterise the protein networks of an organism, revealing details about its molecular biology. An application was designed and implemented in Java to address these aim. A modular design pattern was used to permit the addition of new program function in future versions. The application developed allows the user to view protein networks in a tabular display, as connected graph structures and in the form of Âedge matrix displayÂ a novel visualisation technique developed during this project. A gene expression module was added to the application to allow the integration of gene expression data with the protein interaction data through the use of colour. Furthermore, a module that provided protein information from a relational database was also included to allow proteins in the network display to be rapidly characterised. The application was shown to be valuable in the identification of protein networks and for providing clues about protein function.
A Java Application for the Combined analysis of Large-Scale Protein Interaction and Gene Expression Data
A World Wide Web Information Resource Describing the Methodologies of Structured Requirements Analysis and Structured Design
Simple algorithms such as searching algorithms and Sorting algorithms are very important in computing science, but they are also hard to understand because of the algorithms abstraction and loops complexity. The requirement for this project is to develop software to help undergraduate students visualise various simple algorithms. The existing tools are not suitable for this purpose. For this reason software was developed to allow Searching and Sorting Algorithms to be visualised and animated. The software is an application with a graphical user interface. Using this application, the user can choose an algorithm to be animated. The code of the algorithm is displayed in C++ or Java and the show modes (Step or Automatic) are available to be selected. The software is portable and is supported by file management and a cross-linked help system.
Many differential equations of scientific interest defy the standard analytical approaches to solution. For these equations we may employ numerical schemes for solution. These schemes differ in their accuracy, complexity and in the number of calculations required to reach a numerical approximation. Many of the equations that we choose to solve in this way produce complex graphical solutions. The solutions may be viewed in different ways to attempt to see order in their ÂchaoticÂ characteristics. The aims of the project are to implement different methods of numerical solution for a selection of chosen equations. Produce various graphical representations of these solutions and then analyse the qualitative aspects of these solutions. The results show that EulerÂs method and the Runge Kutta method of solution produce numerical results for Lorentz system of equations, Uedas system of equations, Rosslers system of equations and the Predator Prey system of equations that may be analysed graphically. The graphical analysis of these equations highlights areas of instability in the systems and also show up regular behaviours in apparently chaotic solutions.
A couple of the pieces of coursework for CSC226/CSC807 (Professional Issues) involve students signing up for a "mock" job interview with a real company. Having signed up for the interview, the student then produces a CV and covering letter (which is submitted) and then attends for an interview with their chosen employer. Administration of this whole process has been the responsibility of the Careers Service, but this is to be undertaken by the Department of Computing Science in the future. The aim of the project is to implement a Web based automated booking system that can replace the existing manual booking process that was used this year. The automated system needs to be able to: Accept configuration information identifying who is offering jobs, on what days the interviews will take place, and the period over which interviews will take place. Display information about the jobs being offered by the various employers, display details about the days on which the interviews will be taking place, allow students to book a single interview slot for the company of their choice, allow students to move a booking from one time to another, or from one employer to another if the timetable permits. Maintain integrity checks to prevent multiple interviews being booked by a single student, allow the module leader to record the subsequent submission of the CV and covering letter. Important issues to do with this project are that the system is configurable (different companies are involved each year, using different interview days) and that the system is robust.
Professional Issues - Automated Booking System for the 'Mock' Job Interview
This dissertation will be concerned with the design and implementation of a relational databse for a solo architectural practice. The first stage of this process is a meticulous analysis of the proposed system based upon close consultation with the clients, Haq Architects. Following this, Data Flow diagrams, and Entity-Life History and Entity-Relationship Models can be produced to reflect the client's requirements and to allow the implementation of the system to proceed. The methods used to implement the system will be chosed by assessing the client's current operating environment and his current and future business needs, particularly when deciding which type of database to use and the type of software needed to support that choice.
A Systems Analysis and Database Application for a Solo Architectural Practice
A Web Information Server For The Newcastle Branch Of The British Computer Society
The aim of this project is to provide a Requirement Analysis and to migrate the current system which is implemented in dBase IV to a system inplemented in Microsoft Access. This will then deliver a fully operational and suitable system to deal with all the operations done by CISV (Children's International Summer Village) International's Village program. The Village program currently uses the DbaseIV database system to provide statistical, financial and management reports. They now require a more advanced method for storing and manipulating their data. The new database system they want to put to use is Microsoft Access. CISV also requires this new system to hve an improved GUI (Graphical User Interfce) as this system is going to be used by staff with no formal IT background and international volunteers having English as a second or third language. This work will look at all the possibilities of providing such a system. It will identify the exact requirements of the Organisation. This will involve a number of visits to the site to interview the personnel of CISV International and shall also require the application of reverse engineering on the current system to gain a thorough understanding of it. The precise needs of the system including the formats, interface, output required and expectations, will be agreed upon and a detailed specification will be produced. The design, implementation and testing of the system will also be performed as a part of this project.
A Database Management System for CISV International's Village Program
The aim of this project has been to develop a Tourist Information System for the tourist information office in Orsta Norway. This is in order to store information and to easily provide tourists and others with information in an effective way. When the information is stored in a database, retrieving, storing and updating the information will be enhanced from today's manual system, and by connecting the information in the database to a map object, the tourist information customer can be provided with a map. This functionality is made available by using a Geographical Information System tool. This dissertation will discuss how the project has been undertaken in order to develop the Tourist Information System application.
Tourist Information System for Orsta Reiselivslag
This dissertation describes the specification, design and inplementation of a prototype Expert System to aid in the diagnosis of Acute Stroke. It is intended to be used by medical physicians. The dissertaion contains a discussion and historical review of the use of Expert Systems in Medicine, and the medical background of the condition 'Acute Stroke". The system is implemented using a version of the multi-paradigm programming language CLIPS. The system has been tested against its functional specification and also tested using a number of real clinical cases with a known diagnosis. The inplemented Expert System fultils it functional specification, and on testing has been shown to perform well, giving valid and accurate answers when used (as certified by the medical experts consulted in writing this dissertion El E2 E3), and agreeing with the diagnoisis of known clinical cases used to test the program. Possible future enhancements and developments to the system are also discused.
A Simple Expert System to Aid in the Diagnosis of Acute Stroke
Fault-tolerant multicast protocols require that transmitted and received messages are kept locally for possible retransmission until certain stability conditions are satisfied at all members of the group. In an asynchronous distributed system, message transmission time and processing delays are unbounded. Hence the number of unstable messages might grow indefinitely leading to buffer overflows. Therefore, there is a need for an effective flow-control algorithm. Newtop is an asynchronous, symmetric, total order group communication protocol being developed at the University of Newcastle upon Tyne. This project addresses the problem of flow-control in the context of Newtop. Three increasingly efficient algorithms preventing buffer overflows have already been developed. These algorithms are safe as well as non-blocking. This project is a simulation study of the most efficient one of the flow-control algorithms.
Simulation Study of a Flow-control Algorithm for Newtop
Numerical methods can be used to provide solutions of polynomials. Iterative formulae provide either convergence or divergence from roots. This dissertation seeks the most efficient iterative formula for both two and three-dimensional systems. It also strives to produce improved versions of present iterative formula and also to provide graphical representations of both polynomials and the iterative process. The aim is to write software that enables such activities to be carried out. The software should be sufficiently versatile as to provide a useful tool to aid both in the understanding of polynomials and analyses of numerical methods.
Solving Single Polynomials in Two and Three-Dimensions Using Numerical Methods
The objective of this project was to implement a relational database for Croft Stores News agency. Systems Analysis was used as a means of identifying which areas of the business would benefit from automation, and the project goes on to describe the development of the relational database from initial requirements through to implementation and testing.
Developing a Relational Database for a News Agency
This project studies the performance of data replication systems under sequence consistency protocols: the effect of three types of network topologies (fully connected, mesh and ring) and two kinds of message sending (gossip and exchange gossip) on the time required for a replica to receive history information from all other replicas in the system. Another quantity of interest is the average interval until an update can be implemented on all replicas. Both performance measures are evaluated by simulation. It is found that the fully connected network with uniform random partner choosing policy and exchange gossip has the best performance while the ring network with gossip gives the worst. In the fully connected network with exchange gossip, the average response time of an update is higher than 2(In N)B. The average total residence time is in between 3(In N)B and 4(In N)B, where N is the number of replicas and B is the average interval between each message sent by one site.
Simulation of Data Replication Consistency Algorithms
Architectural walkthrough models aim to be photo-realistic and maintain reasonable frame rates for interactive usage. However, the geometric complexity of scenes reduces the frame rate performance. The aim of this project is to investigate image-based rendering techniques to portray views of geometry through portals with planar images. The project investigates frame-imaging, and shows that this is an expensive or inaccurate imaging technique. Pixel blending schemes are also investigated, and shown to be useful for simple scene and restricted view representation. Having demonstrated these techniques in OpenGL, the requirement for more accurate interpolation methods is discussed.
An Investigation into Portal Frames and Image-Based Rendering Methods
This dissertation stems from my interest in the food industry. My previous degree was in Agricultural and Food Marketing at Newcastle University, and prior to undertaking the M.Sc. in Computing Science, I had previously been working for a Food Trading Company. In the 1990's regulations in the food industry have been steadily increased. More onus has been put on the food producer to prove that products supplied to consumers are free from contamination which can be caused in the production process. The concept of due diligence was introduced in the Food Safety Act 1990. Under this Act, it is up to the producer to prove that all possible safety measures and precautions are taken in the manufacturing process, prior to the sale of the product. The object of this dissertation is to implement a food safety system resulting from current and impending food and hygiene regulations in the industry. A rigorous Systems Analysis has been used to examine the existing situation, and the problems presented by food and safety regulations. The designs have been implemented using the Microsoft Access Â¨ Relational Database Management System (RDBMS).
A Database Project to Implement a Food Safety and Order System for a Cheese Manufacturing Business
Genetic programming has shown itself to be a powerful method of automatic program generation. However, conventional implementations of this system are restricted by the imposition of the closure condition. Strongly typed genetic programming has been presented as a way of avoiding this condition. This dissertation attempts to investigate the relative performance of stongly typed and conventional genetic programming, and illustrate the advantages procured by applying strong typing.
An Investigation of the Performance Gains, and Advantages Procured by the Application of Strong Typing to Genetic Programming.
This document describes the design and development of an emulator for the Motorola 68000 processor (and associated peripheral components) for the Acorn Risc OS operating system. It also goes on to describe possible future extensions to the system and the way in which they could be implemented within the existing design framework. The aim of this investigation was to develop an emulator that made good use of the Risc OS graphical user interface in order to provide an easy to use investigation tool for running 68000 machine code programs. In order to investigate such programs the emulator was to provide a number of functions such as memory and register displays as well as the ability to single step the emulation model in order to observe the effect of individual instruction executions.
168000Em: A Motorola 68000 Emulator for Acorn RiscOS Computers
Development of distributed systems involves construction of efficient distributed algorithms. Design and implementation of correct distributed algorithm is often a complex task. It is also difficult to understand the working of such an algorithm because of its lack of global state and clock. The requirement of this project is to develop a software, which correctly implements two distributed algorithms and shows animation of these algorithms and other various works done by the underlying distributed system. Using this program the user can see how the nodes are networked and algorithms are implemented. The two algorithms for this project are (1) wave ring algorithm (2) wave tree algorithm and the language used is Java.
Implementation and Animation of Distributed Algorithms
An experimental Certification Authority is being set up within the Computing Science Department. Software exists for the creation of X509 certificates, for submitting them to a certification authority (CA), and for the issuing of signed certificates by the CA. At present, this software has a highly user-unfriendly interface. This project is about creating a user-friendly interface both for the would-be recipient of a certificate and for the administrator of the CA. The project will also be concerned with a study of the general issue of trust in systems and networks, with particular reference to the checks a CA would need to make before issuing a signed certificate.
A Web Based Form for a Certification Authority
This dissertation is concerned with the analysis, design and implementation of a relational database, to be used by a Travel Agency, for managing groups. The requirements of the customer are presented, followed by the analysis of the requirements from the analyst's point of view by employing Data Flow Diagrams, the Entity - Relationship Model and the Entity Life - History Model. The next step is the transformation of the analysis into design, where constraints implied by the operating environment and the database used are also taken into account, so as to be fully prepared to proceed to the implementation of the application.
Computer Aided Groups Information System (A Relational Database for a Travel Agency)
Extensible Markup Language (XML) is rapidly emerging as the dominant standard for exchanging data especially on the web. However, in the near future, most business data will continue to be stored in relational databases systems. One of the most time-consuming challenges for developers has been to exchange data between such systems over different platform. Converting the data to XML can greatly reduce this complexity and create data that can be read by many different types of applications. This has created the need to publish data as XML increasingly important. This dissertation presents design and implementation of a program for transforming data from relational databases into XML documents together with Document Type Definition (Dill) that defines the XML document. Additionally, design and implementation of Extensible Stylesheet Language (XSL) Stylesheet for transforming XML document into other formats also present.
Generic Entity Export from Relational Databases to XML Documents
Logic designers often use timing diagrams (TD) to understand and explain to others asynchronous circuit behaviour. This dissertation describes the design and implementation for a method of converting textual descriptions of asynchronous circuit behaviour, in the form of Petri net signal transition graphs, into timing waveforms which are then displayed as images on a V.D.U. screen.
The Visualization of Asynchronous System Behaviour in Timing Diagrams
In a networked virtual environment, satisfying real-time requirements while ensuring all users maintain a consistent view of the shared state is difficult. Group communication protocols may be used to ensure consistency in these environments. However, group communication protocols that have been used to ensure consistency in networked virtual environments tend not to scale well when large numbers of users are involved and/or when large geographical distances separate users (e.g. communications over the Internet). Here at Newcastle a group communications tool-kit has been developed that may be suitable for satisfying the consistency requirements of networked virtual environments. Initial test results also indicate that the tool-kit may also be more suitable than similar tool-kits. The aim of this project is to implement a simple networked virtual environment based on this group communication tool-kit. A comprehensive set of tests will need to be carried out on the resultant implementation to gain performance figures for both local and wide area networks.
A Program for Fast Generation of Dot-plots and Customised Display of Repeat-maps of Genomic Sequences
This dissertation documents the design, implementation and testing of a syntax analyser for algebraic formal specifications written in the OBGS language. The provision of tool support for new languages such as OBGS is vital to their continued use and development. The tool developed here is designed to perform syntax and type checking on OBGS specifications so the OBGS authors can validate the correctness of their specifications quickly and easily. A spiral development model is adopted whereby several prototypes are implemented and evaluated before the completion of a final version. This model complemented and contributed to the extensible nature of the tool, and suggestions are given as to the direction of possible future developments which would build upon the core functionality of the tool.
Development of a Syntax Analyser for the OBGS Formal Specification Language
This project is concerned with obtaining and installing software for a secure Web server. The software for the Web server itself can be obtained from the Apache group, and the first task would be to download this software and install it somewhere. The software to provide the security is basically the SSL implementation done by Eric Young in Australia, known as SSLeay. The integration with the Apache Web server has been done by Ben Laurie, from whom the software can be obtained. (All of the necessary URLs will be supplied). The installation of the Apache Web server involves the inclusion of a set of ÂmodulesÂ to control the behaviour and facilities of the server. An extension of the project would be to provide additional modules to handle alternative types of security such as PGP.
PGP (Pretty Good Privacy) is the most widely used piece of software for providing privacy on the Internet. Its operation depends on the participants possessing a public/private pair of keys. One common way to publicise a public key is to lodge it with a Public Key Server. Public keys lodged with the server consist of the key itself, together with one or more "key identifiers". These key identifiers are usually (but not always) the e-mail address of the owner of the key. In order to use a public key, a user must have some confidence that the key concerned really does belong to the putative owner, and not someone else masquerading as the owner. To try to give such assurances, PGP has an arrangement whereby a public key/id pair can be "signed" by someone else, which is intended to be an affirmation by the signer that the owner of the key really is the person who s/he claims to be. In general, an intending user of a public key will not be able to give that assurance, so the next stage is to examine the signatories to the key. If any of these is known to (and trusted by) the user, then presumably the key can be used with some confidence. If not, then the signatories to the signers' keys can be looked at. The ultimate objective is to create a chain of trust relationships from the user to the key. The set of all trust relationships within the set of all PGP public keys is a directed graph, and is known in PGP circles as the Web of Trust. This investigation shows the Web of Trust is not as strongly connected as may be hoped. There are large numbers of keys that exist in relative isolation from others. Although there are sub-populations of very strongly connected keys with many signatures, the overall structure is relatively sparse. This is one of the major obstacles preventing more widespread use of PGP.
The aim of the MSc was to carry out a complete analysis on the House of Commons book ordering system. Having analysed the current system, design and implementation of a new system, addressing the problems discovered, was undertaken. Limited time resulted in the focus of this project being analysis and design, with only some steps towards implementation. The final system must be able to keep track of all monograph orders, and provide this information to library users in an on-line public access catalogue. There must also be a facility to store supplier information, produce accurate management reports on book stock and orders, and some basic budgetary information. The system must interface with existing systems used within the Library, and the House-wide network.
House of Commons Monograph Ordering System
The Newcastle and District Branch of the British Computer Society would like to extend their existing World Wide Web site to allow for more interactivity with Society members and non-members expressing an interest in the Society. The interactivity provided by the Branch should allow non-members and members the facility to register for events organised by the Society and allow members to communicate more effectively with the Branch. The Branch would also like to capture information associated with its members so as it can gain a better understanding of their interests. This dissertation aims to implement the most appropriate solution to fulfil the requirements laid out by the Newcastle and District Branch. The solution takes the form of a set of Web pages for use by interested parties, a server for handling queries and data storage, and a Branch administration tool for manipulation of data stored on the server.
Development of an Interactive WWW Information Service for the Newcastle Branch of the British Computer Society
It is widely accepted that software maintenance consumes the majority of resources in the software life cycle, both in cost and man power. Modern software development has become wise to this enormous expenditure and produces software specifically with easy maintenance in mind. Unfortunately a large amount of older software systems still in use did not use such a development model and are invariable very difficult to maintain. One of the greatest problems to overcome in software maintenance is that of program comprehension, that is actually understanding how the program works before changes can be made to it. There are already a number of analysis programs available for various languages which provide a range of different types of analysis. Unfortunately the number of analysers publicly available for C++ is a great deal less. The aim of this project is to produce a simple analysis tool which may be used as a front-end system to further projects which require the extraction of information from C++ source code. The analyser will concentrate on the aspect of providing the information and allow the user to decide how that information will be used, thus giving them greater flexibility.
When referring to a problem, we often speak of a space in which the problem's parts exist. This allows us to speak metaphorically and to apply knowledge constructed in a given field to be useful in a less familiar one. Concepts are universally separate from representation, yet the representation often subtly distorts or obscures the ideas. This is undesirable yet almost inevitable; the trick, it seems, is to choose a medium appropriate to the purpose and structure of the message. This report discusses the nature of concepts, how representation affects a message and how human characteristics affect learning and remembering. A prototype implementation of a concept representation system is presented.
ThinkMap - A Concept Map Editor for the World Wide Web
This study was carried out for the final stage of the degree of Master of Science, Computing Science, University of Newcastle upon Tyne 1997-1998. Most of the work for the study was done at IRISA, University of Rennes during June, July and August 1998. The study is based on asynchronous transfer mode (ATM) networks and computer simulation of queuing networks. The study included work on the following: i) the literature on ATM networks ii) the principles of queuing networks models iii) the simulation software package QNAP iv) a C++ queuing simulation program involving aspect of ATM network switches.
Asynchronous Transfer Mode (ATM) Networks and Computer Simulation of Queuing Networks