This file is part of the OpenJAUS HTML JAUS Reference.
Please support AS-4 JAUS and SAE by purchasing the corresponding Standard Document(s) from SAE International here.

Home / Core_v1_1ServiceSet / AccessControl


Version: 1.1
ID: urn:jaus:jss:core:AccessControl
Inherits From:
extended byurn:jaus:jss:core:Events v1.1
extended byurn:jaus:jss:core:Transport v1.0

The Access Control service offers a basic interface for acquiring preemptable exclusive control to one or more related services that utilize this function. Once the exclusive control is established, the related services shall only execute commands originating from the controlling component. The authority code parameter of this service is used for preemption and is to be set equal to that of its controlling client. This service always grants control to the highest authority client that is requesting exclusive control. Commands from all other clients are ignored unless from a client with higher authority.

This service maintains two values, a default value and a current value of a field called authority code. The default value is the value that the service is pre-configured with. Access is provided to clients based on the value of their authority code in comparison to the current value of this service.

State transitions between the Available and NotAvailable nested states are behaviors that are deferred to service definitions that derive from this service.

Internal Event Set
ID Name
8D01h AccessControlTimeout

Message Set
Message ID Name
000Fh ConfirmControl
2001h QueryAuthority
200Dh QueryControl
2003h QueryTimeout
0010h RejectControl
000Eh ReleaseControl
4001h ReportAuthority
400Dh ReportControl
4003h ReportTimeout
000Dh RequestControl
0001h SetAuthority

State Machine Diagram

AccessControl State Machine Diagram
State Transitions
Label Transition Trigger Conditional Actions
C AcceptControlTransition RequestControl !isDefaultAuthorityGreater resetTimer , sendConfirmControlAccepted , setAuthority , storeAddress
D ControlledLoopback RequestControl isCurrentAuthorityLess && !isControllingClient resetTimer , sendConfirmControlAccepted , sendRejectControlToController , setAuthority , storeAddress
RequestControl !isCurrentAuthorityLess && !isControllingClient sendConfirmControlInsufficientAuthority
RequestControl !isDefaultAuthorityGreater && isControllingClient resetTimer , sendConfirmControlAccepted , setAuthority
SetAuthority isControllingClient && isAuthorityValid setAuthority
A DefaultStateLoop QueryAuthority sendReportAuthority
QueryTimeout sendReportTimeout
QueryControl sendReportControl
ConfirmControl updateControlledList
RejectControl updateControlledList
B NotControlledLoopback RequestControl isDefaultAuthorityGreater sendConfirmControlInsufficientAuthority
ReleaseControl sendRejectControlReleased
E ReleaseControlTransition ReleaseControl isControllingClient sendRejectControlReleased
RequestControl isDefaultAuthorityGreater && isControllingClient sendRejectControlToController
AccessControlTimeout sendRejectControlReleased

Action Name Type Description
init Entry Action Set the service’s current authority value to the default authority value
resetTimer Reset the timer
sendConfirmControlAccepted Send a confirm control message with the specified response code to requesting client
sendConfirmControlInsufficientAuthority Send a confirm control message with the specified response code to requesting client
sendReportAuthority Send Action Send a Report Authority message to querying client reporting the current authority value of this service
Output Message: ReportAuthority
sendReportControl Send Action Send a Report Control message with the specified control value
Output Message: ReportControl
sendReportTimeout Send Action Send a Report Timeout message specifying the timeout period of this service
Output Message: ReportTimeout
setAuthority Set the current authority value of this service to the specified authority
updateControlledList Modifies list of controlled components based on confirm or reject messages

Copyright © SAE International. Reprinted with Permission.
Portions Copyright © OpenJAUS LLC.
The information above is generated from the JAUS Services modelled in the OpenJAUS SDK using OpenJAUS Service Studio. It is provided as a resource to assist JAUS developers and is not a substitute for the JAUS Standards Documents which may be obtained from the SAE International.

Generated on 07/17/2019 from as5710-core.ojss