Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

13
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)

description

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). - PowerPoint PPT Presentation

Transcript of Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

Page 1: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

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)

Page 2: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

Session_ClientJoin(user_id)

client_id

Model_RequestAggSolution(client_id, item_ids)

model_agg_solution_id

Session_ClientLeave(client_id)

Model_FetchAggSolution(client_id, model_agg_solution_id)

model

ServerClient

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.

Page 3: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

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_FetchDeaggSolution(client_id, model_deagg_solution_id)

item_ids

ServerClient

Model_RequestDeaggSolution(client_id, model_agg_solution_id)

model_deagg_solution_id

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.

Page 4: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

Entity_RequestAggSolution(client_id, entity_set)

entity_agg_solution_id

Entity_FetchAggSolution(client_id, entity_agg_solution_id)

model

ServerClient

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).

Page 5: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

Entity_QueryAgg(client_id, entity_agg_solution_id, entity_id)

entity_id

Entity_ExtractFromAgg(client_id, entity_agg_solution_id, entity_id)entity_id

Entity_FetchDeaggSolution(client_id, entity_deagg_solution_id)

entity_ids

ServerClient

Entity_RequestDeaggSolution(cilent_id, entity_agg_solution_id)

entity_deagg_solution_id

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.

Page 6: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

Lib_SearchItemsByType(client_id, item_type)

item_ids

ServerClient

Lib_FetchItemByID(client_id, item_id)

item

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.

Page 7: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

ServerClient

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.

Lib_UpdateItemMetadata(client_id, item_type, item_id, metadata)

item_id

Session_FetchHistory(client_id, session_history)

session_history

Lib_AddItem(client_id, item_type, item_name, item)

item_id

Lib_LookupIDByName(client_id, item_name)

item_ids

Page 8: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

Client ServerClient Owner

Session_TransferControlRequest(client_id, transfer_control)

transfer_request_id

Session_TransferControlStatus(client_id, transfer_request_id)

transfer_control Session_TransferControlCheck(client_id)

transfer_control

Session_TransferControlStatus(client_id, transfer_request_id)

transfer_control

Session_TransferControlRequest(client_id, transfer_control)

transfer_request_id

Session_TransferControlRequest(client_id, transfer_control)

transfer_request_id

Session_RegisterEntitiy(client_id, item_id, client_entity_identifier)

entity_id

Session_RegisterEntity(client_id, item_id, entity_identifier)

entity_id

Session_GetEntities(client_id, client_of_interest_id)

entity_set

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.

Page 9: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

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.

ServerClient

Session_LoadSupportAggCheck(client_id)

entity_agg_solution_ids

Session_LoadSupportGetDoctrine(client_id, load_support_id)

Load_support

Session_LoadSupportDeaggCheck(client_id)

entity_deagg_solution_ids

Session_LoadSupportSetDoctrine(client_id, load_support)

load_support_id

Session_TransferControlCheck(client_id)

transfer_control

Page 10: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

Session_GetScoreboard

scoreboard_info

Client Server

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.

Session_SetScoreboardclient_id

Page 11: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

Process()

error_id

Error_GetCode()

error_code

Error_GetString

error_description

Client Server

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.

Page 12: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

Transform_BOM()

model_id

Client Server

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.

Transform_HLAFOM()

model_id

Client Server

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.

Page 13: Methods Code: Model Aggregation Methods (Black) Entity Aggregation Methods (Green)

Logger_SetSettings()

client_id

Logger_GetSettings()

datalog_settings

Logger_SetMode()

logger_mode

Logger_GetMode()

logger_mode

Logger_FetchDataLog()

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.