The ADEPT software platform automates and simplifies common real-time computing tasks so that your team can focus on your area of expertise. ADEPT and the rtxd have been carefully matured over decades of real-time applications to handle the complexities of low-jitter, real-time execution points for your models with easy access to physical I/O, shared data throughout the entire framework and real-time data acquisition with comprehensive real-time performance monitoring statistics built-in.
The ADEPT framework operates on a client-server architecture. Client tools are provided for project framework development, operation, and automation analysis. A real-time executive server daemon, the rtxd, provides a set of optimized real-time Linux services with a multi-processor, multi-server distributed real-time computing and data handling architecture. By keeping client and server functions separated, model test assets are easily reused throughout the program lifecycle, as they are not tied to complex hardware configurations. The computing demands on the servers are not burdened with functions that can be completed on the client, maximizing computational resources and enabling real-time operation.
While ADEPT can be integrated into the most complex workflows, there are four basic steps to most ADEPT projects: build, deploy, operate and analyze.
During the build step, ADEPT-DE is used to create a framework, add a project for each target rtx server(s), then add model assemblies to the projects for each of the models and simulations to include in the framework. Once an rtx server is assigned to a project, you can drag I/O from the logical devices of that server to data ports in your model assemblies. If you have a distributed framework, i.e. a framework with more than one rtx server, you can even drag-and-drop data across model assemblies on different rtx servers and ADEPT will automatically handle transferring the data at the appropriate rate during runtime. This is also the time when graphical operator interfaces are designed and connected to framework data.
Once your framework is created, ADEPT-DE is used to cross-compile your models and the ADEPT runtime code (including all the performance optimized micro-services built-into rtxd) for your specified target rtx servers. Now you have a compiled ADEPT framework package that can be deployed to your rtx server(s)!
Deploying an ADEPT framework package to your rtx server(s) is accomplished by the ADEPT-VI tool. Since the framework is built for specific rtx server(s), the framework knows the IP address, I/O and other properties of all rtx server(s) in the framework. This allows ADEPT-VI to open a secure connection to all of the framework servers for deployment and other services. Once ADEPT-VI is connected to the servers, it verifies the rtxd version on each and automatically updates it if necessary. Then with one-click, ADEPT-VI deploys the updated framework to all of the rtx servers. Once all of the framework files have been deployed and verified, the framework goes into a wait-state where synchronized model execution is ready to go on all rtx servers with a single command.
After the framework has been deployed to the rtx server(s), the framework is run by clicking “Go” in ADEPT-VI. Now that the framework is running, all the rtx servers are synchronized in real-time and sharing data as designed during the build step. During operation, ADEPT-VI provides a current status for each server, as well as elapsed run time and access to the data browser, which enables unobtrusive inspection and modification of any data on any of the servers in the framework, including the built-in performance monitoring statistics. However, the statistics also have their own view to visualize the real-time performance of any of the servers.
Now that the framework is running, all operator interface panels that are part of the framework are now active and ready for real-time visualization and interaction with the framework data. This visualization includes displaying digital values, gauges and indicators and the interaction includes toggle buttons, sliders and numeric entry fields.
Data acquisition is also available when the framework is running. Each of four data acquisition channels can be configured for data rate (every frame or multiples thereof), which data are included and whether the channel is active or not. Data acquisition configurations can even be updated during runtime.
To analyze your data, ADEPT-GD provides highly configurable real-time charting, analysis and reporting capabilities. With both live data strips charts and X-Y plots, ADEPT-GD offers a highly responsive way to see what is going on in your framework in real-time, as well as advanced Python automation to generate sophisticated reports that include charts and graphs and automated data analysis.
ADEPT-GD utilized the data acquisition channel data that was setup in ADEPT-VI. Any data from any of the active data acquisition channels can be plotted in real-time in ADEPT-GD.
Python automation enables ADEPT-GD to automate the following activities:
Collecting results and including in reports
Saving plots, charts and graphs for importing into reports
Advanced data analysis harnessing the power of SciPy and NumPy
Updating repositories with results
Updating dashboards with status and results
ADEPT-GD also offers a convenient way to save a dataset that contains the data streamed by one of the active data acquisition channels. Datasets are stored in XDR format by default, but can be exported in MAT or CSV formats if preferred. Once a dataset is saved, it can then be replayed in ADEPT-GD for offline review and analysis.