Instrument assembly, documentation and release Fred Wensing Australian Bureau of Statistics Presented by Michael Cross
Jan 03, 2016
Instrument assembly, documentation and release
Fred Wensing
Australian Bureau of Statistics
Presented by Michael Cross
Session Outline
Introduction Standards Version Control Templates Assembly Packaging Conclusion
Introduction
History All ABS population surveys use Blaise
Why Collection of files for an instrument Needs to be kept together
How Set of standards and utilities
Standards
Single network location Agreed folder structure Protected files Instrument design guidelines
Version Control
Instruments Uses Blaise Project Definition file Can be accessed from the compiled
instrument or metadata Modules
Uses Blaise source code comments Generalised format Used by reporting system
Version comment format
<Version> <dd/mm/yyyy> <Person> <Change>
{************************************************************
Module Name : MPHS04FIN.BLA
Author : Fred Wensing
Update History:
Vsn dd/mm/yyyy Person Change
---- ---------- ------ ------
2.05 26/05/2004 Halls - Add derivation for HoursMainJob
- Deleted edits WTW1, WNM1 and WNM3
2.13 21/06/2004 doylsu - changed 'includes' to point to COMMON
2.14 23/06/2004 doylsu - released with v1.063 using August MPS
**************************************************************}
Templates
Have a number of core instruments Use of tags allows
Instruments to be automatically updated Supplementary surveys to be included without
changes More flexible than Blaise INCLUDE
Single line tag
{>>> <tagname>}
...
USES
SurveyMeta
{>>> META1} 'LFS211'
DATAMODEL mList
Fields
xPSU : STRING[5]
...
Single line tag
{>>> <tagname>}
...
USES
SurveyMeta
{>>> META1} 'LFS403'
DATAMODEL mList
Fields
xPSU : STRING[5]
...
Code segment tag
{>>> INCLUDE <inclname>}
{>>> START <inclname>} <code>{>>> END <inclname>}
Code segment tag xNum2 : TNum99
xChar1 : TString1{>>> INCLUDE SuppFields <<<}
AUXFIELDS
aName, aNamePoss, aIsAreLC, aIsAreUC, aHasHaveLC, aHasHaveUC,
aWasWereLC, aWasWereUC, aDoesDoLC, aDoesDoUC, aVerbEnd : STRING
xNum2 : TNum99
xChar1 : TString1
{>>> START SuppFields <<<} {v3.14 04/04/2004}
INCLUDE "INCLUDE\Usualwork.bla"
FIELDS
Usualwork : BUsualwork
{>>> ENDOF SuppFields <<<}
AUXFIELDS
aName, aNamePoss, aIsAreLC, aIsAreUC, aHasHaveLC, aHasHaveUC,
aWasWereLC, aWasWereUC, aDoesDoLC, aDoesDoUC, aVerbEnd : STRING
Assembly
Automates assembly of templates and tag values into a compiled instrument
Simple Maniplus interface to manage Templates Tag set definitions Generation of operation program Extraction of includes from an existing
program
The main interface
Tag set definitions
Usage
Program generation Generate a program from a Template Extract included code from a program
Modes Interface Scripted call
Packaging
Ensure all required elements are included in a release
Release version matches Source version Creates Zip archive file of Program and
Source Can report on
Common modules used Local module details and edits
The main interface
Conclusion
The system ensures Reliable and easy instrument package
production Integrated version control
But relies upon Good user practices
Facilitated by Simple utilities
Thanks
www.abs.gov.au [email protected] [email protected]
Introduction
Survey Instruments Consist of a package of compiled files Need to contain all required elements
ABS Solution Use a partially automated system to manage
Assembly Packaging Release
Code segment tag
{>>> INCLUDE <inclname>}
xNum2 : TNum99
xChar1 : TString1{>>> INCLUDE SuppFields <<<}
AUXFIELDS
aName, aNamePoss, aIsAreLC, aIsAreUC, aHasHaveLC, aHasHaveUC,
aWasWereLC, aWasWereUC, aDoesDoLC, aDoesDoUC, aVerbEnd : STRING
Code segment tag
{>>> START <inclname>} {>>> END <inclname>} xNum2 : TNum99
xChar1 : TString1
{>>> START SuppFields <<<} {v3.14 04/04/2004}
INCLUDE "INCLUDE\Usualwork.bla"
FIELDS
Usualwork : BUsualwork
{>>> ENDOF SuppFields <<<}
AUXFIELDS
aName, aNamePoss, aIsAreLC, aIsAreUC, aHasHaveLC, aHasHaveUC,
aWasWereLC, aWasWereUC, aDoesDoLC, aDoesDoUC, aVerbEnd : STRING