CapitalKnowledge

Capital > SAINT: Behavior Modeling Language > Front Matter > Purpose, Terminology, Conventions

SAINT: Behavior Modeling Language — Overview

Purpose

This manual describes SAINT, the modeling language used to describe component behavior and provide Script Support within analysis tools used with the Capital™ software.

SAINT is used within Dependency Expressions and State Machines to describe the behavior of a component in relation to any inputs, and within the Script Tool to define the manner in which a script should perform an analysis of a design. This manual describes the syntax for actions, conditions, methods, triggers and variables available within SAINT.

Note: this manual, "SAINT: Behavior Modeling Language (Capital), 2512" (© 2025 Siemens, unpublished work), organizes 185 topics across the chapters listed in the table of contents below. Each chapter/topic in this knowledge base corresponds to one or more of these source topics; see _agent-saint-extraction-index.md in the parent capital-docs-kb directory for the complete file-to-topic mapping and current extraction status.

Terminology Used in This Manual

The following are common terms used in this manual to describe parts of the behavioral language.

An Action is part of the behavior language that changes the current state or generates output, e.g. assigns a new value to the resistance of an arc.

A Condition is a part of the language that tests whether a statement is true or false, e.g. a test that current flow is above a specified threshold.

An Object is an element in the language that can be interrogated by conditions and manipulated by actions, e.g. arcs, nodes and properties.

A Method is a special operation for a particular object.

A Trigger is a special condition for a particular object.

Conventions Used in This Manual

Some paragraphs are headed Syntax, Examples, Notes, Methods, Triggers and Caution.

  • Paragraphs marked Syntax highlight the syntactic structure of the statement.
  • Paragraphs marked Examples show basic examples of the syntax of the statements.
  • Paragraphs marked Notes highlight useful additional information.
  • Paragraphs marked Methods show the use of various methods that objects in the language may have.
  • Paragraphs marked Triggers show the use of various triggers that objects in the language may have.
  • Paragraphs marked Caution highlight important information that will avoid problems using the language.

Note: The language for dependency expressions is a subset of the state machine language, therefore this document will focus on the state machine language. Actions are case sensitive. It is important to remember that the semantics of actions are not defined here.

Modeling Component Behavior

This guide is concerned with the language used to define a component's behavior. This language is only used in the Component Model Builder tool. This section is a reference to where and how the language is used within the Component Model Builder.

The source page includes "Figure 1: Component Behavior", a diagram showing a simple representation of the various aspects of a component model (image not reproduced here).

Sub-topics under Modeling Component Behavior: The Component Model Builder, Component Category, Behavior Modeling Type, Component Interface (see capital-saint-component-modeling.md).

