Perfect Developer
   HOME

TheInfoList



OR:

Perfect Developer (PD) is a tool for developing
computer programs A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
in a rigorous manner. It is used to develop applications in areas including IT systems and airborne critical systems. The principle is to develop a formal specification and refine the specification to code. Even though the tool is founded on
formal methods In computer science, formal methods are mathematics, mathematically rigorous techniques for the formal specification, specification, development, Program analysis, analysis, and formal verification, verification of software and computer hardware, ...
, the suppliers claim that advanced mathematical knowledge is not a prerequisite. PD supports the Verified Design by Contract paradigm, which is an extension of
Design by contract Design by contract (DbC), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software. It prescribes that software designers should define formal, precise and verifiable ...
. In Verified Design by Contract, the contracts are verified by
static analysis Static analysis, static projection, or static scoring is a simplified analysis wherein the effect of an immediate change to a system is calculated without regard to the longer-term response of the system to that change. If the short-term effect i ...
and automated theorem proving, so that it is certain that they will not fail at runtime. The Perfect
specification language A specification language is a formal language in computer science used during systems analysis, requirements analysis, and systems design to describe a system at a much higher level than a programming language, which is used to produce the exec ...
used has an
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impleme ...
style, producing code in
programming languages A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their syntax (form) and semantics (meaning), usually defined by a formal language. Languages usually provide features ...
including
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
, C# and C++. It has been developed by the UK company ''Escher Technologies Ltd''. They note on their website that their claim is not that the language itself is perfect, but that it can be used to produce code which perfectly implements a precise specification.


See also

* JML * Safety Integrity Level


External links


Perfect DeveloperEscher TechnologiesDefence Standards
{{programming-software-stub Formal methods tools Formal specification languages