耳后长痣代表什么意思| 1999年发生了什么| 尿素氮偏低是什么意思| 胆黄素高是怎么回事有什么危害| 白细胞少了会得什么病| 文盲是什么意思| 民不聊生是什么意思| 什么颜色混合是红色| 什么奶粉好吸收好消化| 什么颜色的床单有助于睡眠| 结扎对男的有什么影响| 什么药补肾| 14岁可以做什么工作| 木志读什么| 阳光是什么颜色| 女人右手断掌代表什么| 男孩什么时辰出生最好| 西瓜禁忌和什么一起吃| model是什么品牌| 蜘蛛结网预示着什么| 黄瓜敷脸有什么效果| se是什么元素| 低密度脂蛋白胆固醇偏高是什么意思| 凝胶是什么东西| 摆摊卖什么好| 什么是牙周炎| b超检查前要注意什么| 月经结束一周后又出血是什么原因| 牡丹什么时候开花| 固体玉米糖浆是什么| 什么死法不痛苦| 大姨妈有血块是什么原因| 什么凝视| 什么人不适合吃海参| 饵丝是什么| 借您吉言什么意思| 为什么吃火龙果会拉肚子| 急性肠胃炎有什么症状| 戏谑什么意思| 意欲何为是什么意思| 消化酶是什么| 为什么很困却睡不着| 脚为什么会肿| 场面是什么意思| 较前相仿是什么意思| 白羊和什么星座最配| 荨麻疹是什么样的| 李子有什么营养| 阴虱用什么药| 人怕出名猪怕壮是什么生肖| 血糖高喝什么茶| 这是什么猫| 哥哥的女儿叫什么| 2月2日什么星座| 笑气是什么气体| 基友什么意思| 鸽子单眼伤风用什么药| 东施效颦的意思是什么| 72年是什么年| 玉米是什么时候传入中国的| 喷昔洛韦乳膏治什么| 生闷气是什么意思| 卵巢早衰吃什么可以补回来| 路冲是什么意思| ur是什么品牌| 男人耳后有痣代表什么| 蜂蜜水什么时候喝比较好| mommy什么意思| 孔子名叫什么| 肺热吃什么| 来大姨妈可以吃什么水果| 孕妇放屁多是什么原因| 你太low了是什么意思| michaelkors是什么牌子| 这是什么呀| 痰栓是什么| 人生的意义到底是什么| 自由基是什么意思| 四川人为什么喜欢吃辣| 血小板低吃什么水果好| 拷贝是什么意思| 睾丸胀痛是什么原因| 伪骨科是什么意思| 9月28日什么星座| 鼻子干燥是什么原因| 西红柿对人体有什么好处| 流清水鼻涕是什么感冒| 巫山云雨是什么意思| 为什么会得hpv| 什么是射精| 生吃大葱有什么好处和坏处| 川崎病是什么原因引起的| 性欲是什么意思| 老是说梦话是什么原因| 爸爸的哥哥叫什么| 65年出生属什么| 西柚是什么季节的水果| 达喜是什么药| 渐冻症是什么| 银行卡年费是什么意思| 降压药什么时候吃比较好| 满月红鸡蛋用什么染| 举措是什么意思| 肾综合征是什么病严重吗| 血管检查什么方法最好| 头昏脑胀吃什么药| 马来西亚有什么特产| 百白破是什么疫苗| 梦见西瓜是什么意思| 爱因斯坦发明了什么| 什么是abo文| 王是什么生肖| 什么叫伴手礼| 胸痛是什么原因| 漆皮是什么皮| 护理假是什么意思| qid医学上是什么意思| 殊荣是什么意思| 梦见小白蛇是什么预兆| 什么是蒙氏教育| 防字代表什么生肖| 痛风可以吃什么肉类和蔬菜| hedgren是什么品牌| 胰腺炎吃什么药好| 月经是什么| 小儿疳积是什么意思| 醛固酮高吃什么降压药| 肺积水有什么症状| 痰多是什么原因| 4月21日什么星座| 喝什么补气血| 一个句号是什么意思| 克隆是什么意思| jk是什么| 梦见卖衣服是什么意思| 高烧后拉稀说明什么| 跑路什么意思| 竖心旁与什么有关| 握手言和是什么意思| 刘封为什么不救关羽| 骨性关节炎吃什么药| 为什么手淫很快就射| 奶茶里面的珍珠是什么做的| 男生下面疼是什么原因| 考警校需要什么条件| 后下药什么时候下| 长期做梦是什么原因| 脸上肉跳动是什么原因| 急性肠胃炎是什么引起的| 可颂是什么意思| 排卵期一般是什么时候| 除体内湿热最好的中成药是什么| 足底筋膜炎挂什么科| 三伏天什么意思| 吃什么保养子宫和卵巢| 一什么花生| 黄昏是什么时候| 梦见别人吐血是什么预兆| 麦冬有什么作用与功效| 七月十五有什么禁忌| 妲己是什么生肖| 早些泄挂什么科| 莫名心慌是什么原因| 宿便什么意思| 特应性皮炎是什么病| 10.5是什么星座| 血红蛋白偏低什么意思| 听什么音乐容易入睡| 扬字五行属什么| 影像是什么意思| 艾灸肚脐有什么好处| 晚上总是睡不着觉是什么原因| 羊癫疯有什么症状表现| 疡是什么意思| 孩子b型血父母什么血型| 美国为什么不敢动朝鲜| 碳酸氢铵是什么东西| 喝什么水最解渴| 甲状腺一般吃什么药| 5月10号是什么日子| 十指不沾阳春水是什么意思| 和谐是什么| 人大常委会副主任是什么级别| 大姨妈来的少是什么原因| 中焦不通用什么中成药| 天机不可泄露是什么意思| 血糖高的人适合吃什么水果| 西瓜适合什么土壤种植| 手足口病什么症状| 肝硬化是什么意思| 做彩超挂什么科| 诗经又称什么| 入木三分是什么意思| 秋天有什么水果成熟| 砖茶是什么茶| 那悲歌总会在梦中惊醒是什么歌| 蓝莓是什么味道| 小孩黑眼圈很重是什么原因| 百合吃了有什么好处| 今年十八岁属什么生肖| 脂肪肝中医叫什么名字| 韭菜什么时候种最好| 小便短赤是什么意思| 喝什么酒对身体好| 电影下映是什么意思| 羊肉炖什么补肾壮阳| 潜血弱阳性是什么意思| 手术拆线挂什么科| castle什么意思| 苏铁是什么植物| 银屑病为什么会自愈| 飞蚊症用什么药物治疗最好| 去鱼腥味最好的方法是什么| 酸奶有什么好处| 非转基因是什么意思| 肾炎康复片主要是治疗什么| roa是什么胎位| 血稠吃什么食物好得快| 什么是丹凤眼| 复诊是什么意思| 牙龈肿痛吃什么药效果好| cnd是什么意思| 一什么水花| 高密度脂蛋白胆固醇偏高是什么意思| 汪峰是什么星座| 4.25是什么星座| 不孕为什么要查胰岛素| 嬷嬷是什么意思| 什么时候怀孕几率最高| 伤风流鼻涕吃什么药好| 抗心磷脂抗体阳性是什么意思| 外痔用什么药| 空腹c肽偏高说明什么| 列文虎克发现了什么| 上报是什么意思| 菠菜是什么意思| 脱脂牛奶适合什么人喝| 吃什么可以增强抵抗力和免疫力| 107是什么意思| 按摩手推是什么意思| 三多一少指的是什么| 等着我为什么停播了| 年终奖一般什么时候发| 被草是什么感觉| 喝牛奶不能和什么一起吃| evisu是什么牌子中文| 病案首页是什么| 烂好人是什么意思| 手心发红是什么原因| 辣椒是什么时候传入中国的| 螺旋幽门杆菌吃什么药治疗好| 什么不可当| 髋关节积液是什么原因造成的| 筋是什么| 梅干菜是什么菜做成的| 辣条吃多了有什么危害| 检查血液挂什么科| 为什么挠脚心会痒| 甲状腺是什么| 女人左下腹部疼痛什么原因| 骶椎腰化什么意思| 什么花可以吃| 生是什么结构的字| 蜂胶是什么| 百度Jump to content

