面起子是什么| mgd是什么意思| 查血糖挂什么科| 紫苏是什么植物| 雀的偏旁是什么| 灰菜有什么功效与作用| 文曲星什么意思| 干支是什么意思| 什么叫湿疹| 牛蒡是什么| 非食健字是什么意思| 国籍填什么| 蛇字五行属什么| 邋遢什么意思| 吃什么提神醒脑抗疲劳| 什么样的马| 十月30号是什么星座| 拔智齿需要注意什么| 用什么泡水喝可以降血压| 什么东西驱蛇效果最好| 湿疹用什么药好得最快最有效| 心衰是什么意思| 围绝经期吃什么药调理| 下半年有什么节日| 傻白甜是什么意思| 女性割礼是什么| 打2个喷嚏代表什么| 吃避孕药会有什么副作用| 东施效颦是什么意思| 性病是什么病| 黑豚肉是什么肉| 降压药的原理是什么| 赏脸是什么意思| butterfly是什么意思| 蝙蝠来家里是什么预兆| 咳嗽挂什么科| 女生痛经有什么办法缓解| 姓叶的男孩取什么名字好| 喝大麦茶有什么好处| dei是什么意思| nilm是什么意思| 白蛋白偏高是什么意思| 梦见铲雪预示着什么| 尿潜血十一是什么意思| 目眩是什么症状| 什么是童子| 吃辣椒过敏是什么症状| 上课什么坐姿可以瘦腿| 4月15日是什么星座| 病入膏肓是什么意思| 经常吃红枣有什么好处和坏处| 口腹蜜剑什么意思| 血脂高胆固醇高吃什么好| 什么炒肉好吃| 1961年属什么生肖| ur品牌属于什么档次| 什么是二代身份证| 云雾茶是什么茶| 转基因是什么意思| 一比吊糟什么意思| 猪生肠是什么部位| 白细胞高是什么病| 什么眼霜去眼袋效果好| 培坤丸有什么作用功效| 切屏是什么意思| 吃芒果有什么坏处| 什么东西最补肾| 4.11是什么星座| 拉肚子拉稀是什么原因| 来事吃什么水果好| 内向的人适合什么工作| 甲减吃什么食物好| 氢键是什么| 心经讲的是什么| 达菲是什么药| 没吃多少东西但肚子很胀是什么| 肌腱是什么| lch是什么意思| 六月初一有什么讲究| 脱脂牛奶是什么意思| 乙亥日五行属什么| 结晶果糖是什么| 七月半是什么节日| 甲减有什么症状| 剖腹产第三天可以吃什么| 姜不能和什么一起吃| 什么是211大学| 岑字五行属什么| 忙碌的动物是什么生肖| 瑄五行属什么| 脱口秀是什么意思| 梦见和妈妈吵架是什么意思| 试纸一深一浅说明什么| 早泄吃什么好| 嘴唇干燥是什么原因引起的| 颜值担当是什么意思| od值是什么意思| 柯什么意思| 排骨炖什么汤好喝| 大胯疼是什么原因引起| 黑加出念什么| 牙龈黑紫色是什么原因| 吃什么肉好| 生吃胡萝卜有什么好处和坏处| 珍珠疹是什么原因引起的| 11月22是什么星座| 什么叫做凤凰男| omega什么意思| 胚由什么发育而来| 腿抽筋吃什么药最好| 九眼天珠是什么做的| 女人为什么会叫| 慌张的近义词是什么| 什么火没有烟| 皮试阳性是什么意思| 锆石是什么| 胃病是什么原因引起的| 孩子口臭是什么原因| 水煮鱼用什么鱼| 什么的勇气| 山宗读什么| 原教旨主义是什么意思| 龟头有红点用什么药| 为什么250是骂人的话| 什么样的人容易得心梗| 哽咽是什么意思| 怀孕三个月吃什么对胎儿好| 鸡同鸭讲是什么意思| 学海无涯苦作舟的上一句是什么| 十月二十五是什么星座| 武松打的是什么虎| 高血压吃什么药效果好| 肝囊肿吃什么药| 有什么有什么| 满人是什么民族| 文化传媒是干什么的| 伏地魔是什么意思| 钱串子进屋有什么预兆| 鼻涕有血丝是什么原因| 我低头向山沟是什么歌| 镁是什么| 增强免疫力吃什么| 千年修炼是什么生肖| 妇科清洁度3度用什么药治疗| 1月25号是什么星座| 营养不良吃什么药| 出其不意下一句是什么| 水鱼煲鸡汤放什么药材| 三撇读什么| 什么是肾阴虚| 东倒西歪的动物是什么生肖| 色觉异常是什么意思| 神迹是什么意思| 肌红蛋白高是什么意思| 草果是什么| 梦见鳝鱼是什么预兆| 化橘红是什么东西| 闪卡是什么意思| 又当又立是什么意思| 草字头内念什么| 语迟则人贵是什么意思| 母乳是什么味| 心电图伪差是什么意思| 吃什么排毒| 路痴是什么意思| 水鱼煲鸡汤放什么药材| 动态密码是什么| 五行缺水戴什么| 结婚送什么礼物最合适| 脂肪肝什么症状| 肚子容易胀气是什么原因| 急性尿路感染吃什么药| 脸肿是什么原因引起的| 吹空调咳嗽是什么原因| 双肺纹理增多什么意思| 备孕怀男孩做什么准备| 家族是什么意思| 午未合化什么| cvc是什么| 指甲月牙白代表什么| 脱氧核苷酸是什么| 越什么越什么的词语| 千年等一回是什么生肖| 钾偏低是什么原因| 乙丑是什么生肖| scc是什么检查项目| 什么东西比乌鸦更讨厌| 臻字五行属什么的| 心绪不宁的意思是什么| 可可粉是什么| 补肾吃什么药好| eus是什么检查| 什么是氙气| 渗湿是什么意思| 孩子吃什么容易长高| 92年出生属什么生肖| 黑镜讲的是什么| 新生儿为什么有黄疸| 沁什么意思| 割包皮属于什么科| 菊花是什么意思| 牙根发黑是什么原因| 隐翅虫怕什么| 侧重点是什么意思| 睡觉容易惊醒是什么原因| 梦见狗咬手是什么意思| 什么血型容易溶血| 611是什么意思| 乳房边缘疼是什么原因| 月经过后腰酸疼是什么原因| 7月3日是什么日子| 焦虑症看什么科室| 孕妇什么情况容易早产| 门槛什么意思| 九二年属猴的是什么命| 做梦牙掉了是什么征兆| 医学pr是什么意思| 一什么之| 晚上咳嗽什么原因| 月经期间吃什么| 脑梗死是什么意思| 怀孕梦到老公出轨预示什么| 插入是什么感觉| 国庆节是什么时候| 2028什么年| 总胆固醇偏高是什么原因| 五行木是什么颜色| 心脏支架最怕什么| 忧思是什么意思| suv是什么意思| 良心是什么意思| 头发为什么会分叉| 熤是什么意思| 麻批是什么意思| 山药长什么样| 经常犯困想睡觉是什么原因| 小肚子胀是什么原因| 不均质回声是什么意思| 鱼缸底部铺什么好| 肝肾挂什么科| 单亲家庭是指什么| 梦见男婴儿是什么意思| 辅酶q10是什么| 杏仁有什么功效| 分期是什么意思| 一诺千金是什么意思| 浑身麻是什么原因| 小肺大泡是什么意思| 胎盘做成胶囊吃有什么好处| 身上痒是什么情况| 自贸区是什么意思| 淋巴细胞百分比低说明什么问题| 梦到喝酒是什么意思| 眼睛出现重影是什么原因| 月经时间过长是什么原因引起的| 风起云涌是什么生肖| 满月脸水牛背是什么病| 阿sir什么意思| 含羞草能治什么病| 水瓶座与什么星座最配| 有尿意但是尿不出来是什么原因| 小孩脸上有白斑是什么原因| 什么是大三阳和小三阳| 叶酸片治什么病| 百度Jump to content

