|
|
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 - metrics - 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;