B-Method

The B method is a method of software development based on B, a tool-supported formal method based on an abstract machine notation, used in the development of computer software.[1][2]

Overview

B was originally developed in the 1980s by Jean-Raymond Abrial[3][4] in France and the UK. B is related to the Z notation (also originated by Abrial) and supports development of programming language code from specifications. B has been used in major safety-critical system applications in Europe (such as the automatic Paris Métro lines 14 and 1 and the Ariane 5 rocket).[5][6][7] It has robust, commercially available tool support for specification, design, proof and code generation.

Compared to Z, B is slightly more low-level and more focused on refinement to code rather than just formal specification — hence it is easier to correctly implement a specification written in B than one in Z. In particular, there is good tool support for this. The same language is used in specification, design and programming. Mechanisms include encapsulation and data locality.

Event-B

Subsequently, another formal method called Event-B[8][9][10] has been developed based on the B-Method, support by the Rodin Platform.[11][12] Event-B is a formal method aimed at system-level modelling and analysis. Features of Event-B are the use of set theory for modelling, the use of refinement to represent systems at different levels of abstraction, and the use of mathematical proof for verifying consistency between these refinement levels.

The main components

The B notation depends on set theory and first order logic in order to specify different versions of software that covers the complete cycle of project development.

Abstract machine

In the first and the most abstract version, which is called Abstract Machine, the designer should specify the goal of the design.

Refinement

  • Then, during a refinement step, they may pad the specification in order to clarify the goal or to turn the abstract machine more concrete by adding details about data structures and algorithms that define, how the goal is achieved.
  • The new version, which is called Refinement, should be proven to be coherent and including all the properties of the abstract machine.
  • The designer may make use of B libraries in order to model data structures or to include or import existing components.

Implementation

  • The refinement continues until a deterministic version is achieved: the Implementation.
  • During all of the development steps the same notation is used and the last version may be translated to a programming language for compilation.

Software

B-Toolkit

The B-Toolkit[13][14] is a collection of programming tools designed to support the use of the B-Tool,[15] is a set theory-based mathematical interpreter, for the purposes of supporting the B-Method. Development was originally undertaken by Ib Holm Sørensen and others, at BP Research and then at B-Core (UK) Limited.[16]

The toolkit uses a custom X Window Motif Interface[17] for GUI management and runs primarily on the Linux, Mac OS X and Solaris operating systems.

The B-Toolkit source code is now available.[18]

Atelier B

Developed by ClearSy, Atelier B[19][20] is an industrial tool that allows for the operational use of the B Method to develop defect-free proven software (formal software). Two versions are available: 1) Community Edition available to anyone without any restriction; 2) Maintenance Edition for maintenance contract holders only. Atelier B has been used to develop safety automatisms for the various subways installed throughout the world by Alstom and Siemens, and also for Common Criteria certification and the development of system models by ATMEL and STMicroelectronics.

Rodin

The Rodin Platform is a tool that supports Event-B.[8][21][11] Rodin is based on an Eclipse software IDE (integrated development environment) and provides support for refinement and mathematical proof. The platform is open source and forms part of the Eclipse framework It is extendable using software component plug-ins. The development of Rodin has been supported by the European Union projects DEPLOY (2008–2012), RODIN (2004–2007), and ADVANCE (2011–2014).[8]

BHDL

BHDL provides a method for the correct design of digital circuits, combining the advantages of the hardware description language VHDL with the formality of B.[22]

APCB

APCB (French: Association de Pilotage des Conférences B, the International B Conference Steering Committee) has organized meetings associated with the B-Method.[23] It has organized ZB conferences with the Z User Group and ABZ conferences, including Abstract State Machines (ASM) as well as the Z notation.

Books

  • The B-Book: Assigning Programs to Meanings, Jean-Raymond Abrial, Cambridge University Press, 1996. ISBN 0-521-49619-5.
  • The B-Method: An Introduction, Steve Schneider, Palgrave Macmillan, Cornerstones of Computing series, 2001. ISBN 0-333-79284-X.
  • Software Engineering with B, John Wordsworth, Addison Wesley Longman, 1996. ISBN 0-201-40356-0.
  • The B Language and Method: A Guide to Practical Formal Development, Kevin Lano, Springer-Verlag, FACIT series, 1996. ISBN 3-540-76033-4.
  • Specification in B: An Introduction using the B Toolkit, Kevin Lano, World Scientific Publishing Company, Imperial College Press, 1996. ISBN 1-86094-008-0.
  • Modeling in Event-B: System and Software Engineering, Jean-Raymond Abrial, Cambridge University Press, 2010. ISBN 978-0-521-89556-9.

