220 likes | 318 Views
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
E N D
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
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
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 • fred.wensing@abs.gov.au • michael.cross@abs.gov.au
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