Share to: share facebook share twitter share wa share telegram print page

Formal specification

In computer science, formal specifications are mathematically based techniques whose purpose are 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

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

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 probably correct refinement steps to transform a specification into a design, which is ultimately transformed into an implementation that is correct by construction.

It is important to note that 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

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

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]

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

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]

See also

References

  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

Read other articles:

Varios ejemplos de obras arquitectónicas nabateas La arquitectura nabatea (en árabe: اَلْعِمَارَةُ النَّبَطِيَّةُ‎, romanizado: al-ʿimarah al-nabatiyyah), se refiere a las tradiciones de construcción de los nabateos (/ˌnæbəˈtiːənz/; nabataeo araméico:

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Plump Fiction – news · newspapers · books · scholar · JSTOR (February 2015) (Learn how and when to remove this template message) 1997 American filmPlump FictionDutch DVD coverDirected byBob KoherrWritten byBob KoherrProduced byGary BinkowStarring Tommy Davidson...

Perlindungan dari anon Eva AngelinaAngelina, 2013LahirNicole Tyler14 Maret 1985 (umur 38)[1][2]Huntington Beach, California, A.S.[1][3][4]Nama lainEve Angelica, Eva Angelica, Eve Angelina, Eva Evangelina, Angelina Del Mar, Ava, Eva,[1] AngelinaSuami/istriDanny Mountain (2007-2009)[5]Situs webevaangelinaonline.com Eva Angelina (nama lahir Nicole Tyler lahir 14 Maret 1985)[1] adalah seorang aktris porno, penari, dan Agen ...

Bahnhofsrestaurant im 19. Jahrhundert Empfangsgebäude, Empfangshallen oder Zugangsgebäude (in der Schweiz und in Österreich: Stationsgebäude oder Aufnahmegebäude; in Österreich und Südtirol auch: Aufnahmsgebäude respektive Aufnahmshalle) sind Gebäude an Einrichtungen des Personenverkehrs, die im Gegensatz zu Wartehallen Räume für die Durchführung innerbetrieblicher Aufgaben, z. B. des allgemeinen Geschäftsbetriebes für Reisende und Gepäckabfertigung, eventuell auch f...

This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (September 2014) (Learn how and when to remove this template message) The Right HonourableThe Lord ButterfieldOBE FRCPJohn Butterfield in 1982Vice-Chancellor, University of CambridgeIn office1983–1985Preceded byHarry HinsleyMaster, Downing College, CambridgeIn office1976–1983 Personal detailsBorn(1920-03-...

Political party in Romania representing the Hungarian minority Hungarian People's Party of Transylvania Partidul Popular Maghiar din TransilvaniaErdélyi Magyar NéppártPresidentZsolt SzilágyiFounded2011 (2011)DissolvedNovember 2022Merged intoHungarian Alliance of TransylvaniaHeadquartersCluj-Napoca, Cluj County, Transylvania, RomaniaIdeologyHungarian minority interestsConservatismChristian democracyAutonomismPolitical positionRight-wingEuropean affiliationEuropean Free Allia...

Annual film award Directors Guild of America Award for Outstanding Directing – Feature FilmThe 2022 recipient:Daniel Scheinert and Daniel KwanAwarded forOutstanding Directorial Achievement in Motion PicturesCountryUnited StatesPresented byDirectors Guild of AmericaFirst awarded1948Currently held byDaniel Kwan and Daniel Scheinert for Everything Everywhere All at Once (2022) The Directors Guild of America Award for Outstanding Directorial Achievement in Motion Pictures is one of the annual D...

Bengali poet, philosopher and polymath (1861–1941) For the film, see Rabindranath Tagore (film). Tagore redirects here. For other uses, see Tagore (disambiguation). Rabindranath TagoreFRASNative nameরবীন্দ্রনাথ ঠাকুরBornRabindranath Tagore(1861-05-07)7 May 1861Calcutta, Bengal Presidency, British India(present-day Kolkata, West Bengal, India)Died8 August 1941(1941-08-08) (aged 80)Calcutta, Bengal Presidency, British India(present-day Kolkata, West Bengal...

Cet article est une ébauche concernant les Jeux olympiques et les îles Vierges des États-Unis. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Îles Vierges des États-Unis aux Jeux olympiques d'été de 1968 Code CIO ISV Lieu Mexico Participation 1re Athlètes 7 (dans 4 sports) Porte-drapeau Liston Sprauve (en) MédaillesRang : Or0 Arg.0 Bron.0 Total0 Historique Jeux olympiques d'été 1896 1900 1904 190...

Mortier Deelgemeente in België Situering Gewest Wallonië Provincie Luik Gemeente Blegny Fusie 1977 Coördinaten 50° 41′ NB, 5° 45′ OL Algemeen Oppervlakte 5,01 km² Inwoners (1/1/2020) 1.312 (262 inw./km²) Overig Postcode 4670 NIS-code 62119(B) Detailkaart Locatie in Luik (provincie) Portaal    België Mortier is een deelgemeente van de Belgische gemeente Blegny. Mortier ligt in de Waalse provincie Luik en was tot 1 januari 1977 een zelfstandige gemeente. Geschieden...

The Sanctuary of Macereto is a Renaissance-style chapel or Marian shrine in Visso, province of Macerata, Marche, Italy. Built between 1528 and 1538 around a rustic 14th-century chapel housing a venerated statue of the Madonna, it is located in the Parco Nazionale dei Monti Sibillini. Sanctuary of Macereto. History The sanctuary is on a site formerly occupied by the medieval castle of Macereto, built below Mount Grotagna. Its strategic position controlled intersecting routes that crossed the i...

Nigerian visual artist Toyin Ojih OdutolaBorn1985 (age 37–38)Ife, NigeriaNationalityNigeria United StatesEducation California College of the Arts University of Alabama in Huntsville OccupationVisual artistKnown forpastel, charcoal, pencil, black pen inkWebsitetoyinojihodutola.com Toyin Ojih Odutola (born 1985) is a Nigerian-American contemporary visual artist known for her vivid multimedia drawings and works on paper.[1] Her unique style of complex mark-making and lavi...

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Sammakka Saralamma Jatara – news · newspapers · books · scholar · JSTOR (February 2019) (Learn how and when...

2020 drama film MinamataUK theatrical release posterDirected byAndrew LevitasScreenplay byDavid KesslerBased onMinamataby Aileen Mioko SmithEugene SmithProduced by Johnny Depp Andrew Levitas Sam Sarkar Kevan Van Thompson Starring Johnny Depp Hiroyuki Sanada Minami Jun Kunimura Ryo Kase Tadanobu Asano Bill Nighy CinematographyBenoît DelhommeEdited byNathan NugentMusic byRyuichi SakamotoProductioncompanies Ingenious Metalwork Pictures Infinitum Nihil Wilderness Foundation Global Distributed by...

Shinto shrine in Gunma Prefecture, Japan Haruna Shrine榛名神社Honden of Haruna JinjaReligionAffiliationShintoLocationLocation849 Harunasan-cho, TakasakiGunma 〒370-3341Shown within JapanGeographic coordinates36°27′30.57″N 138°51′08″E / 36.4584917°N 138.85222°E / 36.4584917; 138.85222ArchitectureDate established586Websitewww.haruna.or.jp Glossary of Shinto Haruna Shrine (榛名神社, Haruna Jinja) is a Shinto shrine located in Takasaki, Gunma Prefectur...

1965 studio album by the Kinks KinkdomStudio album by the KinksReleased24 November 1965RecordedJuly 1964 – August 1965StudioPye and IBC, LondonGenreRock[1]Length27:23LabelRepriseProducerShel TalmyThe Kinks US chronology Kinda Kinks(1965) Kinkdom(1965) The Kink Kontroversy(1966) Singles from Kinkdom A Well Respected Man / Such a ShameReleased: 4 November 1965 Professional ratingsReview scoresSourceRatingAllMusic[2]The New Rolling Stone Album Guide[3] Kinkdom is a ...

Gebiet Aqmola Ақмола облысыАкмолинская область Wappen Basisdaten Staat: Kasachstan Verwaltungssitz: Kökschetau Gegründet: 14. Oktober 1939   Koordinaten: 52° 0′ N, 69° 0′ O5269Koordinaten: 52° 0′ N, 69° 0′ O Zeitzone: EKST (UTC+6)   Fläche: 146.219 km² Einwohner: 787.971 (1. Jan. 2023)[1] Bevölkerungsdichte: 5 Einwohner je km²   Postleitzahlen: 02xxxx Telefonvorwahl: (+7) 717 Kf...

Gesù Divino LavoratoreEsternoStato Italia RegioneLazio LocalitàRoma Coordinate41°52′07.9″N 12°27′57.82″E / 41.86886°N 12.46606°E41.86886; 12.46606Coordinate: 41°52′07.9″N 12°27′57.82″E / 41.86886°N 12.46606°E41.86886; 12.46606 Religionecattolica di rito romano TitolareGesù Diocesi Roma Consacrazione15 maggio 1960 ArchitettoRaffaello Fagnoni Stile architettonicomoderno Inizio costruzione24 maggio 1955 Completamento1960 Sito webpar...

English Royal Naval officer and novelist (1792–1848) Frederick MarryatPortrait by John Simpson, 1826Born(1792-07-10)10 July 1792Westminster, London, UKDied9 August 1848(1848-08-09) (aged 56)Langham, Norfolk, UKOccupationRoyal Navy officer, writer, novelistPeriod19th centuryGenreSea stories and children's literature Captain Frederick Marryat CB FRS[1] (10 July 1792 – 9 August 1848)[2] was a Royal Navy officer, a novelist, and an acquaintance of Charles Dickens. He ...

X легион Всадникилат. Legio X Equestris Страна Древний Рим Дислокация Бибракта Legio X Equestris (Legio X Veneria, Legio X Caesaris). Сформирован в 66 году до н. э. проконсулом Нарбонской Галлии Гаем Кальпурнием Пизоном для борьбы с восставшим племен галлов-алоброгов. В дальнейшем оставался в этой про...

Kembali kehalaman sebelumnya