Conferences

The following conferences have explicitly included the B-Method and/or Event-B:

  • Z2B Conference, Nantes, France, 10–12 October 1995
  • First B Conference, Nantes, France, 25–27 November 1996
  • Second B Conference, Montpellier, France, 22–24 April 1998
  • ZB 2000, York, United Kingdom, 28 August – 2 September 2000
  • ZB 2002, Grenoble, France, 23–25 January 2002
  • ZB 2003, Turku, Finland, 4–6 June 2003
  • ZB 2005, Guildford, United Kingdom, 2005
  • B 2007, Besançon, France, 2007
  • B, from research to teaching, Nantes, France, 16 June 2008
  • B, from research to teaching, Nantes, France, 8 June 2009
  • B, from research to teaching, Nantes, France, 7 June 2010
  • ABZ 2008, British Computer Society, London, United Kingdom, 16–18 September 2008
  • ABZ 2010, Orford, Québec, Canada, 23–25 February 2010
  • ABZ 2012, Pisa, Italy, 18–22 June 2012
  • ABZ 2014, Toulouse, France, 2–6 June 2014
  • ABZ 2016, Linz, Austria, 23–27 May 2016
  • ABZ 2018, Southampton, United Kingdom, 2018
  • ABZ 2020, Ulm, Germany, 2021 (delayed due to the COVID-19 pandemic)
  • ABZ 2021, Ulm, Germany, 2021

See also

