|
|
(One intermediate revision by one other user not shown) |
Line 1: |
Line 1: |
| {{Data transformation}}
| | Last week I woke up and realised - At the moment I have been solitary for a little while and following much intimidation from friends I now find myself signed up for on how to Meet luke bryan ([http://www.senatorwonderling.com senatorwonderling.Com]) line dating. They assured me that there are plenty of pleasant, regular and enjoyable folks to meet up, therefore here goes the message!<br>[http://www.banburycrossonline.com 2014 luke bryan tour] I try and keep as physically fit as possible coming to the gym many times weekly. I appreciate my athletics and make an effort to perform or watch while many a potential. Being wintertime I'll frequently at Hawthorn matches. Note: I've experienced the carnage of fumbling fits at stocktake sales, If you really [http://Www.google.com/search?q=contemplated+purchasing&btnI=lucky contemplated purchasing] a sport I really do not mind.<br>My buddies and family are awe-inspiring and spending time with them at tavern gigabytes or dishes is [http://minioasis.com luke bryan tickets for sale] obviously a necessity. I have never been in to night clubs as I see that one may never own a nice dialog with all the noise. In addition, I have two undoubtedly cheeky and very adorable dogs who are consistently eager to meet up new individuals.<br><br>Take a look at my web blog ... [http://lukebryantickets.neodga.com buy luke bryan tickets] |
| | |
| {{refimprove|date=September 2010}}
| |
| | |
| '''Refinement''' is a generic term of computer science that encompasses various approaches for producing [[correctness (computer science)|correct]] computer programs and simplifying existing programs to enable their formal verification.
| |
| | |
| == Program refinement ==
| |
| In [[formal methods]], '''program refinement''' is the [[formal verification|verifiable]] transformation of an ''abstract'' (high-level) [[formal specification]] into a ''concrete'' (low-level) [[executable program]].{{fact|date=September 2010}} ''[[Stepwise refinement]]'' allows this process to be done in stages. Logically, refinement normally involves [[logical consequence|implication]], but there can be additional complications.
| |
| | |
| == Data refinement ==
| |
| '''Data refinement'''<!-- REDIRECTs HERE--> is used to convert an abstract data model (in terms of [[set (mathematics)|set]]s for example) into implementable [[data structures]] (such as [[Array data structure|arrays]]).{{fact|date=September 2010}} ''[[Operation refinement]]'' converts a [[specification]] of an operation on a system into an implementable [[computer program|program]] (e.g., a [[Procedure (computer science)|procedure]]). The [[postcondition]] can be strengthened and/or the [[precondition]] weakened in this process. This reduces any [[Nondeterministic algorithm|nondeterminism]] in the specification, typically to a completely [[deterministic]] implementation.
| |
| | |
| For example, ''x'' ∈ {1,2,3} (where ''x'' is the value of the [[Variable (programming)|variable]] ''x'' after an operation) could be refined to ''x'' ∈ {1,2}, then ''x'' ∈ {1}, and implemented as ''x'' := 1. Implementations of ''x'' := 2 and ''x'' := 3 would be equally acceptable in this case, using a different route for the refinement. However, we must be careful not to refine to ''x'' ∈ {} (equivalent to ''false'') since this is unimplementable; it is impossible to select a [[Element (mathematics)|member]] from the [[empty set]].
| |
| | |
| The term [[Reification (computer science)|reification]] is also sometimes used (coined by [[Cliff Jones (computer scientist)|Cliff Jones]]). [[Retrenchment (computing)|Retrenchment]] is an alternative technique when formal refinement is not possible. The opposite of refinement is [[Abstraction (computer science)|abstraction]].
| |
| | |
| == Refinement calculus ==
| |
| [[Refinement calculus]] is a [[formal system]] (inspired from [[Hoare logic]]) that promotes program refinement. The [[FermaT Transformation System]] is an industrial-strength implementation of refinement. The [[B-Method]] is also a [[formal method]] that extends refinement calculus with a component language: it has been used in industrial developments.
| |
| | |
| == Refinement types ==
| |
| In [[type theory]], a '''refinement type'''<ref>{{cite conference|first1=T.|last1=Freeman|first2=F.|last2=Pfenning|url=ftp://ftp.cs.cmu.edu/usr/rwh/www/home/courses/refinements/papers/Freeman94/phd.pdf|doi=10.1145/113445.113468 |title=Refinement types for ML|booktitle=Proceedings of the ACM Conference on Programming Language Design and Implementation|pages=268–277|year=1991}}</ref><ref>{{cite conference|first=S.|last=Hayashi|title=Logic of refinement types|url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.38.6346&rep=rep1&type=pdf#page=167|doi=10.1007/3-540-58085-9_74|booktitle=Proceedings of the Workshop on Types for Proofs and Programs|pages=157–172|year=1993}}</ref><ref>{{cite conference|first=E.|last=Denney|url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.22.4988&rep=rep1&type=pdf|title=Refinement types for specification|booktitle=Proceedings of the IFIP International Conference on Programming Concepts and Methods|volume=125|pages=148–166|publisher=Chapman & Hall|year=1998}}</ref> is a type endowed with a predicate which is assumed to hold for any element of the refined type. Refinement types can express [[precondition]]s when used as [[function argument]]s or [[postcondition]]s when used as [[return type]]s: for instance, the type of a function which accepts natural numbers and returns natural numbers greater than 5 may be written as <math>f: \mathbb{N} \rarr \{n: \mathbb{N} | n > 5\}</math>. Refinement types are thus related to [[behavioral subtyping]].
| |
| | |
| == References ==
| |
| {{reflist}}
| |
| | |
| {{soft-eng-stub}}
| |
| | |
| [[Category:Formal methods]] | |
| [[Category:Computer programming]]
| |
Last week I woke up and realised - At the moment I have been solitary for a little while and following much intimidation from friends I now find myself signed up for on how to Meet luke bryan (senatorwonderling.Com) line dating. They assured me that there are plenty of pleasant, regular and enjoyable folks to meet up, therefore here goes the message!
2014 luke bryan tour I try and keep as physically fit as possible coming to the gym many times weekly. I appreciate my athletics and make an effort to perform or watch while many a potential. Being wintertime I'll frequently at Hawthorn matches. Note: I've experienced the carnage of fumbling fits at stocktake sales, If you really contemplated purchasing a sport I really do not mind.
My buddies and family are awe-inspiring and spending time with them at tavern gigabytes or dishes is luke bryan tickets for sale obviously a necessity. I have never been in to night clubs as I see that one may never own a nice dialog with all the noise. In addition, I have two undoubtedly cheeky and very adorable dogs who are consistently eager to meet up new individuals.
Take a look at my web blog ... buy luke bryan tickets