ASTERIX system design philosophy is described more fully in the reference given below but the essential features are listed here. The functionality of individual applications should be simple and essentially 'atomic' in nature, or at least appear so to the user. To achieve this applications with many options should be avoided and where an application needs to follow different paths this should be driven where possible by the input data. User I/O should be minimised; where possible and sensible the application should take reasonable defaults for parameter values unless explicitly overridden