OpenC2SIM / C2SIMArtifacts

C2SIM Artifacts
MIT License
4 stars 5 forks source link

Time management for C2SIM #30

Open bruno-g opened 2 years ago

bruno-g commented 2 years ago

C2SIM Problem Report / Change Request Submitter Organization: NMSG-145 (Operationalization of Standardized C2-Simulation Interoperability) Date of Submission: 10 June 2022 Type (Problem Report or Change Request): Problem Report Product: C2SIM time management

Reference: NMSG-145 Final Report / Technical report TR-MSG-145, April 2021, Section 5.1, p93 (5-3)

Problem/Change Description: [...] 5.1 LESSONS IDENTIFIED Lesson Identified For CWIX and the MiniEx IssuedTime for orders was largely ignored. Issued time was set to the time the order was pushed to the server. If an order was set with a future timestamp, e.g., 1 hour, would the server hold it for 1 hour then send it, or would the server send it as normal and the sim should hold it for 1 hour? Comment Time management for C2SIM is an area where an understanding how C2SIM systems should implement time-stamping, including developing recommended best practice, dynamic modification of time stamps for a number of use cases: message replay, AAR, FTRT simulation. The C2SIM Core ontology provides for appropriate values of time, but implementation of C2SIM coalitions will have to mature to make effective use of this.

dr-cgf-home commented 2 years ago

This issue refers, I assume, to the C2SIMHeader property hasSendingTime. There was no intent to assign special semantics to this property, so the time that it refers to is the time that the sender sent the message. The server does not interpret messages, in particular with respect to the C2 domain, so it would deliver the message as soon as it could. If there is a C2 functionality that intentionally delivers messages on a schedule, this C2 functionality would be implemented in a C2 system. Note that a server is not required in a C2SIM coalition anyway; C2SIM does not address message passing infrastructure, just message contents and sequences.

dr-cgf-home commented 1 year ago

To express the concept that a task should be performed in the future, one would use the Start Time property of the Task. Otherwise, there is no time indicated in the domain, so Order messages would be executed when appropriate for the domain--likely, as soon as possible.

dr-cgf-home commented 1 year ago

I recommend that the annotation for the hasSendingTime property be extended to state that this time records the "wall clock time" when the message was sent, and has no implications for how the receiver of the message should process the message.

bruno-g commented 1 year ago

I agree with the last comments. But I suggest that the annotation should be set on the property itself, and not on the property restriction (because the property hasSendingTime is used currently only in the class C2SIMHeader). I also suggest that the rdfs:comment annotation of the property hasStartTime indicates if the specified time is a "wall clock time" or is a "simulation/exercice time".