Comment pouvez-vous générer le code d’une State Machine Exécutable pour construire un prototype basé sur le Web?
Enterprise Architect vous permet de modeler, construire et simuler une State Machine Exécutable. Nous utiliserons un exemple de Joueur Audio pour montrer comment vous pouvez modeler le comportement de système et générer le code d’une State Machine Exécutable.
Non seulement la simulation nous aide à mieux comprendre le comportement de système, mais il peut aussi produire le code de Javascript qui nous permet de développer une application Web commode pour un Joueur Audio virtuel.
Dans ce webinaire, vous apprendrez à:
J’ai utilisé Enterprise Architect 13.5, Build 1351.
Le manuel de l’utilisateur d’Enterprise Architect fournit une vue d’ensemble complète de Simulation modèle. Pour plus d’informations, plaisez voir le sujet d’Aide Simulation Modèle.
Génération de Code pour Stateachines Exécutables est supportée dans les éditions Ultimate et Systems Engineering d’Enterprise Architect. Pour référence, voir notre Page de Comparer les Éditions.
Oui. Nous avons utilisé le modèle d’Exemple EA pour votre commodité. Une copie du modèle d’EAEXAMPLE est livrée avec chaque copie d’Enterprise Architect.
Le fichier est EAExample.eap, qui est typiquement trouvé dans l’installation le Répertoire. Sur Windows, un chemin de fichier typique serait:
C:\Program Files (x86)\Sparx Systems\EA
Le Chemin du lecteur de CD Modèle dans leNavigateur de Projet du modèle d’Exemple EA peut être situé:
Example Model.Model Simulation.Executable State Machine.Example: CD Player.CD Player Simulation.
Les capacités de génération de code sont disponibles dans Enterprise Architect 13 et ci-dessus. Enterprise Architect a été capable de simuler une Statemachine pendant quelque temps.
Oui. Nous envoyons par courrier électronique tous les participants enregistrés pour les informer de la publication du webinaire. Le catalogue arrière de tous les webinaires précédents sont disponibles via notre Bibliothèque Webinaire.
Le fichier est EAExample.eap, qui se trouve généralement dans le répertoire d’installation:
C:\Program Files (x86)\Sparx Systems\EA
Le chemin du navigateur de projet peut être situé:
Example Model.Model Simulation.Executable State Machine.Example: CD Player.CD Player Simulation.Simulation et Génération de Code
Cinq langues sont actuellement supportées. Ces langues incluent C, C++, C#, Java et JavaScript.
Oui. Une Expression Régulière et un exemple de CD sont disponibles du sujet d’Aide Exemple: Simulation en HTML avec JavaScript.
ASP.net n’est pas actuellement supporté pour la génération de code automatique d’une Statemachine Exécutable. Cependant, d’autres langues incluant C, C ++, C *, Java et le Javascript sont supportées.
Oui.
Oui. Il y a deux façons:
Oui. Vous pouvez émettre un événement à tous les cas ou envoyer l’événement à un cas spécifique.
Reportez-vous à l’exemple dans le sujet d’aide Exemple: Motifs,Deferred Event.
Pour supporter la génération de code pour des langues plusieurs avec le même modèle, nous avons présenté deux macros:
%SEND_EVENT(Event Name In Quotes, CONTEXT_REF(instance name))%
%BROADCAST_EVENT(Event Name In Quotes)%
Exemple d’utilisation:
%SEND_EVENT("NEW_REQUEST", CONTEXT_REF(server))%
%BROADCAST_EVENT("NEW_REQUEST")%
Vous pouvez définir des opérations avec des paramètres dans la classe (possédant le statemachine), appeler ensuite les opérations dans le comportement de l’état ou l’effet de la transition en spécifiant des arguments.
Pour exemple MyClass
définit une opération int AddTwoNumbers(int MyParam)
et trois attributs: int nOne; int nTwo; int nThree
Maintenant, dans le comportement d’entrée d’un InitState, nous spécifions le code initial comme suit:
nOne = 5;
nTwo = 6;
Dans le comportement d’entrée de MyState, nous spécifions le code initial comme suit:
nThree = AddTwoNumbers(nOne, nTwo);
Lorsque cet état est actif, la valeur d’exécution de:
nThree
sera 11
.
Un Bloc est un type de la Classe, si oui, si vous configurez le Bloc avec les Attributs nécessaires et les Opérations il les utilisera ceux pendant la génération de codes.
La Simulation génère un code basé sur le modèle de Statemachine. Ce modèle peut avoir des déclencheurs. Ces déclencheurs peuvent provenir de périphériques externes comme les PLC, mais vous devez vraiment changer le code généré pour configurer votre interface à ceux-ci.
Consultez la section Utilisation du code existant dans le rubrique d’aide: Génération de code pour Executable Statemachines.
Oui. Ceci est expliqué dans la rubrique d’aide Génération de code pour Statemachines Executable.
Vous devez assurer que vous faites configurer votre génération de code à l’interface avec votre IDE et vous devez changer Element.Language de Javascript à C ++ dans la <<StateMachine<< Exécutable et artefact..
Aussi pour C ++, notez que les instructions utilisent une notation différente:
Javascript: this.currentTrack=0;
C++: this->currentTrack=0;
Vous devez donc modifier ces instructions dans les opérations et les transitions.
Nous envisageons de fournir une nouvelle fonctionnalité pour améliorer cette transition.
Enterprise Architect supporte en avant l’ingénierie de modèles comportementaux. Il ne supporte pas de rétro-ingénierie d’entre ceux pour des raisons évidentes.
Si vous voulez modifier le code, ensuite il est préférable il dans le modèle puis de le générer.
Pas directement dans le cadre du processus de simulation.
Cependant, les diagrammes de séquence peuvent être générés du code utilisant les l’Analyseur d’Exécution Visuel d’Enterprise Architect. Voir le sujet d’Aide Enregistrement.
Si vous mettez à jour le code généré à l’extérieur du modèle alors comme il n’y a aucune rétro-ingénierie de code modèle comportemental, ceci ne sera pas mis à jour dans le modèle. Ainsi, si vous modifiez le code, c’est le meilleur vous ceci faire dans le modèle ou supposer que la modélisation est complète et ceci faire séparément à la modélisation.
Sparx Systems BPSim l’MDG supporte l’analyse statistique de simulations. Comme Statemachines sont plus du minutage, la logique et le débogage ces stats ne sont pas enregistrées pour une simulation de Statemachine Exécutable.
Oui.
Enterprise Architect supporte vraiment l’interface avec OpenModelica pour la simulation Paramétrique SysML. Il ne fournit pas le support d’OpenModelica pour StateMachines Exécutable.
Pour une simulation modèle Comportementale standard dans Enterprise Architect, vous pouvez appeler un diagramme d’Activité d’un État dans un diagramme de Statemachine, dans le cadre de la simulation. Pour la simulation via Statemachines Exécutable - ces seuls supports la génération de code de Statemachines, pas d’autres modèles Comportementaux comme des Activités.
La génération de code modèle comportementale de d’Enterprise Architect supporte vraiment la génération l’Activité, Sequence et Statemachines pour coder. Il ne supporte pas de simulation.
L’Artefact de Statemachine Exécutable peut apparaître redondant en exécutant seulement un cas seul d’une Classe contenant un Statemachine. Le but de l’Artefact est d’assurer que vous pouvez simuler les cas multiples de votre Classe/Statemachine en créant des Artefacts multiples pour couvrir ceux-ci.
Pour des exemples d’utilisation de plusieurs instances, consultez la rubrique d’aide: Exemple Statemachine Executable.
Dans le EAExampe.eap répertoire fourni avec Enterprise Architect.
Voir le fichier EAExampe.eap dans le répertoire ...\Program Files (x86)\Sparx Systems\EA.
Voir le paquetage Example Model.Model Simulation.Executable State Machine.Example: CD Player.
Les Cas de Test automatisés peuvent être générés dans Enterprise Architect de Scénarios de Cas d’Utilisation. Si, dans votre modélisation, vous avez défini un ensemble de Scénarios de Cas d’Utilisation avant et la couverture de la création de votre Statemachines, alors ces Cas de test peuvent être générés des Scénarios pour l’utilisation avec le Statemachines.
Enterprise Architect supporte en avant l’ingénierie de modèles comportementaux. Il ne supporte pas de rétro-ingénierie d’entre ceux pour des raisons évidentes.
Si vous souhaitez modifier le code, il est préférable de le faire dans le modèle et de le générer.
Cependant vous pouvez importer le code, mais on ne le recommande pas.
Oui, utilisant plusieurs artefacts représentant la même statemachine. Pour plus de détails, reportez-vous au sujet d’aide Artefact de Statemachine Exécutable.
Après la génération du code vous pouvez modifier l’utilise cet éditeur de code d’Enterprise Architect et ajouter de nouvelles fonctions ou appeler des fonctions externes comme vous modifieriez un code dans un IDE. Vous pouvez aussi modifier le code dans n’importe quel IDE ou l’éditeur qui supporte votre langue cible
Oui.
Simulation des Statemachines Exécutables est supportée dans les éditions Ultimate et Systems Engineering d’Enterprise Architect. Pour une comparaison détaillée d’éditions d’Enterprise Architect, voir notre Page de Comparer les Éditions.
La génération de Code pour des Statemachines Exécutables est soutenue les éditions Ultimate et Systems Engineering d’Enterprise Architect. Pour une comparaison détaillée d’éditions d’Enterprise Architect, voir notrePage de Comparer les Éditions.
Enterprise Architect supporte l’exportation du modèle au format XMI, mais pas au format JSON.
Oui.
C’est l’exécution du code généré.