梦见前夫是什么兆头

From Wikipedia, the free encyclopedia
(Redirected from Program specification)
百度 不过,这样的所谓冲突虽然存在,但也不必夸大,年轻人更不要轻易被某些议程设置所操控,不要轻易被焦灼情绪绑架,坚定自己的选择,并让自己的选择成为幸福,才是说服父母、证明自己的最好办法。

In computer science, formal specifications are mathematically based techniques whose purpose is to help with the implementation of systems and software. They are used to describe a system, to analyze its behavior, and to aid in its design by verifying key properties of interest through rigorous and effective reasoning tools.[1][2] These specifications are formal in the sense that they have a syntax, their semantics fall within one domain, and they are able to be used to infer useful information.[3]

Motivation

[edit]

In each passing decade, computer systems have become increasingly more powerful and, as a result, they have become more impactful to society. Because of this, better techniques are needed to assist in the design and implementation of reliable software. Established engineering disciplines use mathematical analysis as the foundation of creating and validating product design. Formal specifications are one such way to achieve this in software engineering reliability as once predicted. Other methods such as testing are more commonly used to enhance code quality.[1]

Uses

[edit]

Given such a specification, it is possible to use formal verification techniques to demonstrate that a system design is correct with respect to its specification. This allows incorrect system designs to be revised before any major investments have been made into an actual implementation. Another approach is to use provably correct refinement steps to transform a specification into a design, which is ultimately transformed into an implementation that is correct by construction.

