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: 6667 (0x1a0b) Types: TextFile Names: »V«
└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13 └─ ⟦124ff5788⟧ »DATA« └─⟦this⟧ └─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦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;