• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 關于Visual Studio DSL改善狀態機實例說明(1)

    發表于:2010-03-29來源:作者:點擊數: 標簽:狀態DSLStudioVisualvisual
    關于Visual Studio DSL改善狀態機實例說明(1) 軟件測試 文章將主要介紹Visual Studio DSL的一些基本的知識,包括域類,域關系,圖形符號,圖形映射等,雖然這些東西看起來有些抽象,但是其是 開發 我們自己的Visual Studio DSL之前必須要掌握的。 Vistual St

      關于Visual Studio DSL改善狀態機實例說明(1)  軟件測試

      文章將主要介紹Visual Studio DSL的一些基本的知識,包括域類,域關系,圖形符號,圖形映射等,雖然這些東西看起來有些抽象,但是其是開發我們自己的Visual Studio DSL之前必須要掌握的。

      Vistual Studio DSL是微軟針對特定領域開發而專門設計的,其主要作用是允許開發人員自行設計專屬的圖形化工具,DSL是微軟為特定領域開發的方面會用到的工具。

      在前幾節中,我們以創建的默認項目介紹了Visual Studio DSL的一些基本的知識,包括域類,域關系,圖形符號,圖形映射等,這些東西看起來可能會有些抽象,和我們第二節介紹的需求還沒有直接關系,不過這些概念確實我們開發我們自己的Visual Studio DSL之前必須要掌握的。

      如果你對我們將要做的這個實際的案例的需求并不是很了解,請仔細需求一下我們這個狀態機的需求.如果你第一次看這一系列,或者是對這些基礎概念還不是很熟悉,建議你看一下前面的幾節基礎知識。首先,按照第三節創建一個Minimal Lanauge模板項目,打開DSLDefinition.DSL文件:

      1. 把根域類ExampleModel的名稱修改StateMachine.同時簽入關系ExampleModelHasElements也會自動重命名為StateMachineHasElements.

      2. 修改域關系StateMachineHasElements左側的域角色Elements的屬性名(Property Name 注意不是修改Name--域角色名)改成States.同時簽入關系StateMachineHasElements自動更新為StateMachineHasStates. [你也可以直接在域角色上點擊修改,因為圖的域角色上顯示的是屬性名而非角色名).

      3. 修改域關系StateMachineHasStates的右側已經更名的域角色StateMachine,修改屬性Name為State.[注意,這里修改的是Name,而不是Property Name].

      4. 修改域類ExampleElement的Name為State。

    修改域類ExampleElement

      注意這里是基于模板項目進行更改,當然,你也可以刪除這些自動生成的域類而是全新重新添加.另外或許你對這里的屬性名(property name)和域角色名(name)有些迷惑,請看前面的詳細區分。其實到這一步我們已經完成了狀態機與狀態之間元數據的DSL描述,接下來我們來完成狀態之間的關系。

      5.我們可以看到,圖中的State與State之間已經是引用關系,這正是我們想要的,我們修改關系StateReferencesTargets為Transition。

      6.修改Targets為屬性名為Suclearcase/" target="_blank" >ccessors,域角色名為Predecessor。

      7.修改Sources的屬性名為Predecessors,域角色名為Successor。

    修改Sources的屬性名

      同樣,如果不是基于修改,而是重新添加域類也是完全可以的,我們接下來給域類添加一些屬性:

      8.給域關系Transition右鍵添加域屬性(DomainProperty)Event,Condition,Action,Label.類型都為string?,F在來看一下我們的DSL,狀態機StateMachine,狀態State.State之間的有引用關系Transition,也就是我們需求中描述的轉移,它的屬性也就是狀態機元數數據---事件Event,警戒條件Condition,操作Action。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>