A formal specification is not an implementation, but rather it may be used to develop an implementation. Formal specifications describe what a system should do, not how the system should do it.

A good specification must have some of the following attributes: adequate, internally consistent, unambiguous, complete, satisfied, minimal.[3]

A good specification will have:[3]

  • Constructability, manageability and evolvability
  • Usability
  • Communicability
  • Powerful and efficient analysis

One of the main reasons there is interest in formal specifications is that they will provide an ability to perform proofs on software implementations.[2] These proofs may be used to validate a specification, verify correctness of design, or to prove that a program satisfies a specification.[2]

Limitations

[edit]

A design (or implementation) cannot ever be declared “correct” on its own. It can only ever be “correct with respect to a given specification”. Whether the formal specification correctly describes the problem to be solved is a separate issue. It is also a difficult issue to address since it ultimately concerns the problem constructing abstracted formal representations of an informal concrete problem domain, and such an abstraction step is not amenable to formal proof. However, it is possible to validate a specification by proving “challenge” theorems concerning properties that the specification is expected to exhibit. If correct, these theorems reinforce the specifier's understanding of the specification and its relationship with the underlying problem domain. If not, the specification probably needs to be changed to better reflect the domain understanding of those involved with producing (and implementing) the specification.

Formal methods of software development are not widely used in industry. Most companies do not consider it cost-effective to apply them in their software development processes.[4] This may be for a variety of reasons, some of which are:

  • Time
    • High initial start-up cost with low measurable returns
  • Flexibility
    • A lot of software companies use agile methodologies that focus on flexibility. Doing a formal specification of the whole system up front is often perceived as being the opposite of flexible. However, there is some research into the benefits of using formal specifications with "agile" development[5]
  • Complexity
    • They require a high level of mathematical expertise and the analytical skills to understand and apply them effectively[5]
    • A solution to this would be to develop tools and models that allow for these techniques to be implemented but hide the underlying mathematics[2][5]
  • Limited scope[3]
    • They do not capture properties of interest for all stakeholders in the project[3]
    • They do not do a good job of specifying user interfaces and user interaction[4]
  • Not cost-effective
    • This is not entirely true; by limiting their use to only core parts of critical systems they have shown to be cost-effective[4]

Other limitations:[3]

Paradigms

[edit]

Formal specification techniques have existed in various domains and on various scales for quite some time.[6] Implementations of formal specifications will differ depending on what kind of system they are attempting to model, how they are applied and at what point in the software life cycle they have been introduced.[2] These types of models can be categorized into the following specification paradigms:

  • History-based specification[3]
    • behavior based on system histories
    • assertions are interpreted over time
  • State-based specification[3]
    • behavior based on system states
    • series of sequential steps, (e.g. a financial transaction)
    • languages such as Z, VDM or B rely on this paradigm[3]
  • Transition-based specification[3]
    • behavior based on transitions from state-to-state of the system
    • best used with a reactive system
    • languages such as Statecharts, PROMELA, STeP-SPL, RSML or SCR rely on this paradigm[3]
  • Functional specification[3]
    • specify a system as a structure of mathematical functions
    • OBJ, ASL, PLUSS, LARCH, HOL or PVS rely on this paradigm[3]
  • Operational Specification[3]
    • early languages such as Paisley, GIST, Petri nets or process algebras rely on this paradigm[3]
  • Multi-paradigm languages
    • FizzBee is a multi-paradigm specification language that allows for transition/action based specification, behavioral specifications with non-atomic transitions and also has actor model.

