130 likes | 318 Views
Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green) Library Support Services (Red) Exercise Support (Blue) Transformation Support (Maroon) Data Logging Support (Gold) Statistics / Scoreboard (Pink) Error Handling (Grey). Session_ClientJoin(user_id).
E N D
Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green) Library Support Services (Red) Exercise Support (Blue) Transformation Support (Maroon) Data Logging Support (Gold) Statistics / Scoreboard (Pink) Error Handling (Grey)
Session_ClientJoin(user_id) client_id Model_RequestAggSolution(client_id, item_ids) model_agg_solution_id Session_ClientLeave(client_id) Server Client Model_FetchAggSolution(client_id, model_agg_solution_id) model Model Aggregation Example: The client joins the network. The client then makes a request for an aggregation solution of item IDs, with a model aggregation solution ID returned. The client then requests the aggregation solution and an XML Composite BOM Assembly is returned. Additional methods that may be called upon once an aggregation solution has been determined, include the ability to append a model via Model_AppendToAgg(client_id, model_agg_solution_id, item_id), extract a model from an aggregation via Model_ExtractFromAgg(client_id, model_agg_solution_id, item_id), and query an aggregation for a model via Mode_QueryAgg(client_id, model_agg_solution_id, item_id). The client is also shown later leaving the network.
Model_QueryAgg(client_id, model_agg_solution_id, item_id) item_id Model_ExtractFromAgg(client_id, model_agg_solution_id, item_id) item_id Model_RequestDeaggSolution(client_id, model_agg_solution_id) model_deagg_solution_id Model_FetchDeaggSolution(client_id, model_deagg_solution_id) item_ids Server Client Model Deaggregation Example: The client queries an existing model aggregate solution, that was previously created, for the existence of a model. They find the model within the aggregation and make a request to remove the model from the aggregation. Later, they request a de-aggregation solution for an existing aggregate which returns a de-aggregation solution ID and then they fetch the de-aggregation solution which is returned to them.
Entity_RequestAggSolution(client_id, entity_set) Entity_FetchAggSolution(client_id, entity_agg_solution_id) entity_agg_solution_id model Server Client Entity Aggregation Example: The client makes a request for an aggregation solution of entity set data, with a entity aggregation solution ID returned. The client then requests the aggregation solution and an XML flyweight BOM container is returned. Additional methods that may be called upon once an aggregation solution has been determined, include the ability to append a entity via Entity_AppendToAgg(client_id, entity_agg_solution_id, entity_set), extract a entity from an aggregation via Entity_ExtractFromAgg(client_id, entity_agg_solution_id, entity_id), and query an aggregation for a entity via Entity_QueryAgg(client_id, entity_agg_solution_id, entity_id).
Entity_QueryAgg(client_id, entity_agg_solution_id, entity_id) Entity_ExtractFromAgg(client_id, entity_agg_solution_id, entity_id) Entity_FetchDeaggSolution(client_id, entity_deagg_solution_id) Entity_RequestDeaggSolution(cilent_id, entity_agg_solution_id) entity_id entity_id entity_ids entity_deagg_solution_id Server Client Entity Deaggregation Example: The client queries an existing entity aggregate solution, that was previously created, for the existence of a entity. They find the entity within the aggregation and make a request to remove the entity from the aggregation. Later, they request a de-aggregation solution for an existing entity aggregate which returns a entity de-aggregation solution ID and then they fetch the entity de-aggregation solution which is returned to them.
Client Lib_SearchItemsByType(client_id, item_type) Lib_FetchItemByID(client_id, item_id) item_ids item Server Library Search Support Example: The client searches the network library for a list of item IDs that match a specific item type. A list of the matching item IDs is returned to the client. The client selects a item ID, and then makes a request to retrieve the item from the library associated with that item ID. The item is then returned to the client. Additional library search methods exist, Lib_SearchItemsByKeywords(client_id, item_type, keywords) to search for keywords that identify the items, Lib_SearchItemsByMetadata(client_id, metadata) to search item metadata for items.
Client Lib_AddItem(client_id, item_type, item_name, item) Lib_LookupIDByName(client_id, item_name) item_id item_ids Lib_UpdateItemMetadata(client_id, item_type, item_id, metadata) item_id Session_FetchHistory(client_id, session_history) session_history Server Library Support Item Management Example: Initially the client has an item name and searches for the item ID within the resource library, which returns an item ID. The client then updates the metadata for that item in the resource library. Later the client makes a request to add a new item to the resource library, which returns an item ID for the new item added. Before leaving the session the client makes a request to fetch the their client session history which is returned to them. Methods to perform similar tasks within the Library Support are Lib_LookupNameByID(client_id, item_id) which will return an item_name for the item_id passed, and Lib_DeleteItem(client_id, item_type, item_id) which will delete an item from the library.
Client Owner Client Server Session_RegisterEntitiy(client_id, item_id, client_entity_identifier) Session_RegisterEntity(client_id, item_id, entity_identifier) entity_id entity_id Session_GetEntities(client_id, client_of_interest_id) entity_set Session_TransferControlRequest(client_id, transfer_control) transfer_request_id Session_TransferControlStatus(client_id, transfer_request_id) Session_TransferControlCheck(client_id) transfer_control transfer_control Session_TransferControlRequest(client_id, transfer_control) transfer_request_id Session_TransferControlStatus(client_id, transfer_request_id) transfer_control Session_TransferControlRequest(client_id, transfer_control) transfer_request_id Session Support Transfer Control Example: Two clients are participating the aggregation network. Each client registers their entities with the network for aggregation management. The first client, requesting client, wants to gain control of a particular entity. The requesting client makes a request to retrieve all the entity information for the clients participating in the network and from this list is able to identify the entity_id, and client_id for the entity that they want to take control of. The client then makes a request for transfer control of that entity from the owner client. The requesting client then continuously monitors the status of the request. The owner client monitors the network for any request made to them to transfer control of an entity. When the owner client identifies that a request has been made they respond to the request by either accepting, denying, or putting the request on hold. In this example they accept the request. The requesting client notices that the status, which they have been monitoring changes, then takes control of the entity by completing the transfer and updating the status to complete. The requesting client now has ownership of the entity. Other Exercise Support methods that may be used are Session_GetClients(client_id) which returns a list of all the client_ids participating in the session.
Session_LoadSupportDeaggCheck(client_id) Session_LoadSupportSetDoctrine(client_id, load_support) entity_deagg_solution_ids load_support_id Session_LoadSupportAggCheck(client_id) Session_TransferControlCheck(client_id) entity_agg_solution_ids transfer_control Session_LoadSupportGetDoctrine(client_id, load_support_id) Load_support Client Server Session Load Support Example: A client retrieves the current load support settings for evaluation. The client makes modifications to the load support settings and resets them. As the exercise progresses the client periodically checks to see if there are any recommended load support solutions. A recommend load support solution may be an aggregation, deaggregation or a transfer of control. All of which can be used to help manage the load balance of the exercise. If a solution exists the client can implement the solution through either the Entity Aggregation methods for an Aggregation/Deaggregation solution or Session Support methods for Transfer Control solution.
Session_SetScoreboard client_id Session_GetScoreboard scoreboard_info Server Client Statistics / Scoreboard Example: A client joins the aggregation network. The client then sets the scoreboard values (initial setup). There is various processing within the simulation. Then the client requests the scoreboard values. The client this exits the network.
Error_GetCode() Process() error_code error_id Error_GetString error_description Server Client Error Handling Example: A client has performed some process that returns an error ID (numeric value). The client passes the error ID to retrieve the Error Code for the ID, and then passes the Error CD to retrieve the error description.
Transform_BOM() Transform_HLAFOM() model_id model_id Server Client Transformation Support BOM Example: The client makes a request to transform a BOM to a different model type. The type is dependent upon the dest_model_type parameter specified. This may include a BOM, a 1.3 compliant FOM, a HLA 1516 compliant FOM, or an HLA Evolved 1516 compliant FOM. The model_id for the new item is returned to the client. Server Client Transformation Support HLA FOM Example: The client makes a request to transform a FOM to a different model type. The type is dependent upon the dest_model_type parameter specified. This may include a BOM, a 1.3 compliant FOM, a HLA 1516 compliant FOM, or an HLA Evolved 1516 compliant FOM. The model_id for the new item is returned to the client.
Logger_SetSettings() client_id Logger_GetSettings() Logger_SetMode() Logger_GetMode() Logger_FetchDataLog() datalog_settings logger_mode logger_mode datalog Client Server Data Logging Support Example: The data logger settings and mode are set, and then the log is retrieved. Later the current settings and mode are retrieved by the client for review.