Instrument assembly, documentation and release

Post on 03-Jan-2016

21 views 2 download

description

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 - PowerPoint PPT Presentation

Transcript of Instrument assembly, documentation and release

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

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