You are here: Development Standards > Software Development Utilities

# Software Development Utilities

The following sections describe the coding standards that Open Systems, Inc. uses for the OPEN SYSTEMS Accounting Software (OSAS) line of products written in the Business Basic Extended language.

Language

OPEN SYSTEMS Accounting Software is written in Business Basic, an efficient and powerful tool for building business applications.

Our current language vendor is BASIS International, Ltd.of Albuquerque, New Mexico, whose current interpreters are called Business Basic Extended (BBx) Visual PRO/5 (for Windows), PRO/5 (for other operating systems), and Business Basic Java (BBj) (for all operating systems). BASIS provides a powerful, high-quality version of the Business Basic language.

Memory Allocation Scheme

The memory configuration for OSAS version 7.5 under Pro5 and Visual Pro5 is 1 MB of memory for the combined data and program workspace, which is invoked by using the -m4096 parameter on the BBx command line.

The -m parameter controls the main workspace. If used alone, it contains both programs and data. If used in conjunction with the -p parameter, it contains only data; a separate workspace is created for programs based on the -p parameter. The number following the -m or -p parameters represents the number of memory pages allocated. For example, -m4096 provides pages 0-4095, for a total of 4096 pages; each page is 256 bytes providing for a total memory of 1 MB.

The balance of the available memory is called system memory. It is allocated as it is needed by all the software running on the system. BBx uses space here for many internal purposes. Windows and public programs use space here too.

OSAS task structure, window usage, and public program design run best with a 1 MB main workspace.

The use of memory in the main workspace is dynamic. If a program requiring additional memory is loaded, the interpreter uses all the memory up to the current size of the data. The data area can grow until it reaches the area containing the current program. If the data and program workspaces are separate, each can grow independently to the size of its respective workspace.

Under BBj, no memory configuration is needed, as BBj thru Java handles all memory management.