Skip to content

Latest commit

 

History

History
68 lines (49 loc) · 4.31 KB

File metadata and controls

68 lines (49 loc) · 4.31 KB

Examples

Suggested learning path

Work through these in order. Each step builds on the previous one.

1. Understand the concepts

Read Mental model and Main concepts.

2. Create your first package

Follow Create your first package to generate a skeleton, compile it, and run it under a Sen kernel.

3. Work through the examples

The table is ordered by complexity, so working down it is a reasonable path. The numbers are the directory names rather than a sequence, so there are gaps where an example was retired:

# Example What you learn
0 Counter The introductory package built in Getting Started
1 Calculators Basic package, multiple implementations, shell interaction
2 Inheritance STL inheritance, template injection
3 Aircraft HLA FOMs, update() loop, virtual time
4 School Object discovery, events, multi-component
6 Recorder Recording, Python post-processing
7 Replayer Replay with real-time and stepped execution
8 InfluxDB Grafana visualization
9 Request/response servers Method return values, async callbacks, live query objects
10 Python Embedded Python scripting
11 Shapes Interest management, Sen Query Language
12 Fibonacci Deferred methods, load balancing
13 Timer Checked properties, state validation
14 JSON-RPC Exposing a package over JSON-RPC on a WebSocket

4. Go deeper with the how-to guides

Once you are comfortable with the examples, the How-to guides cover specific topics in depth: working with objects, generated code, logging, dead reckoning, and more.

Example applications

Included in the same examples directory, you can find a set of example applications:

Application Description
Web explorer Basic Sen explorer for the web browser
REST Python Python client for the Sen REST component
Recording inspector Reads a recording with the C++ database API

Generated documentation

Sen writes documentation from your interface definitions, so it cannot drift from the code. These two are not packages you can run, unlike everything above: they are what the generators produce, kept here because seeing one is quicker than reading about it.

Reference material