References

  1. ^ Cansell, Dominique, and Dominique Méry. "Foundations of the B method." Computing and informatics 22, no. 3-4 (2003): 221-256.
  2. ^ Butler, Michael, Philipp Körner, Sebastian Krings, Thierry Lecomte, Michael Leuschel, Luis-Fernando Mejia, and Laurent Voisin. "The first twenty-five years of industrial use of the B-method." In International Conference on Formal Methods for Industrial Critical Systems, pp. 189-209. Springer, Cham, 2020.
  3. ^ Jean-Raymond Abrial (1988). "The B Tool (Abstract)" (PDF). In Bloomfield, Robin E.; Marshall, Lynn S.; Jones, Roger B. (eds.). VDM – The Way Ahead, Proc. 2nd VDM-Europe Symposium. Lecture Notes in Computer Science. Vol. 328. Springer. pp. 86–87. doi:10.1007/3-540-50214-9_8. ISBN 978-3-540-50214-2.
  4. ^ Abrial, J-R., Matthew KO Lee, D. S. Neilson, P. N. Scharbach, and Ib Holm Sørensen. "The B-method." In International Symposium of VDM Europe, pp. 398-405. Springer, Berlin, Heidelberg, 1991.
  5. ^ Gerhart, Susan, D. Craigen, and Ted Ralston. "Case study: Paris metro signaling system." IEEE Software 11, no. 1 (1994): 32-28.
  6. ^ Behm, Patrick, Paul Benoit, Alain Faivre, and Jean-Marc Meynadier. "METEOR: A successful application of B in a large project." In International Symposium on Formal Methods, pp. 369-387. Springer, Berlin, Heidelberg, 1999.
  7. ^ Lecomte, Thierry. "Applying a formal method in industry: a 15-year trajectory." In International workshop on formal methods for industrial critical systems, pp. 26-34. Springer, Berlin, Heidelberg, 2009.
  8. ^ a b c "Event-B and the Rodin Platform". Event-B.org.
  9. ^ Butler, Michael. "Decomposition structures for Event-B." In International Conference on Integrated Formal Methods, pp. 20-38. Springer, Berlin, Heidelberg, 2009.
  10. ^ Abrial, Jean-Raymond. Modeling in Event-B: system and software engineering. Cambridge University Press, 2010.
  11. ^ a b Abrial, Jean-Raymond, Michael Butler, Stefan Hallerstede, Thai Son Hoang, Farhad Mehta, and Laurent Voisin. "Rodin: an open toolset for modelling and reasoning in Event-B." International journal on software tools for technology transfer 12, no. 6 (2010): 447-466.
  12. ^ Hoang, Thai Son, Andreas Fürst, and Jean-Raymond Abrial. "Event-B patterns and their tool support." Software & Systems Modeling 12, no. 2 (2013): 229-244.
  13. ^ "The B-Toolkit". [B-Core (UK) Limited]. 2004. Archived from the original on October 12, 2004. Retrieved February 22, 2012.
  14. ^ Haughton, Howard, and Kevin Lano. Specification in B: An introduction using the B toolkit. World Scientific, 1996.
  15. ^ Abrial, Jean-Raymond. "The B Tool." In International Symposium of VDM Europe, pp. 86-87. Springer, Berlin, Heidelberg, 1988.
  16. ^ Bowen, Jonathan (July 2022). "Ib Holm Sørensen: Ten Years After" (PDF). FACS FACTS. No. 2022–2. BCS-FACS. pp. 41–49. Retrieved 3 August 2022.
  17. ^ B-Toolkit Requirements Archived 2004-10-12 at the Wayback Machine
  18. ^ Crichton, Edward. "B-Toolkit source code". GitHub.
  19. ^ "AtelierB.eu".
  20. ^ Mentré, David, Claude Marché, Jean-Christophe Filliâtre, and Masashi Asuka. "Discharging proof obligations from Atelier B using multiple automated provers." In International Conference on Abstract State Machines, Alloy, B, VDM, and Z, pp. 238-251. Springer, Berlin, Heidelberg, 2012.
  21. ^ Abrial, J-R. "A system development process with Event-B and the Rodin platform." In International Conference on formal engineering methods, pp. 1-3. Springer, Berlin, Heidelberg, 2007.
  22. ^ Aljer, Ammar, Philippe Devienne, Sophie Tison, J-L. Boulanger, and Georges Mariano. "BHDL: Circuit design in B." In Third International Conference on Application of Concurrency to System Design, 2003. Proceedings., pp. 241-242. IEEE, 2003.
  23. ^ "Association de pilotage des conférences B". librairiecosmopolite.com. Retrieved 27 July 2022.

Read other articles:

此條目需要擴充。 (2015年11月27日)请協助改善这篇條目,更進一步的信息可能會在討論頁或扩充请求中找到。请在擴充條目後將此模板移除。 卡洛斯·梅内姆阿根廷總統府官方照片第47任阿根廷總統任期1989年7月8日—1999年12月10日副总统爱德华多·杜阿尔德卡洛斯·鲁考夫(英语:Carlos Ruckauf)前任劳尔·阿方辛 个人资料出生(1930-07-02)1930年7月2日 阿根廷拉里奥哈省阿尼利亚科…

South African municipal elections which were held on 1 November 2021 2021 South African municipal elections ← 2016 1 November 2021 2026 → All councillors for all 8 metropolitan municipalities All councillors for all 205 local municipalities 40% of councillors for all 44 district municipalities   First party Second party Third party   Leader Cyril Ramaphosa John Steenhuisen Julius Malema Party ANC DA EFF Popular vote 45.59% 21.62% 10.32% Swing 8.32% 5.28% 2.13…

Moscow Metro station Yugo-ZapadnayaЮго-ЗападнаяMoscow Metro stationGeneral informationLocationTroparyovo-Nikulino DistrictWestern Administrative OkrugMoscowRussiaCoordinates55°39′49″N 37°29′00″E / 55.6637°N 37.4833°E / 55.6637; 37.4833Owned byMoskovsky MetropolitenLine(s) Sokolnicheskaya linePlatforms1Tracks2ConnectionsBus: 66, 144, 196, 226, 227, 272, 261, 272, 281, 611, 611с, 630, 642, 688, 699, 707, 707к, 718, 720, 735, 752, 785, 802, 816,…

