語境有關語言

語境有關語言

對象約束語言(OCL)是一種語境有關語言,用於編寫導航表達式、布爾表達式和其他查詢語句。它可用於構建約束表達式、監護條件、動作、前置條件和後置條件、斷言以及其他UML表達式。

基本介紹

  • 中文名:語境有關語言
  • 外文名:Contextual language
  • 語言:對象約束語言
  • 定義:編寫導航表達式、布爾表達式等
  • 作用:構建約束表達式、UML表達式等
  • 套用學科:計算機原理
概述,特點,組成,

概述

對象約束語言是一種形式化語言,它主要用於表示UML中模型上的約束。UML的圖形如類圖,通常不可能詳細地表達系統的各個細節,為了表達這些細節問題,需要為建模對象添加一些約束。這些約束可以使用自然語言來表達,但是自然語言的二義性增加了約束表達的複雜性和不可確定性。為了解決約束表達的問題,對象約束語言OCL應運而生。
OCL最初由IBM公司設計,由JosWarmer和SteveCook等人從一個項目中得到靈感而產生。作為一種業務建模語言的一部分,OCL已經為標準化組織OMG所接受,成為了UML標準的一部分。

特點

OCL具有如下特點:
1、OCL是一種精確的、無二義性的語言,它易於使用和掌握。
2、OCL是一種規範說明性語言,所有有關實現的問題都不能用OCL來表達。
3、OCL是一種純表達式語言,它是沒有任何副作用的聲明性語言。對OCL表達式的計算將返回一個值,計算不會改變系統的狀態。
4、OCL是一種類型化語言,即OCL中的每個表達式都是具有類型的。
5、OCL不是一種程式設計語言,不能用OCL編寫程式邏輯和控制流程。

組成

大部分OCL語句都是由如下結構化元素組成的:
1、上下文定義了表達式有效的域,通常是特定類型的實例,例如類圖中的對象。連結(即關聯的實例)也可能是OCL表達式的上下文。
2、作為表達式上下文的實例的屬性,可能包括特性、關聯角色和查詢操作。
3、套用於屬性的OCL操作包括(但是不限於)代數操作符*十、一和/,諸如size、isEmpty和select之類的集合操作符,以及諸如oclIsTypeOf之類的類型操作符。
OCL語句也可以包括關鍵字,例如邏輯操作符and、or、implies、if,else和not,以及集合操作符in。這些操作符可以用於定義操作特別複雜的前置條件和後置條件。OCL表達式可以規範特性的初始值和派生值,可以用於檢查各種操作結果,例如對象是否已經創建,或者在操作執行期間傳送的訊息。

相關詞條

熱門詞條

聯絡我們