Article View: comp.lang.eiffel
Article #1647The RA class library for accounting arithmetic -- corrected
From: Colin James III (The Rt Rev'd)
Date: Thu, 29 Jun 1995 00:00
Date: Thu, 29 Jun 1995 00:00
184 lines
6028 bytes
6028 bytes
Description and Request for Comment of the
"RA class library for accounting arithmetic"
--------------------------------------------
1. This is the initial, short description of the RA class library for
accounting arithmetic of reusable software components.
1.1. It is designed using the methodology of Business Object Notation
(BON) and implemented in the computer programming language of Eiffel.
1.2. This is also a request for comment (RFC). Readers may submit
remarks and suggestions to cjames@cec-services.com.
2.1. The reference for the BON method above is: Kim Walden and Jean-
Marc Nerson, "Seamless object-oriented software architecture :
analysis
and design of reliable systems", 1995, Prentice Hall UK, ISBN: 0-13-
031303-3.
2.2. The reference for the Eiffel programming language above is:
Bertrand Meyer, "Object success : a manager's guide to object
orientation, its impact on the corporation and its use for
reengineering
the software process", 1995, Prentice Hall UK, ISBN: 0-13-192833-3.
2.3. Both texts may be obtained through Interactive Software
Engineering Inc. (ISE) of Goleta, CA, telephone 805.685.1006.
3. The name of the library system is "Report Accounts [RA]". The
acronym coincides with the name of the pre-Ptolemaic Egyptian sun god
Ra
because the initial analysis and design was completed in Cairo, Egypt
from June 18/28, 1995.
4. The names of the 4-class library clusters are as follows:
4.1. Ledgers
4.2. Accounts
4.3. Transactions
4.4. Reports
5. The tentative names of some of the features of the algorithms for
accounting arithmetic are as follows:
5.1. entry_type
5.1.1. increase
5.1.2. decrease
5.2. account_part
5.2.1. credit
5.2.2. debit
5.3. account_type
5.3.1. asset
5.3.2. liability
5.4. audit_mode
5.4.1. post
5.4.2. unpost
6. The tentative names of the incomplete list of features for
accounting reports are as follows:
6.1. general_ledger_reports
6.2. financial_reports
6.2.1. balance_sheet
6.2.2. income_statement
6.3. accounts_reports
6.3.1. receivable
6.3.2. payable
6.4. payroll_reports
6.5. depreciation_reports
6.5.1. straight_line
6.5.2. declining_balance
6.5.3. sum_digits_years
6.5.4. units_production
6.5. invoice_reports
7. The structure of the respective files is as follows:
7.1. All transactions, sequential in time [SIT]
7.2. All entry_comments of transactions, SIT
7.2.1. Index on one field/column pointing to records
7.3. All account file names, SIT
7.3.1. Index on one field/column pointing to records
7.4. All CPU names, SIT
7.4.1. Index on one field/column pointing to records
7.5. All transactions, SIT, for each respective account name above in
item 7.3.
7.6. Hence there are 4-main files, 3-index files, and N-account
files.
The file structure is bounded by the number of accounts.
8. The transaction file record currently contains the following
information with field/column name (related object names) and basic
data
type with required bit-widths for a specified range:
8.1. sequence_number (transaction_number) INTEGER 48-bit
8.2. time_stamp (julian_date) REAL 64-bit
8.3. cpu-stamp (multiple_cpu,
parallel_cpu, and
distributed_cpu) INTEGER 40-bit
8.4. file_number (file_name) INTEGER 32-bit
8.5. audit_mode (post, unpost) BOOLEAN 1-bit
8.6. account_type (asset, liability) BOOLEAN 1-bit
8.7. account_part (credit, debit) BOOLEAN 1-bit
8.8. entry_type (increase, decrease) BOOLEAN 1-bit
8.9. entry_amount (transaction_amount) REAL 64-bit
8.10. entry_detail (entry_comment) BOOLEAN 1-bit
8.11. bit_switches (reserved_bits) BOOLEAN 3-bit
8.12. The total size of the transaction record is 256-bits or 32
bytes.
9. The library is being designed to comply with the requirement of
generally accepted accounting principles (GAAP).
9.1. This includes a completely reversible and invertible audit trail
where no transaction record can be changed.
9.2. Line entries in accounts may be changed by first reversing the
respective transaction, then processing a subsequent transaction.
10. All transacting, indexing, posting, and reporting are performed
in
real-time.
10.1. There is no batch processing in the library.
10.2. The index files make use of the Binary Sort Access Method
(BSAM)
which in July, 1995 should be trademark pending and patent pending.
11. Thank you for this opportunity to disclose some of our recent
work.
12. Colin James III, CEC Services, 2080 Kipling St, Lakewood, CO
80215-1502, 303.231.9437, Facs 303.231.9438, cjames@cec-services.com.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Colin James III, Principal Scientist cjames@cec-services.com
CEC Services, 2080 Kipling St, Lakewood, CO 80215-1502 U S A
Voice: 303.231.9437; Facs: .231.9438; ISDN: .462.1107 & .1448
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Technical Details
Message-ID:
<3svchk$eq3@natasha.rmii.com>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1050bd,b1518d6b9a07922e,start X-Google-Attributes: gid1050bd,public X-Google-Thread: fac41,b1518d6b9a07922e,start X-Google-Attributes: gidfac41,public X-Google-Thread: fbe20,b1518d6b9a07922e,start X-Google-Attributes: gidfbe20,public X-Google-Thread: 1108a1,b1518d6b9a07922e,start X-Google-Attributes: gid1108a1,public From: cjames@cec-services.com (Colin James III (The Rt Rev'd)) Subject: The RA class library for accounting arithmetic -- corrected Date: 1995/06/29 Message-ID: <3svchk$eq3@natasha.rmii.com> X-Deja-AN: 105267027 organization: Rocky Mountain Internet Inc. newsgroups: comp.lang.eiffel,comp.os.ms-windows.apps.financial,biz.comp.accounting,comp.object