Сельское поселение России (МО 2-го уровня)Новотитаровское сельское поселение Флаг[d] Герб 45°14′09″ с. ш. 38°58′16″ в. д.HGЯO Страна  Россия Субъект РФ Краснодарский край Район Динской Включает 4 населённых пункта Адм. центр Новотитаровская Глава сельского посел…

Act of the Parliament of Australia Broadcasting Services Act 1992Parliament of AustraliaCitationNo. 110, 1992 as amended or No. 110 of 1992Territorial extentStates and territories of AustraliaRoyal assent14 July 1992[1]Status: Amended The Broadcasting Services Act 1992 (Cth) is an Act of the Parliament of Australia, which broadly covers issues relating to content regulation and media ownership in Australia.[2][3] The law stipulates what is political advertising and the sp…

Penduduk Indonesia 1971 hingga tahun 1971 mencapai 119.208.229 jiwa. Provinsi Jawa Timur memiliki jumlah penduduk terbanyak yaitu 25.516.999 jiwa dan Provinsi Bengkulu memiliki jumlah penduduk tersedikit yaitu 519.316 jiwa. Jumlah penduduk berdasarkan urutan Provinsi Jumlah penduduk Kepadatan Penduduk per km² Jawa Timur 25.516.999 Jawa Tengah 21.877.136 Jawa Barat 21.623.529 Sumatera Utara 6.621.831 Sulawesi Selatan 5.180.576 Ibukota Negara Republik Indonesia Jakarta 4.579.303 Sumatera Selatan …

Howie DoroughInformasi latar belakangNama lahirHoward Dwaine DoroughNama lainHowie DGenrePopPekerjaanPenyanyi, aktor, penulis laguInstrumenMenyanyi, gitarTahun aktif1993 ─ sekarangArtis terkaitBackstreet Boys Howard Dwaine Dorough Flores[1] (lahir 22 Agustus 1973), juga disebut Howie D, adalah musisi Amerika Serikat dan anggota grup musik Backstreet Boys. Howie telah berkolaborasi dengan beberapa penyanyi, seperti BoA dan Sarah Geronimo. Pranala luar Backstreet Boys Official Website Di…

Lokasi Dijk en Waard Dijk en Waard adalah sebuah gemeente Belanda yang terletak di provinsi Holland Utara. Pada tahun 2022 daerah ini memiliki penduduk sebesar 87.000 jiwa. Dijk en Waard didirikan pada tahun 2022. Munisipalitas ini didirikan dari dua bekas munisipalitas: Heerhugowaard Langedijk Lihat pula Daftar munisipalitas Belanda Pranala luar (Belanda) Situs resmi Artikel bertopik geografi atau tempat Belanda ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya.l…

