q2K BHP
Black History Portal
THE BHP WIRE —
HIDDEN TRUTHS
What's New!
THE JOURNEY THROUGH TIME

Explore Black History

Explore the people, places, events, achievements, struggles and stories that shaped our journey.

✊🏾

Civil Rights

Movements, leaders, victories and the continuing fight for equality.

⚙️

Black Inventors

Innovation, patents, science, technology and world-changing contributions.

🏆

Sports

Pioneers, champions, Negro Leagues, records, activism and excellence.

♟️

People

Meet the people whose lives, choices and achievements shaped the journey.

📍

Places

Black towns, communities, institutions and places where history happened.

📜

Events

Moments that changed communities, movements, institutions and the nation.

Enter a person, place, event, or topic.
MY'STORY

The MOVE Fire

This is a personal recollection on the Move fire on May 13, 1985 Philadelphia police fired thousands of rounds at the MOVE house, city officials approved dropping an explosive device on the roof, the resulting fire was allowed to burn, 11 people—including five children—died, and 61 homes were destroyed. Philadelphia City Council later called it a “brutal attack carried out by the City of Philadelphia on its own citizens” and acknowledged that no individual faced criminal consequences for the bombing. One timeline correction worth preserving for the BHP record: the major previous MOVE-police confrontation was August 8, 1978, about seven years before the bombing, not a year or two earlier. Officer James Ramp was killed, other police and firefighters were wounded, nine MOVE members were later convicted, and television cameras recorded police beating Delbert Africa during his arrest. The 1985 MOVE Commission later specifically criticized city planners for failing to adequately use lessons from that 1978 confrontation. And that actually strengthens the point you’re making: 1985 did not happen without precedent or institutional memory. There had already been a deadly confrontation with MOVE, years of conflict, negotiations and police involvement before Osage Avenue.

MORE →
BLACK FACTS
The Truths They Never Taught You...

Wilmington 1898 — An American Coup

Wilmington, North Carolina once had a thriving Black middle class and an elected interracial government. In 1898 white supremacists used violence to overthrow that government, kill Black residents and drive many others from the city.

MORE →
BHP gathered finds from its connected research sources. Showing the 4 strongest Black History matches.
← BACK TO RESULTS
Wikipedia

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]

Compared to the Z notation, 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.

History

[edit]
Jean-Raymond Abrial, the originator of the B-Method and Event-B

B was originally developed in the 1980s by Jean-Raymond Abrial[3][4] in France and the UK.[5] B is related to the Z notation (also originated by Abrial) and supports the 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).[6][7][8] It has robust, commercially available tool support for specification, design, proof and code generation.

Ib Holm Sørensen [dk], leader of the B-Toolkit development team and founder of B-Core

From the late 1980s, Ib Holm Sørensen [dk] (1949–2012) was central to the development of the B-Method,[9][10] having previously also worked on the early development of the Z notation. He left the Oxford University Computing Laboratory to lead a team for BP Research[11] and to develop the B-Toolkit, providing tool support for the B-Method. Subsequently, he founded the company B-Core (UK) Limited to support the B-Toolkit,[12][13] which is a collection of programming tools designed to support the use of the B notation, and he helped to complete a number of B-related projects.

Event-B

[edit]

Subsequently, another formal method called Event-B[14][15][16] has been developed based on the B-Method, supported by the Rodin Platform.[17][18] 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

[edit]

The B notation depends on set theory and first order logic to specify different levels of software description covering the complete cycle of project development.

Abstract machine

[edit]

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

Refinement

[edit]
  • 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 include 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

[edit]
  • 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

[edit]

There are a number of software supporting the B-Method and Event-B.

Atelier B

[edit]

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.

B-Toolkit

[edit]

The B-Toolkit[21][22] is a collection of programming tools designed to support the use of the B-Tool,[23] 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.[10]

The toolkit uses a custom X Window Motif Interface[24] for GUI management and runs primarily on the Linux, Mac OS X and Solaris operating systems. The B-Toolkit source code is available on GitHub.[25]

Click'n'Prove tool interface, an interactive theorem prover to assist with formal proofs using the B-Method

Click'n'Prove

[edit]

The Click'n'Prove tool provides an environment for the generation and discharge of proof obligations, for consistency and refinement checking.[26]

ProB

[edit]

ProB is a combined software animation tool and model checker for the B-Method.[27] It enables the animation of many B specifications, and can also systematically check a specification for several types of errors. ProB includes constraint-solving facilities that can be used to aid in deadlock checking, model discovery, and test-case generation. The tool is developed by the STUPS group at the Heinrich Heine University Düsseldorf.[28]

Rodin

[edit]

The Rodin Platform is a tool that supports Event-B.[14][29][17] 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).[14]

Others

[edit]

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.[30]

APCB

[edit]

APCB (French: Association de Pilotage des Conférences B, the International B Conference Steering Committee) has organized meetings associated with the B-Method.[31] 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

[edit]
  • 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

