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:

Asilidae Zosteria sp. Klasifikasi ilmiah Kerajaan: Animalia Filum: Arthropoda Kelas: Insecta Ordo: Diptera Subordo: Brachycera Infraordo: Asilomorpha Superfamili: Asiloidea Famili: Asilidae Subfamili Apocleinae Asilinae Dasypogoninae Laphriinae Leptogastrinae Ommatiinae Stenopogoninae Stichopogoninae Trigonomiminae Asilidae atau lalat perampok (robber fly) adalah famili lalat yang dikenal akan sifatnya yang agresif. Lalat dalam famili ini biasanya memakan serangga lain dan menyergap mangsanya se…

يو-1305   الجنسية  ألمانيا النازية الشركة الصانعة فلنسبرجر  المالك  كريغسمارينه المشغل البحرية الروسيةالبحرية السوفيتيةكريغسمارينه (13 سبتمبر 1944–8 مايو 1945)[1]  المشغلون الحاليون وسيط property غير متوفر. المشغلون السابقون وسيط property غير متوفر. التكلفة وسيط property غير

Sophia Loren received an Academy Award for Best Actress for her performance in Two Women and a Best Actress nomination for Marriage Italian Style. The Academy of Motion Picture Arts and Sciences has given Academy Awards to actors and actresses for non-English performances in films, with the first award given in 1961. For an actor or actress to be eligible for any of the Academy Awards for Best Actor, Best Actress, Best Supporting Actor, or Best Supporting Actress for a foreign language performan…

درتشة درچه  - قرية -  تقسيم إداري البلد  إيران[1] المحافظة لرستان المقاطعة أليغودرز الناحية ناحية زاز وماهرو القسم الريفي قسم زاز الغربي الريفي (مقاطعة أليغودرز) السكان التعداد السكاني 45 نسمة (إحصاء 2006) معلومات أخرى التوقيت توقيت إيران (+3:30 غرينيتش) توقيت صيفي

اضغط هنا للاطلاع على كيفية قراءة التصنيف حقيقيات النوىالعصر: 2.1 مليار سنة مضت (محتمل 2.7 مليار سنة مضت) - الآن البشائر الطلائع السحيق الجهنمي حقيقيات النوى وبعض الأمثلة على تنوعها المرتبة التصنيفية نطاق[1]،  ومملكة عليا  [لغات أخرى]‏[2]  التصنيف العلمي النطا

Карта поляка Карта поляка — документ, який підтверджує приналежність особи до польського народу поза межами історичної батьківщини. Власникові Карти поляка належать права, визначені законом від 07 вересня 2007 року про Карту поляка, ухваленого Сеймом Республіки Польща 7 …

Teddy Riner Cannes 2016 Persoonlijke informatie Volledige naam Teddy Pierre-Marie Riner Bijnaam Teddy Bear Teddy Winner Geboortedatum 7 april 1989 Geboorteplaats Les Abymes Nationaliteit  Frankrijk Lengte 2,04 m Gewicht 150 kg Sportieve informatie Discipline judo Onderde(e)l(en) zwaargewicht Eerste titel Europees jeugdkampioen judo (zwaargewicht) 2006 Olympische Spelen 3 2008 - 1 2012 - 1 2016 - 3 2020 Portaal    Sport Teddy Riner (Les Abymes, 7 april 1989) is een Franse judoka. H…

Pesta Olahraga Persemakmuran (bahasa Inggris: Commonwealth Games) adalah ajang olahraga multinasional. Diadakan setiap empat tahun sekali, melibatkan atlet-atlet terbaik dari negara-negara persemakmuran. Atlet yang ikut terlibat dalam ajang ini adalah sekitar 5000 altet. Commonwealth Games Federation (CGF) adalah organisasi yang bertanggung jawab untuk mengarahkan dan mengendalikan ajang ini. Logo resmi Pesta Olahraga Persemakmuran pada 2019 Pertama kali, ajang ini dikenal dengan British Games, …

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يونيو 2021) إلياس ديب كاتب وفنان تشكيلي، ويُعد أحد أهم التشكيليين من رواد نهضة الفنون البصرية الذي عمل على الارتقاء بها[1] النشأة والتعليم ولد ديب عام 1945، ونال شهادة ا

Saudade (1899), karya Almeida Júnior Bagian dari seri tentangCintaRed-outline heart icon Jenis-jenis cinta Afeksi Ikatan Patah hati Cinta yang penuh kasih Cinta konjugal Cinta bahaduri Pacaran Troubadour Jatuh cinta Persahabatan cross-sex romantis Zona pertemanan Keramahan Hubungan antar pribadi Intimasi Limerence Kecanduan cinta Cinta pada pandangan pertama Cinta segitiga Penyakit cinta Lovestruck Cinta obsesif Passion Cinta platonik Cinta monyet Relationship Romantis Cinta diri Amour de soi C…

