|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 8192 (0x2000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Requirements, pragma Segmented_Heap Object_List_Access, seg_01077a
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦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;
nblk1=7 nid=0 hdr6=e [0x00] rec0=1e rec1=00 rec2=01 rec3=006 [0x01] rec0=19 rec1=00 rec2=02 rec3=012 [0x02] rec0=15 rec1=00 rec2=03 rec3=030 [0x03] rec0=1b rec1=00 rec2=04 rec3=036 [0x04] rec0=22 rec1=00 rec2=05 rec3=05c [0x05] rec0=22 rec1=00 rec2=06 rec3=010 [0x06] rec0=22 rec1=00 rec2=07 rec3=000 tail 0x2150c078282307721ab01 0x42a00088462060003