Bistum Mogadischu Basisdaten Staat Somalia Kirchenprovinz Immediat Diözesanbischof Sedisvakanz Apostolischer Administrator Giorgio Bertin OFM Generalvikar Valentino Mastaglia OFM Gründung 1904 Fläche 637.657 km² Einwohner 8.073.000 (31.12.2007 / AP2009) Katholiken 100 (31.12.2007 / AP2009) Anteil 0 % Diözesanpriester 1 (31.12.2007 / AP2009) Katholiken je Priester 100 Kathedrale 1998 zerstört Anschrift C.P. 273, Ahmed Bin Idris, Mogadiscio, Somalia Das Bistum Mogadischu (Mogadiscio) (l…

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 to be updated. Please help update this article to reflect recent events or newly available information. (March 2020) This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: …

Part of a series onFascism Principles Actual idealism Aestheticization of politics Anti-communism Anti-intellectualism Anti-materialism Anti-pacifism Authoritarianism Chauvinism Class collaboration Conspiracism Corporatism Cult of personality Dictatorship Direct action Dirigisme Eugenics Heroic capitalism Heroic realism Heroism Imperialism Indoctrination Interventionism Economic Social Irrationalism Machismo Masculinity Militarism National syndicalism Nationalism Integral Palingenetic Ultra New …

Polish sociocultural movement (c. 1820 - 1864) Part of a series on theCulture of Poland History Middle Ages Renaissance Baroque Enlightenment Romanticism Positivism Young Poland Interbellum World War II Polish People's Republic Modern-day People Poles Ethnic minorities Refugees Crime Education Health care Languages Languages Polish Yiddish German Lithuanian Ruthenian Romani (Baltic Romani North Central Romani Sinte Romani Vlax Romani) Silesian Kashubian Vilamovian Traditions Mythology Cuisine Fe…

A selection of cigarette brands sold in the Philippines Tobacco smoking in the Philippines affects a sizable minority of the population. According to the 2015 Global Adult Tobacco Survey (GATS) conducted under the auspices of the Philippines' Department of Health, Philippine Statistics Authority, the World Health Organization, and the United States Centers for Disease Control and Prevention,[1] 23.8 percent of the adult population were current tobacco smokers.[2] This figures rep…

American editor, anthropologist, archaeologist and historian Frederick Webb Hodge (October 28, 1864 – September 28, 1956) was an American editor, anthropologist, archaeologist, and historian. Born in England, he immigrated at the age of seven with his family to Washington, DC. He was educated at American schools, and graduated from Cambridge College (now George Washington University). He became very interested in Native American history and cultures, and worked for the Bureau of American E…

American ride-sharing company Lyft, Inc.Company typePublicTraded asNasdaq: LYFT (Class A)Russell 1000 componentIndustryVehicle for hireFoundedJune 9, 2012; 12 years ago (2012-06-09) (as Zimride)FoundersLogan GreenJohn ZimmerHeadquartersSan Francisco, California, U.S.Area servedUnited StatesCanadaKey peopleLogan Green (chairman)John Zimmer (president)David Risher (CEO)Revenue US$4.40 billion (2023)Operating income US$−476 million (2023)Net income US$−340 million (2023)T…

Oregon Template‑class Oregon portalThis template is within the scope of WikiProject Oregon, a collaborative effort to improve the coverage of the U.S. state of Oregon on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.OregonWikipedia:WikiProject OregonTemplate:WikiProject OregonOregon articlesTemplateThis template does not require a rating on Wikipedia's content assessment scale.The current collaboration…

Labeling a person or group communist/terrorist In the Philippines, red-tagging is the labeling of individuals or organizations as communists, subversives, or terrorists,[1] regardless of their actual political beliefs or affiliations.[2] It is a type of harassment and has pernicious effects on its targets.[3] Red-tagging has been practiced by security forces,[4][5][6][7] government officials or shills. The practice is a relic of the Cold Wa…

Dutch television service Television channel Ziggo Sport TotaalCountryNetherlandsBroadcast areaNetherlandsNetworkZiggoHeadquartersHilversum, NetherlandsProgrammingLanguage(s)DutchPicture format1080i HDTV(downscaled to 16:9 576i for the SDTV feed)OwnershipOwnerLiberty Global (50%)Vodafone (50%)Sister channelsZiggo SportHistoryLaunched1 February 2006; 18 years ago (2006-02-01)ReplacedSuperSport (1995–1997)Canal+ Netherlands (1997–2006)Former namesSport1 (2006–2015)LinksWebsi…

FHL3 بنى متوفرة بنك بيانات البروتينOrtholog search: PDBe RCSB قائمة رموز معرفات بنك بيانات البروتين 1WYH, 2CUQ, 2EHE معرفات أسماء بديلة FHL3, SLIM2, four and a half LIM domains 3 معرفات خارجية الوراثة المندلية البشرية عبر الإنترنت 602790 MGI: MGI:1341092 HomoloGene: 37928 GeneCards: 2275 علم الوجود الجيني وظائف جزيئية • actin binding• ‏GO:0001948…

Kuba-AmerikaDaerah dengan populasi signifikanUmumnya di Miami/Fort Lauderdale Area, Tampa, California, New Jersey, New York. Populasi bertumbuh di Texas, Carolina Utara, Carolina Selatan, dan Georgia.BahasaBahasa Spanyol, Bahasa InggrisAgamaUmumnya: Katolik Roma Minoritas:Protestan, Santería, YudaismeKelompok etnik terkaitBangsa Spanyol, Bangsa HispanikAfrika-Kuba, Yahudi Kuba, Tionghoa Kuba Kuba Amerika (bahasa Spanyol: Cubanoamericanos)[1] adalah orang Amerika yang memiliki leluhu…