DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T V ┃
Length: 6431 (0x191f) Types: TextFile Names: »V«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦bb25a46d4⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦bb25a46d4⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦bb25a46d4⟧ └─⟦this⟧
with ACTION; pragma PRIVATE_EYES_ONLY; with DIRECTORY; with SIMPLE_STATUS; package REQUIREMENTS is subtype COUNT is NATURAL range 0 .. 127; type REQUIREMENT_KIND is (NOT_A_REQUIREMENT, FUNCTIONAL, PERFORMANCE, EXTERNAL_INTERFACE, OPERATIONAL, RESOURCE, QUALIFICATION_TESTING, ACCEPTANCE_TESTING, DOCUMENTATION, QUALITY, SAFETY, RELIABILITY, MAINTAINABILITY, DEVELOPMENT_AND_VERIFICATION, DESIGN_AND_PROGRAMMING, REUSE_AND_COMMONALITY); subtype NON_FUNCTIONAL is REQUIREMENT_KIND range REQUIREMENT_KIND'SUCC (FUNCTIONAL) .. REQUIREMENT_KIND'LAST; subtype VERIFICATION is REQUIREMENT_KIND range QUALIFICATION_TESTING .. ACCEPTANCE_TESTING; subtype DEPENDABILITY is REQUIREMENT_KIND range QUALITY .. MAINTAINABILITY; subtype IMPLEMENTATION is REQUIREMENT_KIND range DEVELOPMENT_AND_VERIFICATION .. REUSE_AND_COMMONALITY; type REQUIREMENT_NUMBER is new POSITIVE; subtype FUNCTIONAL_REQUIREMENT_NUMBER is REQUIREMENT_NUMBER range REQUIREMENT_NUMBER'FIRST .. 9; subtype NON_FUNCTIONAL_REQUIREMENT_NUMBER is REQUIREMENT_NUMBER range FUNCTIONAL_REQUIREMENT_NUMBER'LAST + 1 .. REQUIREMENT_NUMBER'LAST; -- --------------------------- -- ( ) Individual requirements -- --------------------------- type REQUIREMENT (KIND : REQUIREMENT_KIND := NOT_A_REQUIREMENT) is private; subtype FUNCTIONAL_REQUIREMENT is REQUIREMENT (FUNCTIONAL); function RESOLVE (MODEL_GATEWAY_NAME : in STRING; MODULE_ID : in POSITIVE; REQUIREMENT_ID : in REQUIREMENT_NUMBER; ACTION_ID : in ACTION.ID) return REQUIREMENT; function COMMENT (ASA_GATEWAY_NAME : in STRING; ACTION_ID : in ACTION.ID) return STRING; function DIAGNOSIS (REQ : in REQUIREMENT) return STRING; function GATEWAY_FULL_NAME (REQ : in REQUIREMENT) return STRING; function UNIQUE_ID (REQ : in REQUIREMENT) return STRING; function TEXT (REQ : in REQUIREMENT) return STRING; type PERMANENT_REPRESENTATION is array (POSITIVE range 1 .. 4) of INTEGER; function CONVERT (REQ : in REQUIREMENT) return PERMANENT_REPRESENTATION; function CONVERT (REP : in PERMANENT_REPRESENTATION; ACTION_ID : in ACTION.ID) return REQUIREMENT; -- -------------------------- -- ( ) Requirements hierarchy -- -------------------------- type REQUIREMENT_ITERATOR (SIZE : COUNT := 0) is private; function RESOLVE (ASA_GATEWAY_NAME : in STRING; KIND : in REQUIREMENT_KIND; ACTION_ID : ACTION.ID) return REQUIREMENT_ITERATOR; function VALUE (REQS : in REQUIREMENT_ITERATOR) return REQUIREMENT; function DONE (REQS : in REQUIREMENT_ITERATOR) return BOOLEAN; procedure NEXT (REQS : in out REQUIREMENT_ITERATOR); procedure ADD (REQ : in REQUIREMENT; REQS : in out REQUIREMENT_ITERATOR); procedure REMOVE (REQ : in REQUIREMENT; REQS : in out REQUIREMENT_ITERATOR); -- ---------------- -- ( ) Dependencies -- ---------------- type DEPENDENTS (IS_BAD : BOOLEAN) is private; function GET_DEPENDENTS (REQ : in REQUIREMENT) return DEPENDENTS; procedure SET_DEPENDENTS (REQ : in REQUIREMENT; DEP : in DEPENDENTS); procedure ADD (DEP : in out DEPENDENTS; ONTO : in STRING); procedure REMOVE (DEP : in out DEPENDENTS; ONTO : in STRING); function DIAGNOSIS (DEP : in DEPENDENTS) return STRING; -- -------------- -- ( ) Exceptions -- -------------- DEPENDENT_ERROR : exception; REQUIREMENT_ERROR : exception; private package DIR renames DIRECTORY; package DNA renames DIRECTORY.NAMING; type STATUS_KIND is (MODULE_ID_ERROR, DIRECTORY_ERROR, DIRECTORY_NAMING_ERROR, GENERAL_ERROR); type STATUS (KIND : STATUS_KIND := GENERAL_ERROR) is record case KIND is when MODULE_ID_ERROR => null; when DIRECTORY_ERROR => ERROR_STATUS : DIR.ERROR_STATUS; when DIRECTORY_NAMING_ERROR => NAME_STATUS : DNA.NAME_STATUS; when GENERAL_ERROR => CONDITION : SIMPLE_STATUS.CONDITION; end case; end record; type REQUIREMENT (KIND : REQUIREMENT_KIND := NOT_A_REQUIREMENT) is record case KIND is when NOT_A_REQUIREMENT => ERROR : STATUS; when FUNCTIONAL | NON_FUNCTIONAL => ACTION_ID : ACTION.ID; OBJECT : DIR.OBJECT; case KIND is when NOT_A_REQUIREMENT => null; when FUNCTIONAL => ID : FUNCTIONAL_REQUIREMENT_NUMBER; when NON_FUNCTIONAL => null; end case; end case; end record; type REQUIREMENT_LIST is array (COUNT range <>) of REQUIREMENT; type REQUIREMENT_ITERATOR (SIZE : COUNT := 0) is record POS : COUNT := 1; CONTENTS : REQUIREMENT_LIST (1 .. SIZE); end record; type OBJECT_LIST is array (COUNT range <>) of DIR.OBJECT; type OBJECT_LIST_ACCESS is access OBJECT_LIST; pragma SEGMENTED_HEAP (OBJECT_LIST_ACCESS); type DEPENDENTS (IS_BAD : BOOLEAN) is record case IS_BAD is when FALSE => OBJECTS : OBJECT_LIST_ACCESS; when TRUE => ERROR : STATUS; end case; end record; end REQUIREMENTS;