Ir al contenido principal

Metamorph: How to create the Hello World’s state Diagram in Enterprise Architect

In order to use a State Diagram modeled in Enterprise Architect you have to do following steps:

  • Create a new Enterprise Architect project or open an existing one.
  • Create two new packages called HelloWorld and Turnstile.

1.StateMachinePackage

  • The results should look like this (ignoring any other project packages):

2.ResultingTree

  • Right click Turnstile Package and click on add a new element.

3.CreateElement

  • Choose the StateMachine type from the drop down list.

4.CreateStateMachineElement

  • Write Turnstile in the name field and click Ok.

5.ChooseName

  • Double click on the Turnstile StateMachine Diagram:

6.ResultingTree

  • Add an Initial State from the toolbox.

7.CreateInitialState

  • Add a state from the toolbox and type Locked in the name field.

8.FirstState

  • Add the Unlocked state by following the same step as above, the results should look like this:

9.AllStates

  • Add the transitions as shown in the following diagram:

10.AllTransitions

  • Double click on the transition that goes from Locked to Unlocked and type “coin” in the Link name field.

11.TransitionName

  • Do the same for the other transitions as shown in the following diagram:

12.AllTransitionNames

  • Double click on the transition called coin and type Metamorph.Examples.HelloWorld.UnlockCondition in the guard field and Metamorph.Examples.HelloWorld.UnlockAction in the effect field.

13.TransitionActionCondition

  • Do the same for the following transitions:
Source Target Transition Action
Locked Locked pass Metamorph.Examples.HelloWorld.SoundAlarmAction
Unlocked Locked pass Metamorph.Examples.HelloWorld.LockAction
Unlocked Unlocked coin SendMessageAction

The results should look like this:

14.AllTransitionActionsConditions

  • Select the Turnstile Package created earlier and click on the Export package to XMI file menu item

15.SelectExport

  • Type the file name and folder in the Filename field. The dialog box should look like this:

16.Export

Click on the Export button.

  • Finally we need to convert the StateMachine.xmi to a format that Metamorph undestands. In order to do this one final step is required.
    • Find the Uml2Xml Converter console application located in the Metamorph distribution under Support Tools.
    • Execute the following command line: Uml2XmlConverter C:\ StateMachine.xmi StateMachine.xml

OK. We are good to go :D

Comentarios

Entradas populares de este blog

Exposing Reactjs component methods to Javascript or non-reactjs applications

blog-static-generator-new If you want to integrate your javascript or non-reactjs application with a reactjs app and be able to access reactjs components and call their methods to execute actions or get information out of them, in this quick tips episode, you will learn how. Above is the vid and below you will find some useful notes. 1. Pre-reqs Have node.js installed 2. Exposing React JS to Javascript or non-reactjs applications ...

How to copy files from and to a running Docker container

Sometimes you want to copy files to or from a container that doesn’t have a volume previously created, in this quick tips episode, you will learn how. Above is the vid and below you will find some useful notes. 1. Pre-reqs Have Docker installed 2. Start a Docker container For this video I will be using a Jenkins image as an example, so let’s first download it by using docker pull docker pull jenkins/jenkins:lts ...

Brighten Up Your AEM Assets: How to Configure Default Backgrounds and Transparent Modes in Adobe Dynamic Media

Introduction The Importance of a Good Background Defining Your Default Background in AEM Defining Your Default Background in Dynamic Media Classic Transparent Images with fmt=png-alpha Explicit Background Colors with ?bgc Final Thoughts Introduction Welcome to our deep dive into the wonderful world of image backgrounds! In this post, we're going to explore how to configure Dynamic Media Classic in Adobe Experience Manager (AEM) to not only define a default background image but also how to get your images to pop with ...