TWI396133B - 程式碼自動生成裝置及方法 - Google Patents
程式碼自動生成裝置及方法 Download PDFInfo
- Publication number
- TWI396133B TWI396133B TW95139147A TW95139147A TWI396133B TW I396133 B TWI396133 B TW I396133B TW 95139147 A TW95139147 A TW 95139147A TW 95139147 A TW95139147 A TW 95139147A TW I396133 B TWI396133 B TW I396133B
- Authority
- TW
- Taiwan
- Prior art keywords
- code
- module
- state
- modules
- generating
- Prior art date
Links
Landscapes
- Stored Programmes (AREA)
Description
本發明是有關於一種程式碼生成裝置及方法,且特別是有關於一種嵌入式系統之程式碼自動生成裝置及方法。
隨著科技的日新月異,嵌入式系統已經逐漸普及至一般日常生活中,小至電子體溫計,大至飛機的導航系統,甚至是一般的家庭電器,像是洗衣機、電視機及音響等等,都可算是嵌入式系統的應用之一。而這些機器的內部構造除了硬體的組成外,也必須搭配上軟體的控制才能夠發揮出其應有之效果。
不同之機器可能具有多種不同之組態、操作系統,也可能需要使用不同的程式語言來設計軟體。然而,一般的軟體開發人員並非精通每一種語言或操作系統,因此在對陌生的機器或操作系統進行軟體之開發時,往往需要先花費時間及精力去熟悉此語言或操作系統。此外,當要將嵌入式系統移植至另一個平台時,使用者還必須要熟悉兩個平台間的差異,以及所移植平台使用之語言編碼,如此將導致時間與成本上的浪費。
在過去,嵌入式系統一般都是透過語言編碼進行應用設計,因此使用者必須非常熟悉目標平台之特性和語言使用之規範,相對的也提高設計的門檻,若在編寫程式的過程中發生錯誤,往往需要在大量的程式碼中尋找錯誤所在,不僅費時費力,也會花費較長的開發週期。
針對上述種種問題,最近則發展出一種組態軟體,使用者僅需在單一的組態軟體中開發設計程式,就可以在各式各樣的硬體環境上運作,不需要重新編寫程式給不同的硬體平台。然而,組態軟體雖然易用性能佳,但僅能提供有限的功能,只要目標系統稍微變化,則往往需要重新設計。此外,使用組態軟體生成程式碼之方法,通常僅適用於單一功能亦或是局部程式,因此使用者還必須將此程式碼與自身開發之程式碼做一整合工作,仍舊會浪費不少開發時間。
有鑑於此,本發明的目的就是在提供一種程式碼自動生成裝置,藉由流程圖模組、狀態圖模組及過程圖模組分別定義出程式的架構及內容,並由程式碼生成模組據以生成程式碼,達到簡化程式碼開發程序之目的。
本發明的再一目的是提供一種程式碼自動生成方法,透過圖形化的開發環境,提供使用者快速編輯流程圖、狀態圖及過程圖之內容,而不需要使用語言編碼,因此可以加快程式開發的速度。
本發明提出一種程式碼自動生成裝置,此裝置包括一個流程圖模組、一個狀態圖模組、一個過程圖模組以及一個程式碼生成模組。流程圖模組係用於定義多個輸入設備及輸出設備的配置及屬性,而狀態圖模組係用於定義多個狀態,以及這些狀態之間的狀態轉換關係。另外,過程圖模組則係定義上述之每一個狀態所對應的過程圖,而每一個過程圖還包括定義多種類別模組,以及這些類別模組之間的連結關係及執行順序。
此外,程式碼生成模組係依照流程圖模組所定義之輸入設備及輸出設備的配置及屬性生成程式碼,再依照狀態圖模組所定義之狀態及狀態轉換關係生成程式碼,並且將所生成之程式碼插入輸入設備及輸出設備的程式碼之間,以及依照過程圖模組定義之各個狀態中的類別模組及其連結關係生成程式碼。
依照本發明的較佳實施例所述程式碼自動生成裝置,上述之流程圖模組中包括一個初始化單元,係用於定義系統初始化及使用者初始化之設定。
依照本發明的較佳實施例所述程式碼自動生成裝置,上述之狀態圖模組更包括選擇多個狀態其中之一作為目前狀態。此時,狀態圖模組即根據目前狀態及這些狀態轉換關係,判斷所要執行的下一狀態。
依照本發明的較佳實施例所述程式碼自動生成裝置,上述之類別模組還包括一個設備模組,其係對應於流程圖模組所定義之多個輸入設備及輸出設備其中之一。另外,這些類別模組還包括一個邏輯運算模組,此邏輯運算模組係定義各個類別模組間資料處理之邏輯運算功能。而此邏輯運算功能包括加、減、乘、除或查表功能等。
依照本發明的較佳實施例所述程式碼自動生成裝置,上述之過程圖模組中的執行順序係依據這些類別模組間輸入輸出的依賴關係所定義。
依照本發明的較佳實施例所述程式碼自動生成裝置,其中更包括一個邏輯驗證模組,係用於流程圖模組、狀態圖模組及過程圖模組設定完成之後,進行邏輯驗證程序,以判斷先前設定之邏輯是否正確。
本發明提出一種程式碼自動生成方法,此方法包括下列步驟,首先定義一個流程圖,此流程圖包括至少一個輸入設備、一個狀態機及至少一個輸出設備的配置及屬性。接著定義一個狀態圖,其中包括每一個狀態機的多個狀態,以及這些狀態之間的狀態轉換關係。然後分別針對每一個狀態,定義其過程圖,此過程圖包括多種類別模組,以及這些類別模組之間的連結關係與執行順序。最後則依照上述的流程圖、狀態圖及過程圖,生成程式碼。
依照本發明的較佳實施例所述程式碼自動生成方法,其中在定義流程圖的步驟之前,更包括設定系統初始化及使用者初始化的環境。
依照本發明的較佳實施例所述程式碼自動生成方法,上述之定義狀態圖之步驟還包括選擇這些狀態其中之一作為目前狀態,以及根據此目前狀態及先前定義之狀態轉換關係,判斷所要執行的下一狀態。
依照本發明的較佳實施例所述程式碼自動生成方法,其中定義過程圖之步驟包括:設定至少一個設備模組,此設備模組係對應於流程圖中所定義之輸入設備及輸出設備其中之一,並且設定至少一個邏輯運算模組,其係定義這些類別模組間資料處理之邏輯運算功能,以及設定這些設備模組與這些邏輯運算模組之間的連結關係。
依照本發明的較佳實施例所述程式碼自動生成方法,其中生成程式碼之步驟包括:首先依照流程圖之定義生成程式碼,接著依照狀態圖之定義生成程式碼,且將此狀態圖之程式碼插入流程圖中輸入設備及輸出設備所生成的程式碼之間,並且依照所定義之每一個過程圖,生成這些狀態之中各個類別模組及其連結關係之程式碼。
依照本發明的較佳實施例所述程式碼自動生成方法,其中在定義過程圖的步驟之後更包括執行邏輯驗證程序,以判斷先前定義之流程圖、狀態圖及每一個過程圖的邏輯是否正確。
本發明係採用逐層設計之方法,讓使用者自行定義流程圖、狀態圖以及過程圖,從架構設計至核心定義,再到局部功能描述,皆採用直覺的圖形化介面,相當容易上手,且在定義完上述之流程圖、狀態圖及過程圖後,便能夠自動生成一組完整之程式碼,快速而便利。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
本發明結合了語言編程的靈活性及組態軟體的易用性,使用直觀的圖形化開發環境代替語言編程,而能夠更貼近軟體的開發流程。為了使本發明之內容更為明瞭,以下特舉實施例作為本發明確實能夠據以實施的範例。
圖1是依照本發明較佳實施例所繪示的程式碼自動生成裝置方塊圖。請參照圖1,程式碼自動生成裝置100包括流程圖模組110、狀態圖模組120、過程圖模組130及程式碼生成模組140。
流程圖模組110係用於定義出多個輸入設備及多個輸出設備之配置及屬性,使用者利用流程圖模組110設定目標系統所需之輸入與輸出設備,以印表機系統的開發為例,使用者可定義其輸入設備為送紙匣,而其輸出設備為出紙匣。
請繼續參照圖1,流程圖模組110另外還包括一個初始單元,係用於定義系統初始化及使用者初始化之設定。舉例來說,就如同當印表機連接電源啟動時,會先進行一連串準備動作,例如將墨水匣移至適當位置,等待使用者開始列印。
狀態圖模組120則係用於定義多個狀態,以及這些狀態之間的狀態轉換關係,意即設定目標系統之輸入及輸出設備之間狀態轉換之過程。以印表機系統的開發為例,使用者可設定墨水匣移動狀態及噴墨狀態等多個狀態,以及這些狀態之間的狀態轉換關係。而在定義完這些狀態之後,便去選擇其中一個狀態作為目前狀態,再根據目前狀態與其它狀態之間的狀態轉換關係,判斷所要執行的下一狀態。就印表機列印動作而言,假設目前狀態為移動墨水匣,則根據此移動墨水匣狀態及其狀態轉換關係,可判斷出下一狀態為噴墨狀態。
而過程圖模組130係定義每一個狀態所對應的過程圖,其中包括定義多種類別模組,以及這些類別模組之間的連結關係與執行順序。舉例來說,在以狀態圖模組120定義噴墨狀態之後,使用者便可利用過程圖模組130進一步定義噴墨狀態之行為細節,像是如何讀取及生成文字或圖形之過程。
另外,過程圖模組130定義之類別模組可以是一個設備模組或是一個邏輯運算模組。其中,設備模組係對應於流程圖模組110所定義之輸入設備或是輸出設備,而邏輯運算模組則係用於定義每一個類別模組間資料處理之邏輯運算功能,且此邏輯運算功能包括加、減、乘、除或查表功能等等,並不限制其範圍。此外,過程圖模組130還包括會依據這些類別模組間輸入輸出的依頼關係定義其執行順序。
舉例來說,就印表機內部軟體設計而言,利用流程圖模組110定義印表機的輸入設備為送紙匣,輸出設備為出紙匣,因此在過程圖中,送紙匣與出紙匣就屬於設備模組,而在這兩個設備模組之間,所要執行之文字或圖形點陣圖的運算就屬於邏輯運算模組。
程式碼生成模組140係依照流程圖模組110所定義之輸入設備及輸出設備之配置及屬性生成程式碼,且依照狀態圖模組120所定義之狀態及狀態轉換關係生成程式碼並插入至輸入設備及輸出設備的程式碼之間,以及依照該過程圖模組130定義之狀態中之類別模組及其連結關係生成程式碼。
舉例來說,例如先依照流程圖模組110定義之印表機送紙匣及出紙匣設備,生成送紙匣及出紙匣偵測程序之程式碼。接著將狀態圖模組120所定義墨水匣移動狀態及噴墨狀態,以及這些狀態轉換關係亦生成程式碼,並將此程式碼插入至送紙匣及出紙匣的程式碼之間。再依照過程圖模組130定義之每一個狀態之中各個類別模組及其連結關係生成程式碼,例如將噴墨狀態中定義之墨水匣移動模組、送紙模組及資料讀取模組等生成程式碼。
值得一提的是,在流程圖模組110、狀態圖模組120及過程圖模組130設定完成後,可先利用一個邏輯驗證模組進行邏輯驗證程序,以判斷先前設定之邏輯是否正確,而能夠確認目前作法之可行性,此一動作能夠在生成程式碼之前就先找到錯誤所在,並且加以修正,不僅簡化了除錯之步驟,亦降低了開發之風險。
圖2是依照本發明較佳實施例所繪示的程式碼自動生成方法流程圖。請參照圖2,首先定義流程圖(步驟S210),此步驟反映出最外層之行為,同時也是整個程式執行過程的主要架構。為了更明確的表達上述概念,以下再以簡單圖式說明,圖3是依照本發明較佳實施例所繪示的流程圖示意圖。請同時參照圖2及圖3,其中在步驟S210之前必須先設定系統初始化及使用者初始化的環境310,另外步驟210更包括定義至少一個輸入設備320、一個狀態機330及至少一個輸出設備340的配置及屬性。
請參照圖3,本實施例利用流程圖300導向使用者應用描述,並在這一層次規定目標應用中最基本的表象行為。一開始先設定初始化環境310,其中包括使用者選擇的IC(Integrated Circuit)類型、目標系統應用之類型以及使用者自行定義之初始化等。之後,再根據選擇的設備,使用者自行定義輸入設備320及輸出設備340之配置及屬性,再藉由狀態機330去執行內部過程,最後將上述之一連串關連動作執行之結果,輸出至輸出設備340上,完成主循環。
請參照圖2,在定義流程圖(步驟S210)之後,接著便是定義狀態圖(步驟S220),狀態圖係定義出整個系統內部狀態轉換之過程。為了更明確的表達上述概念,以下再以簡單圖式說明,圖4是依照本發明較佳實施例所繪示的狀態圖示意圖。請同時參照圖2、圖3及圖4,狀態圖400為系統核心描述所在,其中包括定義狀態機330的多個狀態(410~430),以及每一個狀態之間的多個狀態轉換關係。
請參照圖3及圖4,首先根據輸入設備320之動作,在狀態410~430中選擇一個作為目前狀態,例如假設在本實施例中是選擇狀態410作為目前狀態,接著根據目前狀態410及與其目前它狀態相連結之間的狀態轉換關係,判斷所要執行的下一狀態。假設此處判斷的結果為狀態420,如此一來,狀態420便成為下一個要執行的狀態。
請參照圖2,在定義狀態圖(步驟S220)之後,接著便是定義過程圖(步驟S230),此步驟係進一步定義狀態圖中每一個狀態之行為細節,意即每個狀態(410~430)皆對應一個過程圖。為了更明確的表達上述概念,以下再以簡單圖式說明,圖5是依照本發明較佳實施例所繪示的過程圖示意圖。請同時參照圖2、圖4及圖5,本實施例係為針對狀態410所定義之過程圖。其中包括定義有類別模組,這些類別模組則包括有設備模組510、520及540及邏輯運算模組530。
請參照圖5,設備模組510及520係對應流程圖300中定義之輸入設備320,而設備模組540則係對應輸出設備340。另外,邏輯運算模組530係定義類別模組間資料處理之邏輯運算功能,且此邏輯運算功能包括加、減、乘、除或查表功能等等,然不限制其範圍。設備模組510及520所輸出的資料經由邏輯運算模組530運算之後,其結果將由設備模組540輸出。
請同時參照圖2~圖5,在步驟S210~S230執行完畢之後,最後依照上述定義之流程圖300、狀態圖400及每一個狀態對應之過程圖500,生成程式碼(步驟S240)。其中,首先根據流程圖300之定義生成程式碼,如圖3所示,先設定初始化環境310,其中包括依照使用者選擇的IC類型及目標應用類型等生成程式碼,之後則根據使用者選擇的輸入設備320生成程式碼,例如根據鍵盤設備生成鍵盤掃描程序之程式碼。而此開放給使用者選擇之配置選項都能在函式庫中找到,使用者只需從函式庫中呼叫出對應之程式碼,即可生成程式碼,接著狀態機330之程式碼則在下一層次生成,而輸出設備340部份程式碼生成與輸入設備320相似,不再贅述。
接續上層程式碼生成之後,依據狀態圖400之定義生成狀態機330之程式碼,並將生成之程式碼插入至輸入設備320與輸出設備340的程式碼之間。此處程式碼之生成分為兩個部份,其中之一係狀態轉換的程式碼,透過各狀態410~430及其之間的轉換關係生成程式碼,並確定下一個狀態;另外一部份係當下一個狀態確定之後,將此狀態設為目前狀態,同樣生成一組分支結構程式碼,並跳轉至對應的過程圖500程式碼中。
過程圖500的程式碼生成係根據各類型模組間的連結關係組成,此連結關係傳達了過程圖500中資料流(Data Flow)及控制流(Control Flow)的關係,利用演算法來生成過程圖500之程式碼。
舉一個演算法的例子說明,首先收集連接訊息,亦即收集所有模組其輸入點及輸出點之間的相互連結關係,並將訊息儲存。接著將所有的模組按照生成順序排序,換言之便是依據其輸入及輸出點的連接關係排序。假設一個模組中只有一個輸出點,則將與此輸出點連接之所有輸入點皆設為”已解決”(Resolved),並將此模組依序加入至新的序列中,同時自原序列中刪除。
此外,當一個模組中所有輸入點皆被設為”解決”,則可將此模組之所有輸出點設為”已解決”,這也代表所有與此模組輸出點相連之輸入點也可設為”已解決”,而在設定完成後則可將此模組加入至已排序的序列中。經由上述設定、加入、再設定的步驟逐步設定原序列中的模組,直到所有模組都從原序列中移轉至新序列為止。
最後則按照上述中新序列之順序,各自生成程式碼,程式從上往下執行,整體順序按照模組排序順序執行,其中模組間的連接和接口係由返回(Return)程式碼執行。
由上述可知,程式碼之生成係依照流程圖300、狀態圖400及過程圖500之順序,並參考應用平台之函式庫,進而自動生成一組完整之程式碼。
為了更清楚地說明上述實施例的內容,以下再舉一個生活上的實例詳加說明。以設計洗衣機的應用程式為例,必須先定義洗衣的流程圖,其中包括設定按鍵及注水孔為輸入設備,而排水孔及馬達為輸出設備,則洗衣之過程為狀態機,其中初始化環境係設定為亮起電源燈號。
接著定義狀態圖(步驟S220),設定狀態包括注水狀態、洗濯狀態及排水狀態,接著定義各個狀態間之連結關係,其關係為注水狀態連結至洗濯狀態,而洗濯狀態連結至排水狀態,另外排水狀態連結至注水狀態及停止狀態。當按下洗衣按鍵之後,目前狀態為注水狀態,下一狀態為洗濯狀態,當洗濯完畢之後,其下一狀態為排水狀態,而因洗衣過程結束之後,必須再注入一次清水沖洗掉泡沫,為此接著之下一狀態為再一次連結至注水狀態進行第二次循環,當第二次循環過程進行至排水狀態後,則排水狀態便連結至停止狀態。
然後分別針對每一個狀態,定義過程圖(步驟S230),即係分別對注水狀態、洗濯狀態及排水狀態定義其過程,以及依照演算法排序這些狀態的生成順序,然後依據此順序生成程式碼。
值得一提的是,在步驟S240之前,更包括執行邏輯驗證程序,以判斷先前定義之流程圖300、狀態圖400及每一個狀態對應之過程圖500的邏輯是否正確,因此在生成程式碼前便能進行邏輯上之除錯。舉例來說,使用一個前視圖(Front View)來進行邏輯驗證之動作,例如使用一種視覺化面板,上面設有一些模擬的按鍵、燈號或開關,此面板之邏輯設定與上述需要驗證之邏輯觀念相同,利用此前視圖,可在程式開發前進行邏輯驗證,亦即藉由面板上之模擬按鍵、燈號或開關之操作與模擬結果之顯示,驗證邏輯觀念是否正確。
綜上所述,本發明之程式碼自動生成裝置及方法至少包括下列優點:1.使用圖形化開發功能取代語言編碼,使得程式碼易於開發設計,簡化維護程序。
2.利用在生成程式碼之前先進行邏輯驗證,以降低開發風險並簡化除錯過程。
3.開發過程極少涉及平台之特性,因此無須熟悉另一平台其語言編程之特性,使得開發週期縮短。
4.只需要提供不同平台之函式庫,而不需更改設計之架構及邏輯觀念,方便移植至任一平台。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...程式碼自動生成裝置
110...流程圖模組
120...狀態圖模組
130...過程圖模組
140...程式碼生成模組
300...流程圖
310...初始化環境
320...輸入設備
330...狀態機
340...輸出設備
400...狀態圖
410~430...狀態
500...過程圖
510、520、540...設備模組
530...邏輯運算模組
S210~S240...本發明較佳實施例之程式碼自動生成方法的各步驟
圖1是依照本發明較佳實施例所繪示的程式碼自動生成裝置方塊圖。
圖2是依照本發明較佳實施例所繪示的程式碼自動生成方法流程圖。
圖3是依照本發明較佳實施例所繪示的流程圖示意圖。
圖4是依照本發明較佳實施例所繪示的狀態圖示意圖。
圖5是依照本發明較佳實施例所繪示的過程圖示意圖。
S210~S240...本發明較佳實施例之程式碼自動生成方法的各步驟
Claims (16)
- 一種程式碼自動生成裝置,適於生成一目標系統的程式碼,包括:一流程圖模組,適於定義該目標系統中多個輸入設備及多個輸出設備的配置及屬性;一狀態圖模組,適於定義多個狀態,以及該些狀態之間的多個狀態轉換關係;一過程圖模組,適於定義每一該些狀態所對應的一過程圖,而該過程圖包括定義有多種類別模組,以及該些類別模組之間的一連結關係與一執行順序;一程式碼生成模組,適於依照該流程圖模組所定義之該些輸入設備及該些輸出設備的配置及屬性生成程式碼,依照該狀態圖模組所定義之該些狀態及該些狀態轉換關係生成程式碼並插入該些輸入設備及該些輸出設備的程式碼之間,以及依照該過程圖模組定義之各該些狀態之中該些類別模組及其連結關係生成程式碼,其中該程式碼生成模組更包括一邏輯驗證模組,適於在該流程圖模組,該狀態圖模組及該過程圖模組設定完成後,進行一邏輯驗證程序,以判斷光前設定之邏輯是否正確。
- 如申請專利範圍第1項所述之程式碼自動生成裝置,其中該流程圖模組中包括一初始化單元,適於定義系統初始化及使用者初始化之設定。
- 如申請專利範圍第1項所述之程式碼自動生成裝置,其中該狀態圖模組更包括選擇該些狀態其中之一作為一目前狀態。
- 如申請專利範圍第1項所述之程式碼自動生成裝置,其中該狀態圖模組即根據該目前狀態及該些狀態轉換關係,判斷所要執行的下一狀態。
- 如申請專利範圍第1項所述之程式碼自動生成裝置,其中該些類別模組包括一設備模組,其係對應於該流程圖模組所定義之該些輸入設備及該些輸出設備其中之一。
- 如申請專利範圍第1項所述之程式碼自動生成裝置,其中該些類別模組包括一邏輯運算模組,其係定義該些類別模組間資料處理之一邏輯運算功能。
- 如申請專利範圍第6項所述之程式碼自動生成裝置,其中該邏輯運算功能包括加、減、乘、除及查表功能其中之一。
- 如申請專利範圍第1項所述之程式碼自動生成裝置,其中該過程圖模組中的該執行順序係依據該些類別模組間輸入輸出的依頼關係所定義。
- 一種程式碼自動生成方法,適於生成一目標系統的程式碼,包括下列步驟:a.定義一流程圖,其中包括該目標系統的至少一輸入設備、一狀態機及該目標系統的至少一輸出設備的配置及屬性; b.定義一狀態圖,其中包括該狀態機的多個狀態,以及該些狀態之間的多個狀態轉換關係;c.分別針對每一該些狀態,定義一過程圖,其中包括多種類別模組,以及該些類別模組之間的一連結關係與一執行順序;以及d.依照該流程圖、該狀態圖及該些過程圖,生成該程式碼,其中在該步驟c.之後更包括:e.執行一邏輯驗證程序,以判斷先前定義之該流程圖、該狀態圖及該些過程圖的邏輯是否正確。
- 如申請專利範圍第9項所述之程式碼自動生成方法,其中在該步驟a.之前,更包括:設定系統初始化及使用者初始化的環境。
- 如申請專利範圍第9項所述之程式碼自動生成方法,其中該步驟b.包括:選擇該些狀態其中之一作為一目前狀態;以及根據該目前狀態及該些狀態轉換關係,判斷所要執行的下一狀態。
- 如申請專利範圍第9項所述之程式碼自動生成方法,其中該步驟c.包括:設定至少一設備模組,其係對應於該流程圖中定義之該些輸入設備及該些輸出設備其中之一;設定至少一邏輯運算模組,其係定義該些類別模組間資料處理之一邏輯運算功能;以及 設定該些設備模組與該些邏輯運算模組之間的該連結關係。
- 如申請專利範圍第12項所述之程式碼自動生成方法,其中該邏輯運算功能包括加、減、乘、除及查表功能其中之一。
- 如申請專利範圍第9項所述之程式碼自動生成方法,其中該執行順序係依據該些類別模組間輸入輸出的依頼關係所定義。
- 如申請專利範圍第9項所述之程式碼自動生成方法,其中該步驟d.包括:d1.依照該流程圖生成該程式碼;以及d2.依照該狀態圖生成程式碼,而插入該流程圖中該些輸入設備及該些輸出設備所生成的程式碼之間。
- 如申請專利範圍第15項所述之程式碼自動生成方法,其中該步驟d2.包括:d3.依照所定義之該些過程圖,生成各該些狀態之中該些類別模組及其連結關係之程式碼。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW95139147A TWI396133B (zh) | 2006-10-24 | 2006-10-24 | 程式碼自動生成裝置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW95139147A TWI396133B (zh) | 2006-10-24 | 2006-10-24 | 程式碼自動生成裝置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200820073A TW200820073A (en) | 2008-05-01 |
TWI396133B true TWI396133B (zh) | 2013-05-11 |
Family
ID=44770048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW95139147A TWI396133B (zh) | 2006-10-24 | 2006-10-24 | 程式碼自動生成裝置及方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI396133B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW556065B (en) * | 2001-09-26 | 2003-10-01 | Way Tech Dev Inc | Method and system for programming devices using finite state machine descriptions |
TW200515175A (en) * | 2003-10-24 | 2005-05-01 | Microsoft Corp | Programming interface for a computer platform |
WO2006038104A1 (en) * | 2004-10-07 | 2006-04-13 | Axalto Sa | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
-
2006
- 2006-10-24 TW TW95139147A patent/TWI396133B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW556065B (en) * | 2001-09-26 | 2003-10-01 | Way Tech Dev Inc | Method and system for programming devices using finite state machine descriptions |
TW200515175A (en) * | 2003-10-24 | 2005-05-01 | Microsoft Corp | Programming interface for a computer platform |
WO2006038104A1 (en) * | 2004-10-07 | 2006-04-13 | Axalto Sa | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
Also Published As
Publication number | Publication date |
---|---|
TW200820073A (en) | 2008-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zimmermann et al. | Petri net modelling and performability evaluation with TimeNET 3.0 | |
US7865350B1 (en) | Partitioning a model in modeling environments | |
US8667462B1 (en) | Model and subsystem function signatures | |
US7584456B1 (en) | Method and apparatus for debugging embedded systems having read only memory | |
WO2013154448A1 (en) | Method and system for automatically establishing a hierarchical parameterized cell (pcell) debugging environment | |
US10185793B2 (en) | Conditional-based duration logic | |
CN111624475B (zh) | 大规模集成电路的测试方法及系统 | |
KR19980063723A (ko) | 아키텍쳐 시스템 디자인 방법 | |
CN115438610A (zh) | 图形化高层次综合电路性能分析方法、系统、装置及介质 | |
CN114880975A (zh) | 一种硬件木马的生成方法、系统、设备以及介质 | |
CN117077616B (zh) | 一种基于结构导向的电路生成方法、装置、设备及介质 | |
CN118052196A (zh) | 基于uvm的芯片验证测试方法、装置及电子设备 | |
Bunker et al. | Formal hardware specification languages for protocol compliance verification | |
Herbstritt et al. | Advanced SAT-techniques for bounded model checking of blackbox designs | |
TWI396133B (zh) | 程式碼自動生成裝置及方法 | |
CN115455877B (zh) | 一种验证平台生成装置、方法、介质及电子设备 | |
Cavarra et al. | Combining sequence diagrams and OCL for liveness | |
CN116108777A (zh) | 一种基于结构描述方式hdl的数字逻辑电路仿真系统及装置 | |
US8024684B2 (en) | Apparatus, method, and computer product for estimating power consumption of LSI | |
CN116090373A (zh) | 激励自动生成方法、系统及计算机可读介质 | |
CN115658046A (zh) | 基于Web技术开发模块化UI交互组件的方法、装置 | |
US9547735B2 (en) | System and method for viewing and modifying configurable RTL modules | |
Roop et al. | Forced simulation: A technique for automating component reuse in embedded systems | |
CN113779918A (zh) | SoC仿真方法、装置、计算设备和计算机存储介质 | |
WO2005054883A1 (ja) | 制御装置の検査装置、パターン信号作成装置及び検査プログラム生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |