Nieke Roos
26 March 2010

Na een procedure van zes jaar heeft Verum zijn formele ASD-methode voor softwareontwikkeling gepatenteerd in Europa. De toekenning is een kroon op het werk van de CTO en het hoofd IP en research in Waalre, vader Guy Broadfoot en dochter Philippa Hopcroft.

Verum heeft een Europees softwarepatent gekregen voor zijn formele ontwerpmethode Analytical Software Design. Het Waalrese bedrijf diende de aanvraag zes jaar geleden in, vlak na zijn oprichting, en heeft zich vervolgens met succes staande weten te houden in meerdere rondes van beschietingen door het Europees Octrooibureau (EOB) en de verschillende nationale instanties. ’Het was een zeer zwaar en kostbaar traject‘, zegt Verum-CTO Guy Broadfoot, die de patentkar heeft getrokken samen met zijn dochter Philippa Hopcroft. ’Maar het resultaat mag er zijn: volgens de behandelaar was het de beste aanvraag voor een softwarepatent die hij ooit had gezien.‘

Een ontwikkeling met ASD begint traditioneel. Eerste stap is de requirementsanalyse, resulterend in een set vereisten. Deze vormen de input voor de tweede fase: het specificeren van de architectuur. Uit de beschrijving die dit oplevert, worden dan de verschillende componenten gedestilleerd die samen de functionaliteit van het hele systeem voor hun rekening nemen. Op dit punt haakt ASD in. Voor elke component maakt de ontwikkelaar in Verums Modelbuilder een interfacespecificatie met het gedrag dat naar buiten toe zichtbaar is en een designmodel met ook het interne gedrag. Van deze twee modellen verifieert hij vervolgens de correctheid in de Modelchecker. Met een druk op de knop in de Codegenerator zet hij ze ten slotte om in C, C++ of C#.

Bij ASD somt de ontwikkelaar de verschillende toestanden op die het systeem in aanbouw kan aannemen. Voor elke toestand geeft hij aan welke inputs er allemaal kunnen binnenkomen en bij elke input specificeert hij wat de bijbehorende output en volgende systeemtoestand is.

De Verum-modellen vatten de informele requirements in formele Sequence-Based Specifications. Deze hebben de vorm van Mealy-machines, verzamelingen toestanden met inputafhankelijke overgangen daartussen. Het komt erop neer dat de ontwikkelaar in tabellen de verschillende toestanden opsomt die het systeem in aanbouw kan aannemen. Voor elke toestand geeft hij aan welke inputs er allemaal kunnen binnenkomen en bij elke input specificeert hij wat de bijbehorende output en volgende systeemtoestand is. Het Waalrese gereedschap converteert de SBS‘en naar harde wiskunde. Daarbij maakt het gebruik van Communicating Sequential Processes (CSP), een formele taal om interactiepatronen in concurrent systemen te beschrijven. De geïntegreerde FDR-modelchecker controleert de CSP-modellen op ongewenste situaties zoals deadlocks, livelocks en racecondities.

Het softwarepatent heeft Verum gekregen voor het gebruik van interfacespecificaties en designmodellen om het componentgedrag te beschrijven en voor de automatische generatie van de CSP-procesalgebra en de programmacode. ’Onze uitvinding is de methode die ervoor zorgt dat model, algebra en code precies hetzelfde runtime gedrag vertonen‘, legt Broadfoot uit. Volgens de Verum-CTO heeft de toekenning belangrijke implicaties voor de business van zijn bedrijf. ’Het patent beschermt ons. Onze concurrenten kunnen ons er nu niet meer van weerhouden om onze technologie te gebruiken. Daarnaast is het voor hen onmogelijk geworden om een soortgelijk systeem te ontwikkelen op dezelfde basis – de generatie van CSP uit SBS.‘

Lange adem en diepe zakken

Dit fundament legde Broadfoot aan de universiteit van Oxford. ’Ik ging wel eens op bezoek bij mijn dochter Philippa, die daar promotieonderzoek deed naar de toepassing van CSP om encryptiealgoritmes te kraken. Zij heeft me zover gekregen om er een jaartje tussenuit te gaan en een masterscriptie te schrijven over het verifiëren van softwareontwerpen met CSP. Ook heeft ze me geïntroduceerd bij Bill Roscoe, hoofd van de Oxfordse informaticavakgroep, een van de drijvende krachten achter CSP en mede-uitvinder van FDR. Hoe we precies op mijn scriptieonderwerp zijn gekomen, weet ik niet meer, maar ik ontwikkel al software sinds de late jaren zestig en tijdens die periode in Oxford heb ik gezien wat er allemaal mogelijk is met formele methodes. Dan is de link snel gelegd.‘

Op basis van het doctoraalonderzoek dienden de Broadfootjes in mei 2004 een Europese patentaanvraag in bij het EOB in München. ’Dat was een voorlopig patent. Daarmee leg je als het ware een claim neer. Vervolgens heb je twaalf maanden om de details in te vullen en de boel te laten werken‘, beschrijft vader Guy de procedure. ’Dan beginnen de beschietingen van de patentbehandelaar. Die wil weten of je echt iets nieuws hebt uitgevonden. Hij zoekt onder meer in de Europese en Amerikaanse databases naar octrooien op vergelijkbare gebieden, waarna jij moet uitleggen waarom die niet relevant zijn. Met heel goede punten heeft hij ons het vuur aan de schenen gelegd, maar uiteindelijk hebben we hem weten te overtuigen. Dat was vooral de verdienste van Philippa. Op 17 juni vorig jaar hebben we het patent gekregen. In de negen maanden die volgen op de toekenning, kan iedereen deze nog relatief eenvoudig aanvechten. Die periode is onlangs verlopen.‘

Een softwarepatent verkrijgen in Europa is een kwestie van een lange adem en vooral diepe zakken, concludeert Broadfoot. ’Elke ronde die je met de behandelaar in de ring staat, ben je een smak geld kwijt. In totaal heeft ons dat zo‘n zeventigduizend euro gekost. En als je het patent dan hebt gekregen voor Europa, heb je drie tot vier maanden om het in de verschillende lidstaten te laten valideren. Daarvoor moet je bij de nationale octrooibureaus een kopie van het volledige patent inleveren en een samenvatting. Het eerste mag doorgaans in het Engels, het tweede moet in de betreffende landstaal. Dan heb je dus vertaalkosten. Belangrijker nog is dat je een octrooigemachtigde moet inhuren om alles te regelen, en zo iemand is verre van goedkoop. Nee, het patentproces is niet voor kleine bedrijven.‘

Verums patent geldt in het grootste gedeelte van de Europese Unie. ’We zijn nu bezig met een uitbreiding voor additionele ontwikkelingen‘, zegt Broadfoot. Welke precies, wil hij niet prijsgeven. ’Daarnaast zitten we midden in de aanvraagprocedure in de Verenigde Staten. Maar met een Europees patent op zak is dat een formaliteit, zeggen onze adviseurs. De grens tussen een idee en een uitvinding die dat idee incorporeert, is hier veel harder, vooral voor softwarepatenten. In de EU schieten ze een aanvraag daardoor sneller af dan dat ze er een toekennen; in de VS wijzen ze een patent gemakkelijker toe, om het vervolgens in de rechtbank neer te maaien.‘