Générer du code source prêt à la production à partir de diagrammes d'état UML

Sinelabore permet aux développeurs de systèmes embarqués de combiner efficacement l'architecture pilotée par les événements, les machines à états hiérarchiques, la conception basée sur un modèle et la génération automatique de code.

De nombreux systèmes embarqués sont susceptibles d'être implémentés sous forme de machines à états finis. Un système qui doit séquencer une série d'actions ou qui doit traiter les entrées différemment selon le mode dans lequel il se trouve est souvent mieux implémenté sous la forme d'une machine à états finis. Les exemples typiques sont les applications orientées vers la logique de contrôle telles que les applications de mesure, de surveillance et de contrôle.

SinelaboreRT se concentre sur la génération d'un code lisible et maintenable à partir de diagrammes de machines à états UML plats ou hiérarchiques. Grâce à ses caractéristiques uniques, l'outil répond parfaitement aux exigences des développeurs d'applications embarquées en temps réel et à faible consommation d'énergie codant en C / CPP. Le code généré est indépendant du CPU et du système d'exploitation. Pour les applications IoT dont certaines parties sont implémentées en Java / Python / C# / Lua / Rust ou Swift, le code peut également être généré dans ces langages. Le retour sur investissement est généralement immédiat.

 How does the codegen work

Utilisez votre outil de modélisation préféré et générez du code à partir de celui-ci à l'aide d'un outil de ligne de commande facile à utiliser. Ou utilisez l'éditeur intégré pour créer des machines d'état en quelques minutes. Des vérifications automatiques du modèle mettent en garde contre les défauts de conception. Configurez le processus de génération en fonction de vos besoins. Simulez votre modèle. Générer automatiquement le code de traçage si nécessaire. Toutes les principales caractéristiques des diagrammes d'état comme les états hiérarchiques, les régions, l'historique, les sous-machines … sont prises en charge.