FlexaWare® SDE – from idea to application in 3 simple steps
You need processing power. Real-time performance. And you want simple programming.
FlexaWare’s software development environment (SDE) is an intuitive graphical tool with predefined and custom building blocks. You can turn ideas into a final product in 3 easy steps. Most distinctly, FlexaWare’s SDE gives insight in how your application runs on the many-core FlexaWare hardware.
Design your application in FlexaWare® SDE
- Assisted by the FlexaWare SDE, convert your application into sets of parallel tasks, and data flows. Being explicit about concurrency and parallelism in your application design allows the SDE to automatically optimize the application for the FlexaWare many-core hardware.
- In the Flexaware SDE, capture your applications graphically or describe them in C using the proprietary FlexaWare API (Application Programming Interface).
- Add predefined building blocks from FlexaWare’s platform library or create your own reusable building blocks to integrate unique functionality.
Result: the initial version of your application.
Get insight in application behavior
- Invisibly, under the hood, the FlexaWare runtime (a “many-core OS”) automatically maps tasks and channels on the FlexaWare hardware. The FlexaWare runtime takes on scheduling, memory allocation and task mapping of your application, and coordinates the information exchange between the processor cores and the external IO.
- The FlexaWare SDE takes in the information from the FlexaWare runtime and shows how the application would behave in real-life conditions. The FlexaWare SDE provides you with insights and suggestions that allow you to review and optimize your application design.
Result: insight in your application.
Finalize your application – and your product
- Run it on the FlexaWare simulator or directly on the hardware.
- Capture performance figures on a live running system for further optimization.
- Explore alternative hardware configurations as your application target.
- Tweak properties of tasks or communication channels to fine-tune.
- Validate the expected data-to-action timing.
Result: the final, optimized version of your application.