Forum: PC-Programmierung VisualState Statemachine optimieren


von Johannes (Gast)


Lesenswert?

Guten morgen,
ich arbeite mit VisuaState von IAR (Version 6.4). Leider ist unser 
Projekt so groß geworden (Sehr viele States und innere Regionen), dass 
die Code-Generierung über 10 minuten dauert. Das nervt dann schon nach 
einer weile.
Da ich nirgendwo Informationen finde, wie man es optimieren kann, stelle 
ich hier mal die ein oder andere Frage. Vielleicht kennt ja jemand 
dieses Tool und hat nützliche Tipps für mich.

Ist es möglich, dass Projekt in mehreren Systemen aufzuteilen, sodass 
man die Codegenerierung für die einzelnen Systeme getrennt starten kann 
(Die Systeme sind allerdings voneinander abhängig (also es müssen 
Signale oder events getriggert werden))
z.B. System_1, System_2, System_3, wobei System_3 Signale und Events aus 
System_1 benötigt.

Was ist besser für die Codegenerierung? Viele States in einer Region mit 
einer Transitionsbedingung oder Ein State mit vielen 
Transitionsbedingungen?
z.B. Wenn x=1 dann state_1, wenn x=2 dann state_2 usw.
oder wenn x=1 oder x=2 dann state_1

Was ist besser, ein State mit mehreren Regionen, oder für jede Region 
einen eigenen State aufsetzen?
z.B. State_1 hat Region_1 und Region_2 oder ein eigenen STate für 
Region_1 und einen eigenen State für Region_2?

ich habe hier jetzt immer nur mit 2 Elementen beispiele gemacht, in 
unserem projekt sind es aber bis zu 15. Sowohl Transitionensbedingungen 
als auch Regionen in einem State und dann meistens so 5-6 States in 
einer Region.

Gruß
Johannes

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hast Du schon mal versucht, dass als Bug beim Hersteller ein zu kippen?

Beitrag #5395771 wurde von einem Moderator gelöscht.
Beitrag #5395785 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.