DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦7864bfff3⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Mb_Test, seg_03c5a9, seg_03c68f, seg_03c9c4, seg_04a997, seg_04b405

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Text_Io;  
with Mb_Kbs;  
with Mb_Frames;
with Mb_Do_Action;
with Slot;

use Mb_Kbs;  
use Mb_Frames;
procedure Mb_Test is

    procedure Infere is new Kbs.Rule_Base.Infere_With_Conflict_Set
                               (Retrieve  => Kbs.Retrieve,
                                Do_Action => Mb_Do_Action);

    ---------------------------------------------------------------------

    type Response_Type is range 0 .. 21;

    package Response is new Text_Io.Integer_Io (Response_Type);

    The_Response : Response_Type := 1;

    ---------------------------------------------------------------------

    procedure Handle_Choice (The_Response : Response_Type) is
    begin
        case The_Response is
            when 0 =>
                null;
            when 1 =>
                Testcase.Add ((Goal_Type => General,
                               Name      => Slot.Value ("start")));
            when 2 =>
                Testcase.Add ((Goal_Type => General,
                               Name      => Slot.Value ("on_ladder")));
            when 3 =>
                Testcase.Add ((Goal_Type => Goal_On,
                               Name      => Slot.Value ("on_floor")));
            when 4 =>
                Testcase.Add ((Goal_Type => Goal_On,
                               Name      => Slot.Value ("on_floor_satisfied")));
            when 5 =>
                Testcase.Add ((Goal_Type => Goal_On,
                               Name      => Slot.Value ("on_phys_object")));
            when 6 =>
                Testcase.Add ((Goal_Type => Goal_On,
                               Name => Slot.Value ("on_phys_object_holds")));
            when 7 =>
                Testcase.Add ((Goal_Type => Goal_On,
                               Name      => Slot.Value
                                               ("on_phys_object_at_monkey")));
            when 8 =>
                Testcase.Add ((Goal_Type => Goal_On,
                               Name      => Slot.Value
                                               ("on_phys_object_satisfied")));
            when 9 =>
                Testcase.Add ((Goal_Type => Goal_Holds,
                               Name      => Slot.Value ("holds_nil")));
            when 10 =>
                Testcase.Add ((Goal_Type => Goal_Holds,
                               Name => Slot.Value ("holds_nil_satisfied")));
            when 11 =>
                Testcase.Add ((Goal_Type => Goal_Holds,
                               Name      => Slot.Value ("holds_object_ceil")));
            when 12 =>
                Testcase.Add ((Goal_Type => Goal_Holds,
                               Name      => Slot.Value
                                               ("holds_object_ceil_at_obj")));
            when 13 =>
                Testcase.Add ((Goal_Type => Goal_Holds,
                               Name => Slot.Value
                                          ("holds_object_not_ceil_on_ladder")));
            when 14 =>
                Testcase.Add ((Goal_Type => Goal_Holds,
                               Name      => Slot.Value
                                               ("holds_object_not_ceil_at")));
            when 15 =>
                Testcase.Add ((Goal_Type => Goal_Holds,
                               Name => Slot.Value ("holds_object_satisfied")));
            when 16 =>
                Testcase.Add ((Goal_Type => Goal_At,
                               Name      => Slot.Value ("at_monkey")));
            when 17 =>
                Testcase.Add ((Goal_Type => Goal_At,
                               Name      => Slot.Value ("at_monkey_object")));
            when 18 =>
                Testcase.Add ((Goal_Type => Goal_At,
                               Name      => Slot.Value ("at_monkey_on")));
            when 19 =>
                Testcase.Add ((Goal_Type => Goal_At,
                               Name      => Slot.Value ("at_object")));
            when 20 =>
                Testcase.Add ((Goal_Type => Goal_At,
                               Name      => Slot.Value ("at_object_on_floor")));
            when 21 =>
                Testcase.Add ((Goal_Type => Goal_At,
                               Name      => Slot.Value ("at_object_holds")));
        end case;
    end Handle_Choice;



begin
    loop
        Mb_Kbs.Kbs.Fact_Base.Working_Memory.Make_Empty;
        Text_Io.New_Line;
        Text_Io.Put_Line
           ("Choisissez une configuration de depart [1..21]  (0 -> Quit)");
        declare
        begin
            Response.Get (The_Response);
            Handle_Choice (The_Response);
            Infere;
        exception
            when Constraint_Error =>
                Text_Io.Put_Line ("Mauvais choix !!  Recommencez...");
        end;
        exit when The_Response = 0;
    end loop;
end Mb_Test;

E3 Meta Data

    nblk1=7
    nid=6
    hdr6=a
        [0x00] rec0=23 rec1=00 rec2=01 rec3=032
        [0x01] rec0=13 rec1=00 rec2=04 rec3=052
        [0x02] rec0=13 rec1=00 rec2=03 rec3=034
        [0x03] rec0=13 rec1=00 rec2=02 rec3=02c
        [0x04] rec0=1e rec1=00 rec2=07 rec3=000
        [0x05] rec0=01 rec1=00 rec2=04 rec3=001
        [0x06] rec0=14 rec1=00 rec2=00 rec3=01e
    tail 0x2173ac69885b167586197 0x42a00088462063c03
Free Block Chain:
  0x6: 0000  00 05 03 fc 80 03 20 3d 3e 03 00 34 20 20 20 20  ┆       =>  4    ┆
  0x5: 0000  00 00 00 1c 00 19 20 20 20 20 20 20 20 20 20 20  ┆                ┆