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

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

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件測試之下一代編程范型主要原則

    發布: 2009-9-02 11:23 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 16次 | 進入軟件測試論壇討論

    領測軟件測試網

    回顧一下LOP的理念:使創建DSLs更容易,而這些DSLs將使編寫程序更容易;但就像我已經說明的,LOP中的‘程序’不局限的意味著你用過的典型的 “一堆指令集”的程序;對某個領域中某個問題任何無二義性的解決方案都是‘程序’;因此如果你設想一下“創建新語言”這個領域,那么這個領域中的‘程序 ’,本身就是一種新語言的定義,可以作為一個解決方案來思考,就像任何其它領域的解決方案一樣;

    因此,應用LOP的思想,使“創建新語言”更容易的方法,就是創建一種特定的專注于“創建新語言”這個領域的DSL;通過應用這些language- building DSL,我們可以使制造新語言更容易;讓我們看幾種language-building語言的例子,使你更好的理解它們是如何工作的;這里只是一個概述,以后的文章我會更詳細的描述它們

    Structure Language 

    最小最少,我們需要定義新語言的‘結構’;這是我們何以能夠編寫“精確定義”的程序的原因;語言的結構并不意味著它的文本形式的文法--像我提到過的,這種語言甚至根本就沒有文本表示而只有圖形化表示

    在實踐LOP的時候,大部分情況下,你會工作在兩個層次的編程中:元層次和程序層次;你在元層次中定義語言,在程序層次中編寫程序;當定義一種新語言的結構時,你會使用一種language-structure DSL來定義你的新語言,而這時,你將同時工作在這種language-structure DSL的程序層次和新語言的元層次中

    在MPS 中,程序層次的每個節點都有一種“類型”,簡單的連接到元層次的另一個節點;程序層次的這個節點被稱作這種類型的一個“實例”;元層次中的“類型”節點則定義了這種類型的實例能夠擁有的關系和屬性;描述這種元層次語言結構的語言,就被簡單的稱為“Structure Language”

    用Structure Language定義一種語言的抽象語法,你應該只是枚舉這種語言所有的類型;類型簡單的表示了這種語言支持的特性或者概念;每個概念應該用它的名字、實例的內部屬性、實例與其它節點之間的關系(通常是連接)來定義

    存在兩種可能的關聯;第一種是類似聚合的關聯,它形成了概念模型的父子樹結構;第二種是非聚合的,自由形式的關聯,它可以連接到系統中任何其它的節點;關聯有兩個端點:源和目標;關聯有角色,你可以定義每個角色的名稱、每個端點的多重性,每個目標節點的類型;多重性可以是1, 0..1, 0..n, 1..n等,讓你能夠約束關聯可以創建多少連接;關聯的目標類型可以被用來約束哪些類型的節點可以被連接在一起

    因此,使用新語言編寫程序包括:創建語言中概念的實例、為實例的屬性賦值、根據語言概念定義的關系將程序中的節點連接在一起;所有這些將會被強大的編輯器支持,你能夠為你的語言定義這種編輯器

    Editor Language 

    那么,編寫和操作概念模型的界面應該是什么呢?我們的語言需要幾種類型的編輯器,但是我們不想要一個通用的編輯器;經驗表明通用的編輯器不能像我們希望的那樣有用;我們希望快速的編寫模型,因此我們需要專為我們的語言概念定做的特殊的編輯器;一定程度上,編輯器是語言的一部分,而我們的目標是容易的創建新語言,那么創建新的編輯器也應該很容易;本質上,我們需要一種創建編輯器的語言,在MPS中,它被稱為Editor Language

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品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>