In addition to the above paradigms, there are ways to apply certain heuristics to help improve the creation of these specifications. The paper referenced here best discusses heuristics to use when designing a specification.[6] They do so by applying a divide-and-conquer approach.

Software tools

[edit]

The Z notation is an example of a leading formal specification language. Others include the Specification Language (VDM-SL) of the Vienna Development Method and the Abstract Machine Notation (AMN) of the B-Method. In the Web services area, formal specification is often used to describe non-functional properties[7] (Web services quality of service).

Some tools are:[4]

References

[edit]
  1. ^ a b Hierons, R. M.; Bogdanov, K.; Bowen, J. P.; Cleaveland, R.; Derrick, J.; Dick, J.; Gheorghe, M.; Harman, M.; Kapoor, K.; Krause, P.; Lüttgen, G.; Simons, A. J. H.; Vilkomir, S. A.; Woodward, M. R.; Zedan, H. (2009). "Using formal specifications to support testing". ACM Computing Surveys. 41 (2): 1. CiteSeerX 10.1.1.144.3320. doi:10.1145/1459352.1459354. S2CID 10686134.
  2. ^ a b c d e Gaudel, M.-C. (1994). "Formal specification techniques". Proceedings of 16th International Conference on Software Engineering. pp. 223–227. doi:10.1109/ICSE.1994.296781. ISBN 978-0-8186-5855-6. S2CID 60740848.
  3. ^ a b c d e f g h i j k l m n o Lamsweerde, A. V. (2000). "Formal specification". Proceedings of the conference on the future of Software engineering - ICSE '00. pp. 147–159. doi:10.1145/336512.336546. ISBN 978-1581132533. S2CID 4657483.
  4. ^ a b c d Sommerville, Ian (2009). "Formal Specification" (PDF). Software Engineering. Retrieved 3 February 2013.
  5. ^ a b c Nummenmaa, Timo; Tiensuu, Aleksi; Berki, Eleni; Mikkonen, Tommi; Kuittinen, Jussi; Kultima, Annakaisa (4 August 2011). "Supporting agile development by facilitating natural user interaction with executable formal specifications". ACM SIGSOFT Software Engineering Notes. 36 (4): 1–10. doi:10.1145/1988997.2003643. S2CID 2139235.
  6. ^ a b van der Poll, John A.; Paula Kotze (2002). "What design heuristics may enhance the utility of a formal specification?". Proceedings of the 2002 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on Enablement Through Technology. SAICSIT '02: 179–194. ISBN 9781581135961.
  7. ^ S-Cube Knowledge Model: Formal Specification
[edit]
2021是什么年 最好的止疼药是什么药 什么山色 左旋肉碱什么时候吃 孩子注意力不集中是什么原因
负罪感什么意思 知青是什么 梦见摘黄瓜是什么意思 腋下皮肤发黑是什么原因引起的 包皮过长会有什么影响
男人染上霉菌什么症状 pra是什么意思 吃姜对身体有什么好处 中耳炎用什么药 安罗替尼适合什么肿瘤
全蛋液是什么意思 肚子咕咕叫放屁多是什么原因 社会公德的主要内容是什么 肺部结节有什么症状 子宫直肠陷凹什么意思
孩子气是什么意思hcv9jop3ns1r.cn 地主之谊是什么意思hcv9jop6ns8r.cn 怀孕一个月会有什么反应hcv8jop8ns4r.cn 梦到怀孕生孩子是什么意思hcv8jop3ns7r.cn 恙虫是什么虫hcv7jop9ns4r.cn
拔牙后吃什么消炎药最好hcv9jop3ns0r.cn 羞羞是什么意思hcv9jop3ns6r.cn 肌酐高吃什么食物hanqikai.com 无的放矢是什么意思hcv9jop7ns2r.cn 阿米巴是什么意思hcv7jop4ns6r.cn
鹅蛋治什么妇科病xinjiangjialails.com 狐臭挂什么科室的号hcv9jop7ns3r.cn 左胸隐隐作痛是什么原因creativexi.com 为什么月经前乳房胀痛hcv8jop6ns1r.cn 什么是潜意识hcv9jop0ns0r.cn
妈妈的奶奶叫什么hcv8jop3ns9r.cn 胃挂什么科hcv7jop5ns0r.cn 1968年属什么生肖hcv9jop5ns3r.cn 牡丹什么时候开放hcv8jop6ns7r.cn 芋头什么时候种植最好hcv7jop6ns9r.cn
百度