[ Back ]
type Client_Range is integer;
Num_Clients : Client_Range is 3;
type Diagram_ID is integer;


type Response_Type is enum Node_Added, NodeID_Inactive, New_GraphID,
	List_Of_Titles, List_Of_Objects, Edge_Added,
	Node_Updated, Node_Moved, EdgeID_Inactive, 
        Add_To_InBox end;

type post_statement_referencing_online_info is interface
action out 
  record_pointer_to_online_info(i:integer),
  post_info_as_formal_statement(i:integer);
end;

type formal_discussion is interface
action out 
  post_formal_statement_from_scratch(i:integer),
  post_on_line_reference_statement(i:integer),
  relate_formal_statement_to_discussion(i:integer),
  revise_formal_statement(i:integer),
  retract_formal_statement(i:integer),
  retract_formal_relationship(i:integer);
service PSROI : post_statement_referencing_online_info;
end;

type housekeeping is interface
action out 
  reposition_statement_object(i:integer);
end;

type contribute_to_discussion is interface
action out 
  informal_discussion(i:integer);
service FD : formal_discussion;
service H : housekeeping;
end;

type ask_for_advice_on_formal_discussion is interface
action out 
  unspecified_request_for_help(i:integer),
  focus_on_particular_elements(i:integer),
  focus_on_particular_questions(i:integer);
end;

-- In the following service, all actions are generated by the user
-- (intended to be observed by the concepts-of-operation).

type User_Interface_Layer is interface
action out 
  start_java(i:integer),
  start_browser(i:integer),
  pose_discussion_topic(i:integer),
  join_discussion_session_1(i:integer),
  join_discussion_session_2(D : Diagram_ID; i:integer),
  browse_information(i:integer),
  make_notes(i:integer),
  summarize_discussion(i:integer);
service CD : contribute_to_discussion;
service AAFD : ask_for_advice_on_formal_discussion;
end;

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

type inquiry_diagram_ADT is interface
action out 
  start_belvedere(i:integer),
  reference_this(i:integer),
  new_inquiry_diagram(i:integer),
  list_inquiry_diagram(i:integer),
  open_inquiry_diagram(D : Diagram_ID; i:integer),
  add_node(i:integer),
  add_edge(i:integer),
  update_node(i:integer),
  move_node(i:integer),
  delete_node(i:integer),
  delete_edge(i:integer),
  exit_diagram(i:integer);
end;

type information_search is interface
action out 
  start_netscape(i:integer),
  get_URL(i:integer);
end;

type advice_services is interface
action out 
  request_advice(i:integer);
end;

-- In the following service, all actions are generated by the 
-- concepts-of-operation (intended to be observed by (1) the
-- abstract-implementation).

type Concepts_of_Operation_Layer is interface
service IDA : inquiry_diagram_ADT;
service I_S : information_search;
service AS : advice_services;
action out 
  user_modeling_services(i:integer);
end;
  
-----------------------------------------------------

-- In the following service, actions are generated by the 
-- abstract-implementation and passed back to the 
-- concepts-of-operation and then to the user.

type Pass_Back is interface
action out
   HTMLPage(i:integer), 
   Advice(i:integer), 
   Response(r:response_type; i:integer),
   WebStartup(i:integer), 
   JavaStartup(i:integer);
end;

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

type user_interface is interface
service UIL : User_Interface_Layer;
service COL : dual Concepts_Of_Operation_Layer;
service PB : dual Pass_Back;
action out  Animation_Show(T : string; M : integer; C : string);
end user_interface;


type concepts_of_operation_interface is interface
service UIL : dual User_Interface_Layer;
service COL : Concepts_Of_Operation_Layer;
service PB_IN : dual Pass_Back;
service PB_OUT : Pass_Back; 
behavior
begin
  UIL.start_java() ||> COL.IDA.start_belvedere();;
  UIL.start_browser() ||> COL.I_S.start_netscape();;

  UIL.pose_discussion_topic() ||>
    COL.IDA.new_inquiry_diagram();;

  UIL.join_discussion_session_1() ||>
    COL.IDA.list_inquiry_diagram();;

  (?D in Diagram_ID) UIL.join_discussion_session_2(?D) ||>
    COL.IDA.open_inquiry_diagram(?D);;

  UIL.browse_information() ||>
    COL.I_S.get_URL();;

  UIL.CD.FD.PSROI.record_pointer_to_online_info() ||>
    COL.IDA.reference_this();; 

  UIL.CD.FD.post_formal_statement_from_scratch() OR
  UIL.CD.FD.PSROI.post_info_as_formal_statement() ||>
    COL.IDA.add_node();;

  UIL.CD.FD.relate_formal_statement_to_discussion() ||>
    COL.IDA.add_edge();;

  UIL.CD.FD.revise_formal_statement() ||>
    COL.IDA.update_node();;

  UIL.CD.FD.retract_formal_statement() ||>
    COL.IDA.delete_node();;

  UIL.CD.FD.retract_formal_relationship() ||>
    COL.IDA.delete_edge();;

  UIL.CD.H.reposition_statement_object() ||>
    COL.IDA.move_node();;

  UIL.AAFD.unspecified_request_for_help() ||>
    COL.AS.request_advice();; 

  PB_IN.HTMLPage() ||> PB_OUT.HTMLPage();; 
  PB_IN.Advice() ||> PB_OUT.Advice();; 
  (?R in Response_Type)PB_IN.Response(?R) ||>
     PB_OUT.Response(?R);;
  PB_IN.WebStartup() ||> PB_OUT.WebStartup();; 
  PB_IN.JavaStartup() ||> PB_OUT.JavaStartup();; 

end concepts_of_operation_interface;



[ Back ]

© 1996 TRW Inc. All rights reserved.