FIT4002 Software Engineering Studio Projects - 2013 Project Proposals

Coordinator: Yuan-Fang Li

Client: Agilent Technologies


Project 1 - Data Mining Worksheets

Customers of Agilent's analytical instruments generate enormous amounts of data (worksheets) in the collection of information for themselves or their customers. Very rarely is the trend information inherent across those worksheets mined for information regarding further analytical data or the health of the instrument gathering the data.

The intention of this project is to:

Project 2 - Lab Manager v2

In 2012 Monash students produced a Lab Manager application for Agilent that allowed basic status information to be displayed to a customer on a Windows7 PC. The architecture chosen comprised an interface placed into the MP software that generated the data, that data was managed on a server and distributed to any number of Windows7 platforms.

The extension of this project is twofold

Client: Alfred Hospital


Project 3 - Clinical indicators dashboard

This project aims to deliver a fully worked up operational dashboard for the display of clinical indicators across all 3 campuses of Alfred Health (the Alfred, Caulfield and Sandringham hospitals).

Clinical indicators - for example the post op infection rate for patients having open heart surgery- are highly valued by healthcare practitioners at all levels, and hospitals have traditionally not done a great job at providing platforms for the display of such indicators for their staff. The recently released National Safety and Quality standards for healthcare provide a strong business driver to undertake this work now. (See Australian Commission for Safety and Quality in Healthcare website).

By way of background - previous in-house development has resulted in a primitive platform utilising the mandated corporate technologies - Qlikview, SSIS and SQL Server 2008 R2. It currently displays only 3 indicators, whereas many dozens may ultimately be needed.

This project seeks to expand the base work and deliver a more robust platform that would include a full (across many topic areas) range if clinical indicators. This will be done in consultation with multiple hospital departments and will provide an enormous opportunity for students to greatly advance their knowledge of the healthcare system. In addition this project is a great opportunity to advance their skills in visual design and software usability engineering.

Students will also advance their skills in requirements analysis, stakeholder management, project management, and application and database programming.

The possibilty exists to push for an academic publication from the work.

Project 4 - Smart Forms into an EHR

This project aims to deliver an advanced prototype platform for the demonstration of "smart form" data capture and processing for collection of EHR (elctronic health record) data.

The platform would be extremely useful to the hospital as a way to explain to staff - especially medical practitioners - that there are a range of data capture mechanisms that can be used to get data into the organizational EHR that don't necessarily require changes to their workflow, or that don't require fast amounts of typing from them.

We know for example that voice to text (voice recognition) has been used in an operational sense into the same system in another Australian state.

By way of background - a previous student project has resulted in a primitive platform utilising:

This project seeks to expand the base work and deliver a more robust platform that would include multiple smart forms (currently only 1 smart form has been developed as a prototype).

Useful extensions would also include the ability to produce a .pdf summary of the collected form data, as well as using the XML content to populate web based graphical summaries of the collected data across multiple patient records (currently only done as HTML tables).

Students will advance their skills in requirements analysis, stakeholder management, project management, usability engineering and application and database programming.

The possibilty exists to push for an academic publication from the work.

Client: CSIRO


Basic Requirements (common to all CSIRO projects):

Students will need to sign the CSIRO Industrial Trainee Agreement.

Platform support: Linux, Windows and Mac.

* Many of these projects, essentially those developing a support tool, will need to achieve the same platform support and be built using the same tool chain as the core product. In particular the use of C++ will probably be a requirement for most projects the one exception may be is the portal project.

Background to all CSIRO projects

Workspace is a powerful workflow platform designed to address two specific scenarios:

  1. Users who want to create scientific workflows in one coherent, easy to use environment where much of the "heavy lifting" has already been developed and proven.
  2. Developers who want to make their software available as products, plugins or components to be freely mixed with capabilities from other providers.

Workspace provides a graphical interface through which users can combine various operations into coherent workflows, execute them and interact with them while they are running. These workflows can carry out a multitude of tasks and can be of arbitrary complexity. A range of built-in operations are provided for tasks like visualisation, handling of 2D and 3D data, file I/O, network access as well as fundamental building blocks such as flow control, loops, string handling and so on. If custom processing is required, users can easily write a Workspace plugin through which any C/C++ code can be exposed. Thus, Workspace framework makes it very easy to mix and match existing and new capabilities within an easy to use drag and drop environment.

The modular nature of the Workspace framework makes it an ideal vehicle for facilitating collaboration. Users can share and re-use workflows, they can make their own software capabilities available to others via plug-ins and they can mix and match capabilities from any number of collaborators seamlessly within a single environment. Custom user interfaces can also be created to make shared workflows and plug-ins even easier to use.

A major goal is that Workspace should be applicable to many different scientific scenarios - currently Workspace is used in projects as diverse as Image Processing Disaster Management, Human motion.

Project 5 - User-extensible tool that validates workflow flies (.wsx)

