Bridgepoint (xtUML-verktyg) nu helt fritt

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
kodar-holger
EF Sponsor
Inlägg: 916
Blev medlem: 26 maj 2014, 12:54:35
Ort: Karlskoga

Bridgepoint (xtUML-verktyg) nu helt fritt

Inlägg av kodar-holger »

I en tidigare tråd nämnde jag xtUML och Bridgepoint. Jag har inte följt utvecklingen på ett tag så en nyhet slog ner som en blixt från klar himmel för ett par dagar sedan.

Bridgepoint är nu fritt och då både "free as in beer" och "free as in speach". Tidigare var modelleringsverktyget gratis att ladda ner men nu är även full källkod inklusive den för dom otroligt viktiga delarna verifyer och model compiler. Det finns en begränsad mängd information online än så länge men här är företaget som skall hantera kommersiell support: onefact.net. Någon liknade upplägget med linux/redhat. D.v.s. allt är fritt, men man kommer kunna köpa paketerad och supportad version från onefact.

För er som inte känner till xtUML så är det en profil av UML som tillåter fullständig modellering och generering av system. Med generering i detta sammanhang pratar vi inte om generering av skelett utan komplett kod som exekverar.

Var sak på sin plats gäller naturligtvis och detta är inget som kommer att ersätta all programvaruutveckling. För att ett system skall vara lämpligt att modellera och generera krävs att det har en del komplexitet. Utveckling för PIC16 serien lär inte vara aktuellt...

Modellering sker i några av UMLs vyer. Komponentdiagram, klassdiagram och tillståndsdiagram. För själva programflödet skriver man kod i det väldefinierade (om än inte alldeles vackra) språket Object Action Language som låter sig översättas till annat.

Begränsning mot UML är att man inte bara ritar konceptuella saker utan allt måste hänga ihop. I UML är det inga problem att göra saker på ett diagram som motsäger ett annat. Det är inte möjligt i xtUML. Många av UMLs vyer har inte heller någon översättbar betydelse och har iaf tidigare utelämnats helt från modelleringsverktyget. Jag vet inte vad som lagts till dom senaste åren.

Gör det programmerare arbetslösa? Svar nej. Modeller behöver översättas till exekverbar kod. Det finns en översättare med som gör optimerad C av modellerna men det gör den på sitt sätt. Vill man att koden skall se ut på något speciellt sätt för given modellkonstruktion får man fixa det själv. Vill man generera C++, pascal, fortran IV, intercal, eller Brainfuck står det en fritt. Hoppas sodjan fixar en BLISS-kompilator. Hur coolt som helst.

Bör programmerare göra modeller? Nja, det finns enstaka som går att skola om. Modellerna måste lyftas till nästa abstraktionsnivå. Många programmerare har svårt med detta. Man vill gärna tänka i former av pekare, arrayer och designmönster när det skall vara klasser, associationer och analysmönster. Ibland heter det att domänexperterna skall göra modellerna, d.v.s. dom som vet hur en växellådsstyrning, reflowlödprocess, trafikljusstyrning eller varför inte ett modelleringsverktyg skall fungera. Jag kan hävda att det behöver vara någon däremellan eftersom xtUML blir ett språk att uttrycka sig i så man behöver kunna tanka av domänexperten rätt information och formalisera.

Vad är dåligt? Det är lätt att hamna i fällan att försöka modellera allt i xtUML. Been there, done that. Jag tycker det bäst lämpar sig för system som är tunga på kontroll. Matematik modelleras bättre i matlab, GUI i Delphi och hårdvaruaccess direkt i något programspråk. Det har också en ganska hög inlärningströskel och innan man nått en viss erfarenhetsnivå kan saker ta väldigt mycket längre tid att göra än i "vanlig" kod. När allt är på plats kan man dock bli extremt effektiv.

Om jag nu bara hade tid att ladda ner och mickla. Första målet måste vara att fixa modellkompilator för C++ och ARM (Teensy3), som är min favvoplattform för hemmabruk när minnesbehovet är större än 1k.