CADM in WebKB-2


This file represents the CADM model with the FO+FCG language. Statements/commands are in the courier font. They are enclosed within the XHTML marks <KR> and </KR> to permit WebKB-2 to distinguish them from regular text.
You can make WebKB-2 load this file and execute the commands in it, by clicking here.
This file is executed in the name of the user cadm (who has no password yet).

no "already the case" warning; //when the file is reloaded
/*
"no storage;" would be the instruction to use during the development of the file
    since its knowledge representations must not be committed into the KB before
    they are all considered correct (in order to avoid removal operations).
    Note: until the content of the file is committed, the new categories exist in
    the KB only during the parsing of the file and hence these categories cannot
    be browsed via the search menus or the hyperlinks given below.
*/



Table of contents

  1. Concept types
  2. Relation types
  3. Schemas



1.  Concept types

cadm#thing (^CADM top concept type^)
 < pm#Domain_object,
 > {cadm#action cadm#task cadm#period cadm#document cadm#specification cadm#organization
    cadm#technology cadm#technology_issue cadm#capability cadm#facility cadm#association
    cadm#materiel_item cadm#node cadm#network
    cadm#quantity cadm#date cadm#name cadm#code cadm#descr_text};

   cadm#action (^an activity^) //this annotation comes from CADM
    < #action, //link to WordNet
    > cadm#planned_action;

      cadm#planned_action //annotations of categories other than cadm#action need to be typed in
       > {cadm#project cadm#analysis_process}; //{..} because subtypes are exclusive in IDEF1X

      cadm#project < #task;

   cadm#task < #task;
   cadm#period < #time_period;
   cadm#document < #document;

   cadm#specification
    < #spec, //subject_matter
    > {cadm#agreement cadm#specification_and_solution
       cadm#architecture cadm#architecture_finding /*cadm#node?*/ cadm#information_asset
       cadm#plan cadm#system cadm#standard_profile
       cadm#mission cadm#mission_area cadm#functional_area cadm#operational_scenario};

      cadm#agreement
       < #understanding,
       > cadm#standard;

      cadm#specification_and_solution
       < #solution, //subject_matter
       > {cadm#guidance cadm#project_analysis_result cadm#analysis_process_result};

         cadm#guidance
          > cadm#requirement;

            cadm#requirement
             > {cadm#info_exch_requirement cadm#exchange_need_line_req};

      cadm#architecture
       > {cadm#system_architecture cadm#operational_architecture cadm#technical_architecture};

      cadm#architecture_finding
       < kads#finding, //relevant?
       > {cadm#architecture_issue cadm#architecture_constraint cadm#architecture_inpact
          cadm#architecture_recommendation};

      cadm#information_asset
       //no more: < #information #hypothesis.concept,
       > {cadm#conceptual_data_model cadm#activity_model};

      cadm#system < #system; //#group; is it a specification, a software or a physical entity?

      cadm#plan < #plan; //undirectly cited in Fig 2: "architecture_plan"

      cadm#mission_area < #area.topic;
      cadm#functional_area < #area.topic;

   cadm#technology < #technology;
   cadm#technology_issue < #issue;

   cadm#organization < #organisation; //arrangement (if social_group instead: < #organization)
   cadm#capability < #capableness;
   cadm#facility < #facility;
   cadm#association < #association.relation; //relevant? what is an "association" in CADM?

   cadm#materiel_item
    < #item,
    > {cadm#equipment_type cadm#software_item};

   cadm#node < #node.electronic_computer; //or < cadm#spec ?
   cadm#network < #computer_network, p cadm#node;

   cadm#quantity
    < #measure,
    > {cadm#unit_cost_amount cadm#nominal_users_quantity};

   cadm#date
    < #date,
    > {cadm#approval_date cadm#publication_date cadm#completion_date};

   cadm#name //instead of names, relations to additional entities could (should?) be used
    < #name,
    > {cadm#abbreviated_name cadm#notation_name cadm#version_name cadm#acronym};

   cadm#code //instead of codes, relations to additional entities could (should?) be used
    < #code,
    > {cadm#document_code cadm#action_code cadm#view_type_code cadm#time_frame_type_code
       cadm#role_code cadm#mode_code};

       cadm#document_code
        > {cadm#security_classification_code cadm#routing_code cadm#caveated_security_id};

       cadm#action_code
        > {cadm#action_verb_code cadm#priority_code cadm#status_code};

   cadm#descr_text
    < pm#string pm#thing_that_can_be_seen_as_a_relation,
    > {cadm#purpose_descr cadm#architecture_descr cadm#explanation_text};

      cadm#architecture_descr
       > {cadm#objective_text cadm#scope_text};


? - > cadm#thing;



2.  Relation types

cadm#time_frame (?, cadm#period) < pm#relation;
cadm#begin_date (cadm#period -> pm#time_measure) < pm#relation_to_time;
cadm#end_date (cadm#period -> pm#time_measure) < pm#before;

cadm#subordinate (?,?) < pm#part; //pm#part may not be relevant



3.  Schemas

//I have not listed the "is associated with" relations of Fig. 3. I do not know what they mean.
//Relations of type pm#relation may be used instead.


[any cadm#thing (^$(no inheritance)$ ^),//no inheritance of the relations from pm#thing
     may be pm#descr_in: a cadm#document,
     may have for pm#descr: a pm#string,
     may have for #code: a #code,//"type/category/role code/name" in Fig 1,2,3
     may have for #name: a #name]; //in Fig. 2 and 3, not all CADM entities
       //have a name or a description relation to a document but I suspect this is to keep
       //the figures clear


[any cadm#period, cadm#begin_date: a pm#time_measure, cadm#end_date: a pm#time_measure];


[any cadm#document,
     may have for cadm#security_classification_code: a cadm#security_classification_code,
     may have for cadm#caveated_security_id: a cadm#caveated_security_id,
   //may have for cadm#category_code: a cadm#category_code,//this is cadm#code (inherited)
     may have for cadm#routing_code: a cadm#routing_code,
     may have for cadm#abbreviated_name: a cadm#abbreviated_name,
     may have for cadm#time_frame: a cadm#period,
     may have for cadm#approval_date: a #date,
     may have for cadm#publication_date: a cadm#publication_date,
     may have for dc#Source: a pm#string,  may have for owl#version_info: a pm#string,
     may have for #notation: a #notation];


[any cadm#action, may have for cadm#action_verb_code: a cadm#action_verb_code,
                //may have for cadm#category_code: a cadm#category_code,
                  may have for cadm#priority_code: a cadm#priority_code,
                  may have for cadm#status_code: a cadm#status_code,
                  pm#from_time: a pm#time_measure, pm#until_time: a pm#time_measure,
                  may have for pm#result: a cadm#document,
                  may have for pm#instrument: a cadm#organization,//in Fig.2 but not Fig.3
                             //pm#agent instead if cadm#organization < #group, not #arrangement
                  may have for pm#instrument: a cadm#network,
                  may have for cadm#activity_model: a cadm#activity_model];

  [any cadm#planned_action, may have for cadm#purpose_descr: a pm#string];//+ above attr. inherited

    [any cadm#project, may have for pm#result: a cadm#project_analysis_result];
    [any cadm#project_analysis_result,
                  may be pm#descr of: a cadm#project,
                  may have for cadm#information_asset: a cadm#information_asset,
                  may have for #date: a #date,
                  may have for cadm#role_code: a cadm#role_code];

    [any cadm#analysis_process, may have for pm#result: a cadm#analysis_process_result];
    [any cadm#analysis_process_result, may be pm#descr of: a cadm#system,
                                       may have for pm#reference: a cadm#project_analysis_result,
                                       may have for #date: a #date, 
                                       may have for cadm#role_code: a cadm#role_code];

[any cadm#task, //may have for pm#kind: cadm#action, //not if the two are exclusive
                may have for pm#agent: a cadm#node,
                may have for pm#input: a cadm#information_asset,
                may have for cadm#system: a cadm#system,
                may have for cadm#mission_area: a cadm#mission_area,
                may have for cadm#mission: a cadm#mission,
                may have for cadm#requirement: a cadm#requirement];


[any cadm#agreement, may have for #solution: a cadm#guidance,
                     may be #spec of: a cadm#architecture];

[any cadm#guidance, may be #solution of: a cadm#agreement,
                    may be #spec of: a cadm#architecture,
                    may be pm#definition of: a cadm#mission_area,
                    may have for cadm#organization: a cadm#organization];

  [any cadm#requirement, may be #spec of: a cadm#system,  may be #spec of: a cadm#capability,
                         may be #spec of: a cadm#materiel_item,  may be spec of: a cadm#task,
                         may have for cadm#mission_area: a cadm#mission_area,
                         may have for cadm#information_asset: a cadm#information_asset];


[any cadm#architecture,
       may have for cadm#view_type_code: a cadm#view_type_code,
       may have for cadm#time_frame_type_code: a cadm#time_frame_type_code,
       may have for cadm#time_frame: a cadm#period,
       may have for cadm#completion_date: a cadm#completion_date,
       may have for cadm#objective_text: a pm#string,
       may have for cadm#scope_text: a pm#string,
       may have for cadm#organization: a cadm#organization,//if arrangement
       may have for cadm#plan: a cadm#plan,
       may have for #spec: a cadm#agreement,
       may have for cadm#guidance: a cadm#guidance,
         may have for cadm#requirement: a cadm#requirement,//redundant with above line?
       may have for cadm#functional_area: a cadm#functional_area,
       may be pm#recipient of: a cadm#task,
       may be pm#input_output of: a cadm#project,
       may be cadm#subordinate of: a cadm#association, 
       may have for cadm#subordinate: a cadm#association,
       may be cadm#subordinate of: a cadm#architecture_finding, 
       may have for cadm#subordinate: a cadm#architecture_finding,
       may be pm#descr of: a cadm#node];

  [any cadm#system_architecture, may be #spec of: a cadm#system];

  [any cadm#technical_architecture, may have for cadm#standard_profile: a cadm#standard_profile];

  [any cadm#operational_architecture, may be #spec of: a cadm#mission];
                                //or: may have for #mission: a cadm#mission //which one?
  [any cadm#mission, may have for cadm#mode_code: a cadm#mode_code,
                     may have for cadm#abbreviated_name: a cadm#abbreviated_name,
                     may have for cadm#operational_architecture: a cadm#operational_architecture,
                     may have for cadm#operational_scenario: a cadm#operational_scenario,
                     may be cadm#mission of: cadm#organization];


[any cadm#architecture_finding, may have for cadm#priority_code: a cadm#priority_code,
                                may have for cadm#abbreviated_name: a cadm#abbreviated_name,
                                may have for cadm#explanation_text: a cadm#explanation_text,
                                may have for #date: a #date,
                                may be cadm#subordinate of: a cadm#association,
                                may have for cadm#subordinate: a cadm#association,
                                may be cadm#subordinate of: a cadm#architecture,
                                may have for cadm#subordinate: a cadm#architecture,
                                may be pm#contribution of: a cadm#analysis_process_result,
                                may be pm#object of: a cadm#action];

  [any cadm#architecture_issue, may be result of: a cadm#technology,
                                cadm#technology_issue: a cadm#technology_issue]

  [any cadm#architecture_constraint, may have for cadm#guidance: a cadm#guidance];


[any cadm#system, may have for cadm#acronym: a cadm#acronym,
                  may have for cadm#version_name: a cadm#version_name,
                  may have for cadm#purpose_descr: a pm#string,
                  may have for cadm#unit_cost_amount: a cadm#unit_cost_amount,
                  may have for cadm#nominal_users_quantity: a cadm#nominal_users_quantity,
                  may have for cadm#system_architecture: a cadm#system_architecture,
                  may have for cadm#analysis_process_result: a cadm#analysis_process_result,
                  may have for cadm#requirement: a cadm#requirement,
                  may have for cadm#information_asset: a cadm#information_asset,
                  may have for cadm#standard: a cadm#standard,
                  may have for cadm#functional_area: a cadm#functional_area,
                  may have for cadm#capability: a cadm#capability,
                  may be #spec of: several cadm#materiel_item,//"several" may be used elsewhere too
                //or: have for pm#part: several cadm#materiel_item, if cadm#system is not a spec.
                  may be cadm#system of: a #node,//and hence cadm#network
                  may be cadm#system of: a cadm#task,
                  may be cadm#system of: a cadm#organization];

  [any cadm#functional_area, may have for cadm#mission: a cadm#mission,
                             may have for cadm#mission_area: a cadm#mission_area,
                             may be cadm#functional_area of: a cadm#system,
                             may be cadm#functional_area of: a cadm#organization,
                             may be pm#part of: a cadm#functional_area];


[any cadm#node, pm#part of: a cadm#network,
                may be pm#part of: a cadm#organization,
                may be have for #facility: a cadm#facility,
                may be pm#agent of: a cadm#task,
                may have for cadm#activity_model: a cadm#activity_model,
                may have for pm#descr: a cadm#architecture,
                may have for cadm#information_asset: a cadm#information_asset,
                may have for cadm#system: a cadm#system];

[any cadm#network, pm#part: a cadm#node,  may be part of: an #organization,
                   cadm#capability: a cadm#capability,  #spec: a cadm#standard];


? [a cadm#thing];