[edit]

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

  • 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, BCS, 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, 5–8 June 2018
  • ABZ 2020, Ulm, Germany, 9–13 June 2020 (delayed due to the COVID-19 pandemic)
  • ABZ 2021, Ulm, Germany, 9–13 June 2021
  • ABZ 2023, Nancy, France, 30 May – 2 June 2023
  • ABZ 2024, Bergamo, Italy, 25–28 2024
  • ABZ 2025, Düsseldorf, Germany, 10–13 June 2025
  • ABZ 2026, Tokyo, Japan, 18–20 May 2026

See also

[edit]

References

[edit]
  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. ^ Bowen, Jonathan P.; Habrias, Henri (April–June 2025). "Jean-Raymond Abrial: A Scientific Biography of a Formal Methods Pioneer". IEEE Annals of the History of Computing. 48 (2). IEEE Computer Society: 71–80. arXiv:2604.07353. doi:10.1109/MAHC.2026.3685515.
  6. ^ Gerhart, Susan, D. Craigen, and Ted Ralston. "Case study: Paris metro signaling system." IEEE Software 11, no. 1 (1994): 32-28.
  7. ^ 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.
  8. ^ 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.
  9. ^ Bhattacharya, Sourav; Winter, Victor L., eds. (2012). "8. History of B". High Integrity Software. Springer. p. 40. ISBN 978-1461513919.
  10. ^ a b Bowen, Jonathan (July 2022). "Ib Holm Sørensen: Ten Years After" (PDF). FACS FACTS (2022–2). BCS-FACS: 41–49. Retrieved 3 August 2022.
  11. ^ Crichton, Edward (29 March 2022). "BToolkit". GitHub.
  12. ^ Roscoe, Bill (8 February 2012). "Ib Sorensen – In memoriam". Department of Computer Science, University of Oxford, UK.
  13. ^ Wordsworth, J. B. (1996). Software Engineering With B. Addison-Wesley. ISBN 978-0201403565
  14. ^ a b c "Event-B and the Rodin Platform". Event-B.org.
  15. ^ Butler, Michael. "Decomposition structures for Event-B." In International Conference on Integrated Formal Methods, pp. 20-38. Springer, Berlin, Heidelberg, 2009.
  16. ^ Abrial, Jean-Raymond. Modeling in Event-B: system and software engineering. Cambridge University Press, 2010.
  17. ^ 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.
  18. ^ 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.
  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. ^ "The B-Toolkit". [B-Core (UK) Limited]. 2004. Archived from the original on October 12, 2004. Retrieved February 22, 2012.
  22. ^ Haughton, Howard, and Kevin Lano. Specification in B: An introduction using the B toolkit. World Scientific, 1996.
  23. ^ Abrial, Jean-Raymond. "The B Tool." In International Symposium of VDM Europe, pp. 86-87. Springer, Berlin, Heidelberg, 1988.
  24. ^ B-Toolkit Requirements Archived 2004-10-12 at the Wayback Machine
  25. ^ Crichton, Edward. "B-Toolkit source code". GitHub.
  26. ^ Abrial, J.-R.; Cansell, D. (2003). "Click'n Prove: Interactive Proofs within Set Theory". In Basin, D.; Wolff, B. (eds.). Theorem Proving in Higher Order Logics (TPHOLs). Lecture Notes in Computer Science. Vol. 2758. Berlin, Heidelberg: Springer. doi:10.1007/10930755_1.
  27. ^ "What is ProB?". Germany: Heinrich-Heine-Universität Düsseldorf. Retrieved 28 March 2026.
  28. ^ "ProB?". railML.org. Retrieved 28 March 2026.
  29. ^ 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.
  30. ^ 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 Proceedings, pp. 241–242. IEEE, 2003.
  31. ^ "Association de pilotage des conférences B". librairiecosmopolite.com. Retrieved 27 July 2022.
  32. ^ "Conferences". ABZ. Retrieved 16 January 2026.
[edit]

Source: Wikipedia. Article content is retrieved live through the MediaWiki API.

No preview image
Wikipedia

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. Compared to the Z notation, 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.

MORE →
No preview image
Wikipedia

Tukey's B method

Tukey's B method, also known as the Tukey-Kramer B procedure, or Tukey's Wholly Significant Difference (WSD) is a post-hoc multiple comparison statistical test used to identify which specific group means differ significantly from each other after a statistically significant result has been obtained from an analysis of variance (ANOVA). It is considered a compromise between two other popular multiple comparison procedures: Tukey's range test and the Newman-Keuls method. The primary purpose of post-hoc tests like Tukey's B is to control the family-wise error rate (FWER) when performing multiple comparisons. Without such control, the probability of making at least one Type I error increases with the number of comparisons made.

MORE →
No preview image
Wikipedia

Erlang (unit)

