ASD aan vooravond van stap naar bedrijfssoftware

Reading time: 3 minutes

Author:

Analytical Software Design is niet alleen bruikbaar in de embedded-wereld, maar in principe ook om bedrijfssoftware te bouwen. Dat concludeert Joost Koning uit een verkennend onderzoek dat hij samen met Verum heeft uitgevoerd. ASD heeft nog wel wat beperkingen, met name in de architectuur, die de praktische toepasbaarheid over de volle breedte bij energiebedrijven of telecomoperatoren op korte termijn in de weg staan. De studie heeft echter niets aan het licht gebracht dat niet oplosbaar is met doorontwikkeling van de technologie.

Met zijn bedrijf Utilitykeurmerk bouwt Koning internetgebaseerde businesstoepassingen voor de energie- en HRM-markt. Een half jaar geleden kwam hij in contact met Verum, dat hem de claim voorlegde van foutvrij gedrag in software. Toen hij zich ging verdiepen in ASD, sloeg zijn aanvankelijke scepsis snel om in enthousiasme over de kansen van de methode in zijn domein. ’In de bedrijfssoftware draait alles om databases. Denk maar aan bancaire systemen en facturatiesystemen van energiebedrijven. Hun gedrag is goed te beschrijven in statemachines, en dus in principe ook in ASD. Zeker het datagedrag laat zich goed modelleren.‘

In het kader van de studie heeft Koning voor een van zijn klanten in de energiemarkt een proefproject uitgevoerd met ASD. ’Van een nieuw te bouwen businessapplicatie hebben we eerst een klein prototype gemaakt in Excel, zoals gebruikelijk in die wereld. Met een informatieanalist van het bedrijf heb ik het proces vervolgens in ASD gegoten. Daarbij kwamen in no time allerlei ontwerpproblemen aan het licht waar hij zelf nog helemaal niet over had nagedacht.‘ De proef is zo goed bevallen dat Konings klant nu met Verum in gesprek is over een vervolg.

Ook bij het testen van bedrijfssoftware kan ASD van grote betekenis zijn. ’De meeste ontwikkelaars van businessapplicaties gebruiken regressietests om hun producten door te lichten. De toepassingen bevatten echter zo veel gedrag en moeten zo veel productvarianten aankunnen dat volledig testen feitelijk onmogelijk is. Als een bedrijf in drie weken een dekking haalt van zeventig procent, is dat al heel goed. Er zijn steeds grotere testcases, steeds meer testsystemen en steeds meer testers nodig. En omdat de ontwikkelaars niet modelgebaseerd werken, blijven ze problemen houden met deadlocks en livelocks. ASD checkt automatisch op dit soort fouten en reduceert het testen tot een validatieproces, dat met een paar mensen in een paar dagen is af te handelen.‘

Er moet nog wel wat gebeuren voordat ASD volledig inzetbaar is voor bedrijfssoftware, stelt Koning. ’De tooling van Verum produceert code maar nog geen databasestructuur, met de bijbehorende business rules voor de relaties die gelden tussen opgeslagen gegevens. Voor businessapplicaties zou het gereedschap zoiets als SQL moeten kunnen genereren. Verder is het tijdsbestek daar heel anders. Waar embedded software realtime moet reageren, gaat het in bedrijfssoftware eerder om termijnen van weken, bijvoorbeeld voor de betaling van facturen. Maar zo lang kun je je ASD-runtime natuurlijk niet actief houden in het geheugen. Dat is zeer inefficiënt. Daarom zou er functionaliteit moeten komen om de runtime te laten slapen en weer te wekken met een database. De roadmap van Verum bevat duidelijke uitbreidingen in die richting en ik voorzie dan ook dat steeds meer bedrijfsprocesspecialisten ASD zullen gaan gebruiken.‘

Op de beursvloer van Bits&Chips 2010 Embedded Systemen presenteert Verum een aantal cases waarin zijn ASD-methode met succes is toegepast. Joost Koning van Utilitykeurmerk onderzocht de toepasbaarheid van ASD bij de ontwikkeling van bedrijfssoftware.