Друга діброва червоного дуба 48°06′07″ пн. ш. 28°57′42″ сх. д. / 48.102220000027777758° пн. ш. 28.96194000002777713° сх. д. / 48.102220000027777758; 28.96194000002777713Координати: 48°06′07″ пн. ш. 28°57′42″ сх. д. / 48.102220000027777758° пн. ш. 28.96194000002777713° сх. д. / 48.10222000…

Сухий степ Ярлунг-Цангпо Долина Ярлунг-Цангпо[en] в окрузі Шигацзе Екозона Палеарктика Біом Гірські луки та чагарники Статус збереження критичний/зникаючий Назва WWF PA1022 Межі Альпійський степ Центрального ТибетуАльпійські чагарники та луки ТибетуЧагарники та луки Пі…

1982 studio album by Aldo NovaAldo NovaStudio album by Aldo NovaReleasedJanuary 18, 1982[1]Recorded1981StudioBobinason Studios, Montreal, Canada and Kingdom Sound, Long Island, New YorkGenre Hard rock pop metal Length37:47LabelPortraitProducerAldo NovaAldo Nova chronology Aldo Nova(1982) Subject...Aldo Nova(1983) Aldo Nova is the debut studio album by Canadian rock musician Aldo Nova, released on January 18, 1982. It reached number 8 on the Billboard 200 and was certified Go…

Japanese multinational corporation that specializes in optics This article is about the corporation. For people named Nikon, see Nikon (disambiguation). Nikon CorporationLogo since 2003Headquaters at Shinagawa Inter City in Kōnan, TokyoNative name株式会社ニコンRomanized nameKabushiki-gaisha NikonTypePublicTraded asTYO: 7731IndustryConsumer electronicsFoundedJuly 25, 1917; 106 years ago (1917-07-25)Tokyo CityHeadquartersKōnan, Minato, Tokyo, JapanArea servedWorldwideKey…

Railway station in Matsusaka, Mie Prefecture, Japan Gongemmae Station権現前駅Gongemmae StationGeneral informationLocationUreshino Gongmmae-cho 861, Matsusaka-shi, Mie-ken 515-2323JapanCoordinates34°37′04″N 136°28′57″E / 34.6179°N 136.4824°E / 34.6179; 136.4824Operated by JR TōkaiLine(s)■ Meishō LineDistance7.0 km from MatsusakaPlatforms1 side platformConnections Bus terminal HistoryOpenedAugust 25, 1929PassengersFY201933 daily LocationGongemmae St…

دار السراج (محلة) تقسيم إداري البلد  اليمن المحافظة محافظة إب المديرية مديرية السبرة العزلة عزلة زبيد القرية قرية الجرف السكان التعداد السكاني 2004 السكان 74   • الذكور 36   • الإناث 38   • عدد الأسر 10   • عدد المساكن 8 معلومات أخرى التوقيت توقيت اليمن (+3 غرينيتش) تعديل …

Untuk the 1998 British serial, lihat Coming Home (TV serial). Coming HomePoster rilis teatrikalSutradara Hal Ashby Produser Jerome Hellman Ditulis oleh Waldo Salt Robert C. Jones SkenarioWaldo SaltRobert C. JonesCeritaNancy DowdPemeranJane FondaJon VoightBruce DernSinematograferHaskell WexlerPenyuntingDon ZimmermanDistributorUnited ArtistsTanggal rilis 15 Februari 1978 (1978-02-15) Durasi126 menitNegara Amerika Serikat Bahasa Inggris Anggaran$3 jutaPendapatankotor$36 juta[1] Coming …

Book by Swami Vivekananda Raja Yoga Title page of 1920 editionAuthorSwami VivekanandaLanguageHindiSubjectPhilosophyPublication date1896TextRaja Yoga at Wikisource Raja Yoga is a book by Swami Vivekananda about Raja Yoga, his interpretation of Patanjali's Yoga Sutras adapted for a Western audience.[1] The book was published in July 1896.[2] It became an instant success and was highly influential in the Western understanding of yoga.[3] Contents and ideas Raja Yoga contains…

Canadian author 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 biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Sigmund Brouwer…

Ini adalah nama Batak Angkola, marganya adalah Siregar. Ersa SiregarLahirSory Ersa Siregar(1951-12-04)4 Desember 1951Berastagi, Karo, Sumatera Utara[1]Meninggal29 Desember 2003(2003-12-29) (umur 52) Langsa, Aceh, IndonesiaMakamCarang Pulang, Legok, Tangerang, IndonesiaPekerjaanJurnalisTahun aktif1990—2003Suami/istriTuty Komala Bintang HasibuanAnak1. Ridhwan Ermalamora Siregar2. Syawaluddin Ade Syahfitrah Siregar3. Meiliani Fauziah SiregarOrang tuaBaginda Madjid Siregar (bapak…

Kembali kehalaman sebelumnya

Lokasi Pengunjung: 18.191.223.123