The erlang (symbol E) is a dimensionless unit that is used in telephony as a measure of offered load or carried load on service-providing elements such as telephone circuits or telephone switching equipment. A single cord circuit has the capacity to be used for 60 minutes in one hour. Full utilization of that capacity, 60 minutes of traffic, constitutes 1 erlang. Carried traffic in erlangs is the average number of concurrent calls measured over a given period (often one hour), while offered traffic is the traffic that would be carried if all call-attempts succeeded. How much offered traffic is carried in practice will depend on what happens to unanswered calls when all servers are busy. The CCITT named the international unit of telephone traffic the erlang in 1946 in honor of Agner Krarup Erlang. In Erlang's analysis of efficient telephone line usage, he derived the formulae for two important cases, Erlang-B and Erlang-C, which became foundational results in teletraffic engineering and queueing theory. His results, which are still used today, relate quality of service to the number of available servers. Both formulae take offered load as one of their main inputs (in erlangs), which is often expressed as call arrival rate times average call length. A distinguishing assumption behind the Erlang B formula is that there is no queue, so that if all service elements are already in use then a newly arriving call will be blocked and subsequently lost. The formula gives the probability of this occurring. In contrast, the Erlang C formula provides for the possibility of an unlimited queue and it gives the probability that a new call will need to wait in the queue due to all servers being in use. Erlang's formulae apply quite widely, but they may fail when congestion is especially high causing unsuccessful traffic to repeatedly retry. One way of accounting for retries when no queue is available is the Extended Erlang B method.

MORE →
Wikipedia

Condorcet method

The Condorcet or majority-rule methods (English: ; French: [kɔ̃dɔʁsɛ]) are a family of election systems that elect the majority-preferred (Condorcet) winner if one exists. A majority-preferred candidate is a candidate who would win a majority of votes in any head-to-head election against any opponent. In other words, they are a candidate who would win in any one-on-one race (one without spoilers). The head-to-head elections need not be done separately; a voter's choice within any given pair can be determined from the ranking. Some elections may not have a Condorcet winner because the majority's preferences can be cyclic: in other words, it is possible every candidate has an opponent that would defeat them in a two-candidate contest. This is similar to a game of rock, paper, scissors: a candidate "scissors" may beat "paper," but still lose to "rock". The possibility of such a cycle is known as Condorcet's paradox. (Empirically, however, such cycles are rare, with most large public elections having a Condorcet winner. As a result, all Condorcet methods reduce to simple majority rule in most cases.) Under many models of voting, the Condorcet winner is typically the same as the socially optimal winner. However, this is not guaranteed to be the case; situations where the two disagree are commonly called tyranny of the majority scenarios (particularly if the disagreement is large). Condorcet voting methods are named for the 18th-century French mathematician, the Marquis de Condorcet, who popularized the concept. Condorcet methods were first extensively analyzed by Ramon Llull, but the manuscripts of these works were lost from the Late Middle Ages until being rediscovered in the 20th century. Condorcet methods are commonly used to vote on motions and amendments in assemblies and legislatures, as they allow replacing paper ballots with a series of simple majority votes, with prominent parliamentary procedure handbooks such as Jefferson's Manual and Robert's Rules of Order prescribing their use. However, public elections typically use ranked ballots to avoid the time and complexity of a full round-robin tournament with each voter's choice in a paired matchup being determined by checking which candidate has the higher rank or rating on a ballot. In a contest between candidates A, B and C using the preferential-vote form of Condorcet method, a head-to-head race is conducted between each pair of candidates. A and B, B and C, and C and A. If one candidate is preferred over all others, they are the Condorcet Winner and winner of the election. Because of the possibility of the Condorcet paradox, it is possible (but empirically rare) that a Condorcet winner does not exist in a specific election. This is sometimes called a Condorcet cycle or just cycle and can be thought of as Rock beating Scissors, Scissors beating Paper, and Paper beating Rock. Various Condorcet methods differ in how they resolve such a cycle. (Most elections do not have cycles. See Condorcet paradox#Likelihood for estimates.) If there is no cycle, all Condorcet methods elect the same candidate and are operationally equivalent. Each voter ranks the candidates in order of preference (top-to-bottom, or best-to-worst, or 1st, 2nd, 3rd, etc.). The voter may be allowed to rank candidates as equals and to express indifference (no preference) between them. Candidates omitted by a voter may be treated as if the voter ranked them at the bottom. For each pairing of candidates (as in a round-robin tournament) count how many votes rank each candidate over the other candidate. Thus each pairing will have two totals: the size of its majority and the size of its minority (or there will be a tie). For most Condorcet methods, those counts usually suffice to determine the complete order of finish (i.e. who won, who came in 2nd place, etc.). They always suffice to determine whether there is a Condorcet winner. Additional information may be needed in the event of ties. Ties can be pairings that have no majority, or they can be majorities that are the same size. Such ties will be rare when there are many voters. Some Condorcet methods may have other kinds of ties. For example, with Copeland's method, it would not be rare for two or more candidates to win the same number of pairings, when there is no Condorcet winner.

MORE →
TOPIC OF THE DAY

Greenwood / Black Wall Street

Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.

MORE →
TRIVIA QUESTION OF THE DAY

Which heavyweight champion was known as the “Brown Bomber”?

Joe Louis.