机动车驾驶培训网络远程理论教学技术规范(征

From Wikipedia, the free encyclopedia
百度   第二,抓住“做”这个关键,检验学习教育成效。

The Object Constraint Language (OCL) is a declarative language describing rules applying to Unified Modeling Language (UML) models developed at IBM and is now part of the UML standard. Initially, OCL was merely a formal specification language extension for UML.[1] OCL may now be used with any Meta-Object Facility (MOF) Object Management Group (OMG) meta-model, including UML.[2] The Object Constraint Language is a precise text language that provides constraint and object query expressions on any MOF model or meta-model that cannot otherwise be expressed by diagrammatic notation. OCL is a key component of the new OMG standard recommendation for transforming models, the Queries/Views/Transformations (QVT) specification.

Description

[edit]

OCL is a descendant of Syntropy, a second-generation object-oriented analysis and design method. The OCL 1.4 definition specified a constraint language. In OCL 2.0, the definition has been extended to include general object query language definitions.[3]

OCL statements are constructed in four parts:

  1. a context that defines the limited situation in which the statement is valid
  2. a property that represents some characteristics of the context (e.g., if the context is a class, a property might be an attribute)
  3. an operation (e.g., arithmetic, set-oriented) that manipulates or qualifies a property, and
  4. keywords (e.g., if, then, else, and, or, not, implies) that are used to specify conditional expressions.

Relation

[edit]

OCL and UML

[edit]

OCL supplements UML by providing expressions that have neither the ambiguities of natural language nor the inherent difficulty of using complex mathematics.[3] OCL is also a navigation language for graph-based models.

OCL and MOF

[edit]

OCL makes a Meta-Object Facility model more precise by associating assertions with its meta-elements.

OCL and QVT

[edit]

Of particular importance to Model Driven Engineering (MDE) or model-driven architecture is the notion of Model transformation. The OMG has defined a specific standard for model transformation called MOF/QVT or in short QVT. Several model transformation languages like GReAT, VIATRA, or Tefkat are presently available, with different levels of compliance with the QVT standard. Many of these languages are built on top of OCL, which is the main part of the QVT-compliance.

Alternatives

[edit]

Being a rule-based validation language, Schematron may be considered an alternative to OCL. However Schematron works for Extensible Markup Language (XML) trees while OCL makes it possible to navigate MOF-based models and meta-models (i.e. XML Metadata Interchange (XMI) trees). In other words, OCL relates to UML or MOF similarly to how Schematron relates to XML. (Note that Schematron uses XPath to navigate inside the XML trees.)
Being a model specification language permitting designers to decorate a model or a meta-model with side-effect-free annotations, OCL could be replaced by languages like Alloy. Automated OCL generation is in principle possible from natural language.[4]

Examples
Constraint OCL Equivalent
The age of a person is not negative. context Person inv: self.age >=0
A person is younger than its parents. context Person inv: self.parents->forAll(p|p.age>self.age)
After a birthday, a person becomes one year older. context Person::hasBirthday() post: self.age=self.age@pre+1
A Person has 2 parents at max. context Person inv: self.parents->size()<=2
After somebody has a child, his/her child-set is not empty, and it is larger than before. context Person::getsChild() post: self.childs->notEmpty() and self.childs->size() > self.childs@pre->size()
Only an adult can be owner of a car. context Person inv: self.age<18 implies self.cars->isEmpty()
The first registration of a car can not be before it is built. context Auto inv: self.registration>=self.constructionYear
Every Person that has a car has at least one car which is younger than the Person. context Person inv: self.cars->notEmpty() implies self.cars->exists( c | Calendar.YEAR - c.constructionYear < self.age)
Nobody can be his/her own parent. context Person inv: self.parents->excludes(self)
There's at least one Person which owns a car. context Person inv: Person.allInstances()->exists(p | p.cars->size() > 0)


Extensions

[edit]

Eclipse OCL [5] extends Standard OCL with additional operators and a type for Maps. AgileUML extends Standard OCL with Map and Function types.[6] These extensions are consistent with the map and function types present in modern programming languages such as Python and Swift.

See also

[edit]

References

[edit]
  1. ^ Object Management Group (OMG); Object Constraint Language Specification, Chapter 7 of OMG Unified Modeling Language Specification, Version 1.3, March 2000 (first edition)
  2. ^ Object Management Group (OMG); Object Constraint Language OMG Available Specification Version 2.0, May 2006
  3. ^ a b This article is based on material taken from Object+Constraint+Language at the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.
  4. ^ Imran Sarwar Bajwa (October 2010). "OCL Constraints Generation from Natural Language Specification, 2010". IEEE. doi:10.1109/EDOC.2010.33. S2CID 7495256. {{cite journal}}: Cite journal requires |journal= (help)
  5. ^ "Eclipse OCL? (Object Constraint Language)". 31 January 2013.
  6. ^ Lano, Kevin; Kolahdouz-Rahimi, Shekoufeh (2021). "Extending OCL with Map and Function Types". Fundamentals of Software Engineering. Lecture Notes in Computer Science. Vol. 12818. pp. 108–123. doi:10.1007/978-3-030-89247-0_8. ISBN 978-3-030-89246-3. S2CID 239029860.
[edit]
猴子偷桃是什么生肖 多囊卵巢综合症吃什么药 吃什么排气 真菌是什么 楚门的世界是什么意思
萎缩性胃炎有什么症状 天蝎座和什么座最配 1959年属猪的是什么命 猫是什么动物 毛遂自荐是什么意思
kj什么意思 芒果是什么季节的水果 心脏早搏有什么症状 喜欢黑色的人是什么性格 白化病是什么遗传
苦瓜什么人不能吃 rash什么意思 扁桃体炎吃什么消炎药 胃胀胃酸是什么原因 淋菌性尿道炎吃什么药
苹果不能和什么一起吃hcv8jop5ns0r.cn 双肺呼吸音粗是什么意思hcv8jop5ns8r.cn 汽化是什么意思hcv9jop2ns7r.cn 加盟什么店最赚钱投资小520myf.com 煮中药用什么锅hcv9jop0ns5r.cn
什么是名媛hcv9jop5ns9r.cn 糖尿病适合喝什么饮料sscsqa.com 日本的町是什么意思hcv8jop3ns1r.cn 籍贯指的是什么hcv9jop2ns1r.cn 吃什么提高免疫力hcv8jop9ns5r.cn
366红包代表什么意思hcv8jop3ns5r.cn 取保候审需要什么条件hcv8jop8ns2r.cn 七月十四是什么节hcv8jop3ns6r.cn 侍妾是什么意思hcv9jop0ns9r.cn 星辰大海是什么意思hcv9jop7ns2r.cn
肌酐低是什么意思啊bjhyzcsm.com 永恒是什么意思hcv7jop7ns4r.cn cr是什么意思hcv8jop4ns6r.cn 强是什么生肖hcv8jop1ns4r.cn 9.10是什么星座hcv9jop5ns5r.cn
百度