Full Table of Contents (185 topics, in document order)

  1. Purpose
  2. Terminology Used in This Manual
  3. Conventions Used in This Manual
  4. Modeling Component Behavior
  5. The Component Model Builder
  6. Component Category
  7. Behavior Modeling Type
  8. Component Interface
  9. Input/Output Properties
  10. Properties of the Current Model
  11. Properties of Other Components (Broadcast Properties)
  12. Dependency Expressions
  13. State Machines
  14. Comments
  15. The Console and Print Action
  16. Console
  17. Print Action
  18. Scalar Declaration Actions
  19. Integer Actions
  20. Integer Object Declaration
  21. Methods for Integer Actions
  22. Triggers for Integer Actions
  23. Boolean Actions
  24. Boolean Object Declaration
  25. Methods for Boolean Actions
  26. Triggers for Boolean Actions
  27. Enumeration Actions
  28. Enumeration Object Declaration
  29. Methods for Enumeration Actions
  30. Triggers for Enumeration Actions
  31. Floating Point Actions
  32. Floating Point Object Declaration
  33. Methods for Floating Point Actions
  34. Triggers for Floating Point Actions
  35. String Actions
  36. String Object Declaration
  37. Methods for String Actions
  38. Triggers for String Actions
  39. Strong Type Checking
  40. Vector Declaration Actions
  41. Array Style Vectors
  42. Table Style Vectors
  43. Arbitrary Style Vectors
  44. Array Actions
  45. Array Object Declaration
  46. Methods for Array Actions
  47. Triggers for Array Actions
  48. Static Arrays
  49. Table Actions
  50. Table Object Declaration
  51. Methods for Table Actions
  52. Triggers for Table Actions
  53. Arbitrary Vector Actions
  54. Arbitrary Vector Object Declaration
  55. Methods for Arbitrary Vector Actions
  56. Triggers for Arbitrary Vector Actions
  57. Enumerations and Arrays
  58. Assign Actions
  59. Assignment
  60. Immediate Assignment
  61. Temporal Labels
  62. Coarse Time and Fine Time
  63. Conditions
  64. Boolean Operators
  65. Mathematical Operators
  66. Binary Operators
  67. Functions for Conditions
  68. Operator Priority
  69. Control Actions
  70. if Action
  71. for Action
  72. foreach Action
  73. while Action
  74. break and continue Actions
  75. after Action
  76. on Action
  77. only once Action
  78. when Action
  79. Functions for Control Actions
  80. Component Objects
  81. Node and Arc Declaration
  82. Methods for Component Objects
  83. Path Objects
  84. Methods for Path Objects
  85. Node Objects
  86. Properties for Node Objects
  87. Methods for Node Objects
  88. Triggers for Node Objects
  89. Arc Objects
  90. Properties for Arc Objects
  91. Methods for Arc Objects
  92. Triggers for Arc Objects
  93. Component Names and Special Characters
  94. Self Objects
  95. Methods for Self Objects
  96. Embedded Objects
  97. Methods for Embedded Objects
  98. Operation Object
  99. Methods for Operation Object
  100. Math Object
  101. Methods for Math Object
  102. Message Passing Via Nodes
  103. Ganged Failure Modes
  104. Physical Bus Failures
  105. Methods for Message Passing via Nodes
  106. Port Objects
  107. Port Object Declaration
  108. Methods for Port Objects
  109. Triggers for Port Objects
  110. Bus Objects
  111. Bus Object Declaration
  112. Bus Message Declaration
  113. Methods for Bus Message Declaration
  114. Triggers for Bus Message Declaration
  115. Bus Methods
  116. write()
  117. read()
  118. retry()
  119. acceptAddress()
  120. rejectAddress()
  121. isDataAvailable()
  122. isDataAvailableOfType()
  123. getUniquieIdOfDataSource()
  124. setReadBufferSize() and setWriteBufferSize()
  125. isReadBufferFull() and isWriteBufferFull()
  126. isReadBufferEmpty() and isWriteBufferEmpty()
  127. flushReadBuffer() and flushWriteBuffer()
  128. setLatency()
  129. setPriority()
  130. addFilter() and removeFilter()
  131. addGlobalFilter() and removeGlobalFilter()
  132. encode() and decode()
  133. getUniqueId()
  134. acceptId()
  135. rejectId()
  136. Bus Triggers
  137. hasDataAvailable()
  138. hasDetectedCollision()
  139. hasReceiptAcknowledge()
  140. hasNoReceiptAcknowledge()
  141. hasWriteBufferOverrun() and hasWriteBufferUnderrun()
  142. hasReadBufferOverrun() and hasReadBufferUnderrun()
  143. hasChanged()
  144. State Machine Objects
  145. Preconditions for State Machine Objects
  146. Actions for State Machine Objects
  147. Conditions for State/Event Referencing
  148. Rules and Actions for State Machine Objects
  149. Simulator Objects
  150. Methods for Simulator Objects
  151. Triggers for Simulator Objects
  152. Subsystem Object
  153. Methods for Subsystem Object
  154. ECAD Object Propeties and Attributes
  155. Constants
  156. Modeling Support
  157. Renaming Action
  158. Sharing Action
  159. Follows Action
  160. Scripting Support
  161. scenario
  162. after
  163. at
  164. Design Object Methods
  165. analyze
  166. hold
  167. setOutput
  168. reset
  169. resetAll
  170. setProperty
  171. override
  172. setFailure
  173. unsetFailure
  174. setStartTime
  175. setSampleTime
  176. setStopTime
  177. monitor
  178. consider
  179. Usage Example – Current Direction Critical Components
  180. Usage Example – Modeling Reactive Component Failures
  181. Methods for Modeling Reactive Component Failures
  182. Usage Example – Multicast Addressing
  183. Usage Example - Embedding a SPICE model within a Capital Analysis model
  184. Usage Example – SAINT Code to Calculate RToPwr and RToGnd for a Consumer Device
  185. Documentation Use and Trademarks (back matter, stub only)

Source: https://docs.sw.siemens.com/en-US/product/861057055/doc/202410078.capital_st_user?audience=external · retrieved Tue Jul 07 2026 00:00:00 GMT+0000 (Coordinated Universal Time)