User-system interaction designers and Software technology PDEngs from Eindhoven University of Technology helped Océ in the development of predictive maintenance software.
1. 36 | 5
Jaren van ontwikkeling in een groot team met een korte time-to-market mondden begin dit jaar uit in de productlancering van
de Océ Varioprint I300. Deze printer moet de bestaande transactie-, direct mail- en boekmarkt op zijn kop zetten. In een reeks
artikelen beschrijven Venlose r&d’ers wat erbij komt kijken om een dergelijke complexe machine te ontwikkelen. De laatste
aflevering: diagnostische software en de opzet van een data-science-systeem.
Data-science,
een kwestie
van goed
samenwerken
Joost Janse
Serie Océ Varioprint I300
D
e realisatie van de Océ Varioprint I300-
printer is het eerste project waarbij we
een nieuw data-science-systeem heb-
ben toegepast om diagnostiek uit te voeren.
Verschillende afdelingen hebben baat bij de
aanpak om uitvoerige analyses op de logbe-
richten uit te voeren. Zo kan de serviceafde-
ling de uptime van printers maximaliseren
en de fabriek de kwaliteit van (sub)assem-
blages vaststellen en zo mogelijk verbeteren.
Maar data-science was ook tijdens de r&d
van belang. Het I300-project is op een Agile-
manier ingestoken en via een lead customer
program (lcp) voortdurend aangepast aan de
wensen van de klanten. Tijdens het lcp kon
r&d leren van de inzet en het gedrag van
printers en snel oplossingen aandragen als
een klant daarom vroeg.
Om dit diagnostische systeem te realise-
ren, hebben we eerst functionele logging
moeten toevoegen om de aansturingswaar-
den en respons in de machine vast te leggen
in samenhang met een realtime klok. Om-
dat tijdsynchronisatie van de vele embedded
nodes in de printer al was geïmplementeerd,
was deze toevoeging relatief eenvoudig. De
logberichten worden over een intern prin-
ternetwerk verstuurd naar de software-
component die we de logserver noemen. De
logserver voorziet elk van de parallel gepro-
duceerde berichten van een datum en lokale
tijd alsmede van een volgordenummer, en
voegt ze als regel toe aan een van de onge-
veer 270 verschillende logfiles.
Elke logfile structureert de informatie zo-
doende als tabel met regels gevormd door
timestamps en kolommen in de vorm van
vooral numerieke informatie. Door middel
van een synchronisatieproces wordt de func-
tionele logging gedupliceerd naar een voor
dit doel bestemde disk-array in ons eigen
beveiligde datacentrum, die momenteel tot
vijftig terabyte aan gegevens kan bewaren.
Aangezien elke printer tijdens gebruik
zo’n vier gigabyte functionele logging per
dag kan produceren, is het duidelijk dat er
maar een eindige hoeveelheid dagen per
printer kan worden bewaard voor analyse,
zelfs met sterke compressietechnieken. De
retentietijd van elk logbestand wordt vanuit
de inhoud en het gebruik bepaald. De totale
verzameling noemen we large data om daar-
mee aan te geven dat het om een omvang-
rijke hoeveelheid gestructureerde data gaat,
afkomstig van productieprinters opgesteld
in verschillende werelddelen.
Diagnostisch recept
Maar aan data alleen heb je niks. Om de log-
gegevens om te zetten naar zinvolle infor-
matie hebben we het Diagnostic Framework
opgezet. Dit is gebaseerd op een technolo-
giedemonstrator van een groep pdeng-trai-
nees van de softwaretechnologieopleiding
Ooti aan de TU Eindhoven. Daarna is de ap-
plicatie op een Agile-manier verder ontwik-
keld tot een bruikbaar geheel op basis van
wensen van potentiële gebruikers.
Het Diagnostic Framework is gebaseerd
op diagnostische recepten die gemaakt wor-
den door een expert, en vervolgens door
alle betrokkenen gebruikt kunnen worden.
De gebruiker kiest een printer, een tijdspe-
riode en een diagnostisch recept en krijgt
hiermee een grafisch overzicht in de vorm
2. 5 | 37
van tabellen en grafieken. Printermodules
analyseren op gedrag, in- en uitgangsgroot-
heden en regelbereik is hiermee een stuk
eenvoudiger dan voorheen (Figuur 1).
De Diagnostic Framework-applicatie is te
gebruiken op de printer zelf maar ook vanuit
een centrale server. In onze projectzalen zijn
danookregelmatigclient-computerschermen
te zien waarop analyses worden uitgevoerd.
Via deze terugkoppellus vanuit printers in
het veld leren we bijzonder veel en kunnen
we onze printers verder vervolmaken.
Abnormale situaties
Met deze hoeveelheden nauwkeurige ma-
chinedata moet er echter nog veel meer
mogelijk zijn. Denk aan vergelijkingen tus-
sen printers, zoeken naar patronen in de
large data, classificatie en clustering van
data of automatisch onderscheid maken
tussen normale en uitzonderlijke condities.
Met name het ontdekken van trends voor
predictive maintenance is interessant.
Het Diagnostic Framework is dan ook pas
de eerste stap in het diagnostiekproject. On-
der de werknaam Odas (Optimal Data Ana-
lysis System) zijn we bezig aan een tweede
stap, die zich richt op het praktiseren van
data-science. Ook over een derde stap den-
ken we al na. Die zal waarschijnlijk gaan over
een verbreding van het inzetgebied en over
deployment. Qua inzetgebied kun je denken
aan een uitbreiding naar business intelligence
en het nemen van bedrijfsbeslissingen van-
uit diepgaande data-analyses over inspan-
ningen en opbrengsten. Qua deployment
gaat het over het beheersen van kosten en
investeringen en het onderhoud van zo’n
large data-systeem.
De gebruikers waar Odas zich op richt,
zijn functiedesigners en, wat meer in de
toekomst, data-scientists (Figuur 2). Het
systeem bestaat uit drie onderdelen. De ba-
sis wordt gevormd door een module die alle
data opslaat en via een eenvoudig selectie-
mechanisme de gewenste gegevens beschik-
baar stelt. Daarmee is een gestructureerde
programmeeromgeving verbonden die het
mogelijk maakt om deze data middels algo-
ritmes te verwerken en resultaten zichtbaar
te maken. En dan is er nog een alert-module
die abnormale situaties op basis van de in-
komende data detecteert en de geabonneer-
de gebruikers daarover informeert.
Uitgangspunt bij het bedenken van Odas
is dat de gebruikers centraal moeten wor-
den gesteld. Dit lijkt heel logisch, maar als
je echt naar het interactie-design kijkt, vol-
doen lang niet alle it-oplossingen daaraan.
Daarom moeten we goed nadenken over
wie de gebruikers zijn, hoe ze nu werken,
hoe we ze passende middelen kunnen bie-
den en hoe we ze kunnen begeleiden in de
stap naar data-science. Eigenlijk gaat dit
over veranderingsmanagement, een onder-
werp waar vele studies aan zijn gewijd.
In samenwerking met trainees van de User
System Interaction-groep van de TU Eind-
hoven hebben we een profiel opgesteld van
beide gebruikersrollen. Functiedesigners
maken de inhoudelijke beslissingen over
het printerontwerp en zijn vaak opgeleid als
fysicus, werktuigbouwkundige of meet- en
regeltechnicus, niet als it’er. Ze hebben de
inhoudelijke verantwoordelijkheid over het
ontwerp van een van de modules waaruit de
printer bestaat. Ze modelleren en rekenen
met matrixrekenpakketten zoals Matlab of
Python met de Numpy-extensies. In essen-
tie werken ze liever met matrices dan met
geneste loop-structuren. Ze vergaren en ope-
reren vanuit een diepgaande kennis van hun
werkterrein, omringd door een multidiscipli-
nair team van ontwerpers en engineers.
Data-scientists daarentegen zijn vaardig
met verschillende pakketten en gewend aan
big-data-rekenen, vaak op computerclusters.
Ze programmeren in talen als R en eveneens
Python met matrix-extensies, bijvoorbeeld
in de vorm van de Pandas-bibliotheek, die
verder bouwt op Numpy en specifiek voor
data-science bedoeld is. Ze werken business-
gerelateerde vraagstukken uit en schrikken
er niet voor terug om een week lang de data
in te duiken. Ze zijn opgeleid als wiskundige
of it’er en hebben een goede kennis van sta-
tistiek en kunstmatige intelligentie.
Uit deze twee beschrijvingen kunnen we
een aantal requirements afleiden waaraan
Odas moet voldoen. De software moet flexi-
bel te programmeren zijn vanuit Matlab,
Python met diverse library’s, of R. Er dient
een aantal systeemspecifieke zaken geab-
straheerd te zijn middels een goede inter-
face zodat de gebruiker niets hoeft te weten
van de onderliggende opslagtechnologie,
noch kennis hoeft te hebben van de data-
Figuur 1: Met het Diagnostic Framework kunnen alle gebruikers diagnostische recepten
van experts loslaten op data van machines waarin ze geïnteresseerd zijn.
Figuur 2: Het Optimal Data Analysis System (Odas)
moet een centraal data-science-systeem vormen
voor de verschillende gebruikersgroepen binnen Océ.
Deze figuur is ontworpen door trainees van de User
System Interaction-groep aan de TU Eindhoven
(www.usitue.nl).
3. 5 | 39
Serie Océ Varioprint I300
formaten. Ook hoeft de gebruiker zich niet
bezig te houden met wáár iets uitgerekend
wordt en hoe dat geparallelliseerd wordt.
Versioning moet heel eenvoudig werken.
Ook willen we een eenvoudige manier van
programmeren aanbieden die samenwer-
king en hergebruik van code stimuleert.
Geabonneerde gebruikers
We zijn nu bezig met de opzet van Odas als
prototype (Figuur 3). Gebruikers dragen
usecases aan en door het systeem hieraan te
toetsen, willen we bewijzen dat de huidige
opzet voldoet. In onze optiek is ‘keep it simple’
een goed uitgangspunt voor de architectuur.
Zo’n systeem is overzichtelijk en flexibel, dus
eenvoudig aan te passen aan nieuwe wensen.
We gebruiken hiervoor een aantal open
source data-science-pakketten en -biblio-
theken voor Python die standaard al veel
te bieden hebben om de basisbehoeften te
realiseren, zoals Blaze voor rekenkundige
bewerkingen, HDF5 met Pytables voor ef-
ficiënte en schaalbare hiërarchische opslag
van tabellen, Pandas voor datamanipulatie
en Bokeh voor visualisatie. Pymatbridge
gebruiken we om met Matlab te integreren.
Om een eenvoudige manier van program-
meren aan te bieden die samenwerking en
hergebruik van code stimuleert, willen we
een gestructureerde versie van Jupyter
Notebooks in gaan zetten. Zo’n Notebook is
opgebouwd uit cellen van tekst, executeer-
bare code en gegenereerde output als tekst,
tabel of afbeelding. Een Notebook bevat op
deze manier het complete recept voor een
specifieke analyse (Figuur 4). Door zo’n
Notebook te delen en goed doorzoekbaar te
maken, bieden we een omgeving die samen-
werking en hergebruik van code bevordert.
We structureren de algemene Notebooks
zodanig dat data-extractie en -visualisatie
voor de gebruikers eenvoudig is, maar toch
onder water met large data om kan gaan.
Ook kunnen de Notebooks voorzien wor-
den van ‘alert’-cellen, die berichten naar ge-
abonneerde gebruikers kunnen versturen
wanneer de uitkomst voldoet aan specifie-
ke criteria. Zodoende kunnen opmerkelijke
resultaten in de gaten worden gehouden.
We willen de data ook ontsluiten voor
third-party data-science-pakketten, bijvoor-
beeld om analyse voor business intelligence
te doen. Daarvoor moeten de gegevens in
een SQL-database terechtkomen. We zetten
een aantal vaststaande algoritmes in die spe-
cifieke data opwerken tot de data die voor
deze toepassing nodig zijn. We spelen ook
met het idee om ontbrekende SQL-tabellen
op aanvraag te genereren uit de large data.
Maatwerk
Uitrol van een large data-systeem met een
significante bedrijfsimpact vereist zorgvul-
dige afwegingen en een goede afstemming
tussen de r&d-, service-, productie- en de
verbindende it-afdelingen. Een cruciaal uit-
gangspunt is dat de gebruikers van het sys
teem, de functiedesigners en data-scientists,
eigenaar zijn van recepten die zij schrijven.
Figuur 3: De opzet van Odas Figuur 4: Jupyter Notebooks kunnen gebruikt worden als
interactieve beschrijving van een experiment of analyse.
Een tweede uitgangspunt is om qua de-
ployment de rekenkracht vlak bij de opslag
te situeren. Tegenwoordig bestaat de mo-
gelijkheid om it-zorg uit te besteden. Grote
aanbieders van data-science-systemen ne-
men de opslag en berekeningen graag uit
handen, en brengen afhankelijk van het
aangeboden verdienmodel kosten in reke-
ning voor gebruik of abonnementen. Deze
kosten zijn vaak afhankelijk van de schaal-
grootte van het datagebruik.
Een andere afweging is het gebruik van
commerciële versus opensource oplossingen.
Per situatie moet worden bekeken wat de best
passende keuze is. Het blijft maatwerk.
De komende jaren zullen we veel leren
over de businesswaarde en inzet van data-
science. We moeten ontdekken hoe we door
middel van gerichte automatisering, en met
behoud van eigenaarschap, waarde kunnen
toevoegen aan onze domeinkennis. Kennis
die we opnieuw zullen inzetten om optimale
printsystemen te ontwerpen, bouwen en
servicen. Data-science is geen magie, maar
een kwestie van goed samenwerken. Het be-
wijs dat we dat onder de knie hebben, wordt
geleverd door de I300.
Joost Janse werkt als architect bij Océ aan
softwaresystemen die multidisciplinaire
diagnostische processen ondersteunen. Hij
promoot het gebruik van data-science om
nieuwe analysemogelijkheden te ontsluiten.
Redactie Pieter Edelman