Workspace workflows are stored as XML files (often with the extension .wsx, although other extensions are possible.) These files contain entries for all the operations in a workflow along with their input &s; output values and details on all the connections between the operations. This tool needs to be able to understand the structure of this XML and provide the following types of capabilities:

  1. Can "diff" two workflow files. Given two versions of a workflow file the two should be able to provide a list of differences between the two files. Please note: files may functionally be the same even if some/many attributes of the elements differ (e.g. positioning - on the workspace GUI canvas, labels).
  2. Report on erroneous or undesirable configurations. For example, operations with no connections to any other operations are probably an error.
  3. Allow users to specify their own rules that the tool can report on. If a user wants to follow a naming convention then they should be able to specify the convention and have variations reported. For example, if "colour" should allows be spelt as such and not as "color" then the tool should allow a user to specify this.
  4. The tool should suggest practices or patterns that user may adopt (code/style/performance improvements).

Project 6 - License file editor

L4TM is an internally developed licensing system for licensing applications on an application feature basis. Aspects of Workspace are licensed using this technology. The current tool suite is comprised of the following components:

  1. A software vendor generated license file. A file describing one or more application features available for checkout by a license client. Each feature is composed of a set of attributes describing properties of the feature such as license limit, expiry date etc.
  2. A client library to which (a to-be-licensed) application can link. The client library can be invoked, from within application code, to check out application features from a license server.
  3. A license server. A license server is a service that can be installed onto a remote machine for the purposes of serving licenses to one or more license clients as described in the vendor-specific license file installed alongside the license server.
  4. A license file signing tool. A tool that takes as input a license file and generates a digital signature of each license feature. This signature is added as an additional property to the feature so that a feature's authenticity (i.e. whether or not it has been tampered with) can be verified by the license server (the license server accesses this file to serve licensed features to requesting client applications).

The process of adding licensing support to an application is as follows:

  1. A software vendor manually creates a vendor-specific license file describing one or more licensed application features
  2. The vendor then generates an SSL key pair to use to sign the license file using the L4TM key generation tool to ensure it isn't tampered with
  3. The vendor then signs the license file with the generated key pair
  4. The vendor then installs a license server (a TCP/IP based service) onto a machine that is accessible to client machines on which the vendor's (licensed) software is running
  5. The vendor installs their (signed) license file alongside their license server.
  6. The vendor adds licensing checkout api calls into their software to checkout specific features from their license server.

Currently, the process of authoring / licensing the license-file (steps 1 - 3) is manual. The scope of this project is the creation of an application that lets a user graphically create and sign a license file.

Project 7 - Workspace External/Internal portal

The Workspace team requires an externally visible portal to be developed for the product. The portal will:

  1. Describe the purpose and features of Workspace and its plugins
  2. Provide a place to download Workspace
  3. Provide a place to upload/download Workspace plugins
  4. Provide a community forum for users to raise issues and questions
  5. Be visually pleasing and in line with Workspace and CSIRO's visual style and branding guidelines
  6. Handle security for internal and external users accessing the site
  7. Be robust, easy to update and maintain

Project 8 - Tool to monitor externally running batch process

Workspace has several examples of applications that need to launch and monitor a batch sub-process that outputs a sequence of files. The host application needs to provide feedback in its user interface (UI) such as percentage of output files written and the output stream from the batch process. The host application also needs the ability to terminate the running batch process.

The sub-process can run for hours or even days and so it needs to be possible to close the host app, leaving the batch process running, and then restart the host app and reconnect to the running batch process. This project will require the design and implementation of a cross platform wrapper around the batch process that can be connected to via TCP from a host UI component.

Client: Monash Medical Centre


Project 9 - Monash Children's Spina Bifida Data management Project 2013

This project is the continuation of a previous collaborative project between Monash University Clayton School of IT, Southern Health Information Technology and the Monash Children's Spina Bifida clinic team.

A flexible data collection module framework was built. It has the capacity to provide an interactive web based interface for data entry and retrieval. It also has the capacity to search existing data systems through the use of tags to track relevant patient information elsewhere (such as in medical imaging or pathology systems). Through the ability to add "plug ins" the capacity for the system to grow and evolve to the clinics needs over time has been incorporated.

This project gives the honours student team the opportunity to work with the Multidisciplinary Paediatric Spina Bifida Clinic team and Southern Health Information Technology Department. The aim of the project will be to facilitate transition to operations the existing database module that has been developed. There is also the capacity to further refine and develop the module as deemed necessary to help meet the medical team, patient and IT department's needs.

Client: Readify


Project 10 - MIDAS Workflow for the iPhone

MIDAS ( is a locally developed, innovative software solution that automates interpretive reporting across a range of medical procedures including echocardiology, vascular ultrasound, and obstetrics.

We are interested in extending our solution architecture to offer cloud-based services accessed via Apple iPhones.

In broad terms, the project would involve developing an iPhone app that interacts with a MIDAS server to supply the following services to the client physician:

Most of these services are already available on the desktop and web versions of MIDAS. However there are many issues to be managed when developing a cloud-based iPhone app, such as managing the iPhone form factor, transferring data on an as-needed basis to minimize overheads and optimizing the response times generally.

Technical Requirements

As with any mission-critical software, testing is an integral part of the development process. We are interested in working with the team to establish an industrial-strength, agile based process (such as BDD) that incorporates testing as an up-front activity, and demonstrates the quality of the evolving product.

The team will also gain experience with Object-C and iOS.