UML-B är en grafisk formell modelleringsnotation som bygger på Event-B för dess underliggande semantik och är nära integrerad med "Rodin", Event-B verifikationsverktyg. UML-B liknar UML men har sin egen metamodell. UML-B ger verktygsstöd, inklusive ritverktyg och en översättare för att generera Event-B-modeller. När en UML-B-ritning sparas genererar översättaren automatiskt motsvarande Event-B-modell. Händelse-B-verifieringsverktygen (syntaxkontroll och visare) körs sedan automatiskt och ger en omedelbar visning av problem som anges i relevant UML-B-diagram. UML-B-modelleringsmiljön består av ett UML-B-projekt som innehåller en UML-B-modell. Fyra sammankopplade diagramtyper (paket, sammanhang, klass och statsmaskin) finns tillgängliga. Paketdiagram används för att beskriva "raffinaderier" och "se" samband mellan komponenter på toppnivå (maskiner och sammanhang) i ett UML-B-projekt. UML-B speglar Händelse-B-metoden där statiska data (uppsättningar och konstanter) modelleras i ett separat paket som kallas "kontext". Sammanhangsdiagrammet liknar ett klassdiagram men har endast konstanta data representerade av ClassTypes, Attribut och associationer. ClassTypes definierar 'carrier'-uppsättningar eller konstanta undergrupper av andra ClassTypes. ClassTypes kan äga oföränderliga attribut och associationer som representerar konstanta funktioner. De beteendemässiga delarna (variabler och händelser) är modellerade i ett klassdiagram som används för att beskriva maskinen. Klasserna representerar undergrupper av de klasstyper som infördes i sammanhanget. Klassens associationer och attribut liknar dem i sammanhanget men representerar variabler istället för konstanter. Klasser kan äga händelser som ändrar variablerna. Händelseparametrar kan läggas till i en händelse, vilket ger lokala variabler som ska användas i övergångens vakter och åtgärder. Klasshändelser använder en parameter, jag, för att icke-deterministiskt välja den drabbade instansen av klassen. Statliga maskiner kan användas för att modellera beteende. Övergångar representerar händelser med implicit beteende i samband med förändring av tillstånd. Ytterligare vakter och åtgärder kan knytas till övergången. UML-B behåller tillräcklig likhet med UML för att de huvudsakliga målen för tillgänglighet ska kunna uppnås av industriella användare. Eftersom UML-B automatiserar produktionen av många rader textual B, modeller är snabbare att producera och därför utforska en problemdomän är mer attraktiv. Detta hjälper nybörjare att hitta användbara abstraktioner för sina modeller. Vi har funnit att effektiviteten i UML-B och dess förmåga att dela och kontextualisera matematiska uttryck hjälper nybörjare som annars skulle avskräckas från att skriva formella specifikationer. UML-B är också ett användbart visuellt hjälpmedel för mer erfarna formella metoder användare.
Den har ett liknande kontrollflöde tillvägagångssätt som UML-B statemachines REF.