Die Klassifikationsbaummethode f ur ¨ eingebettete Systeme mit T estmustern f ur nichtkontinuierliche ¨ Reglerelemente
AlexanderKrupp, WolfgangMueller Universit¨at Paderborn/C-LAB, Paderborn, Germany
Abstract:Ein wichtiges Qualit¨atsmerkmal des modellbasierten Tests und damit beim Test von Simulink-Modellen sind ¨Uberdeckungskriterien. Wir stellen einen Ansatz zur Verbesserung der Test¨uberdeckung von Simulink-Modellen unter Verwendung der Klassifikationsbaummethode (CTM) vor. Dazu erweitern wir die CTM um eine Si- gnalbeschreibung durch die Ableitung eines Signals.
1 Einleitung
Insbesonderediefr¨uhenPhasendes Entwurfselektronischer Systeme beinhalten mehre- re Herausforderungen. Anforderungenwerden hiermeist in nat¨urlichsprachlicheS¨atzein Tabellenstrukturengefasst, diedieGrundlagef¨ur denEntwurf und Analysedeszuentwer- fendenSystemsbilden.InweiterenAnalysenwerdenformaleVerifikationen [Kro99]und Simulationen [BCNN04] eingesetzt. Simulationenwerdenimmer auf BasiseinesModells durchgef¨uhrt.Je nachAnwendungsbereichundModellierungstiefe bzw. Abstraktionsgrad finden hier verschiedene Simulatoren z.B. Matlab/Simulink, SystemC, SystemVerilog, oder VHDL ihre Anwendung. W¨ahrend die Verfahren zur automatischen Testmuster- Generierung f¨ur sp¨atereEntwurfsphasen ziemlichausgereift sind[JG03, Cro99], ist die Testmuster-Erstellung infruhen¨ Phasen ein nochrelativ unbearbeitetes Gebiet und wird meistmanuelldurchgefuhrt.¨ Inj¨ungsterZeit findethier die Ideedesmodellbasierten Tests gr¨oßereBeachtung, wobeiInformationen zur Erstellung der Testmuster aus der Struk- tur des jeweiligen Modells gewonnen werden. Zur strukturierten Ableitung modellba- sierterTests schl¨agt Conrad[Con04] Klassifikationsb¨aumealsZwischenschritt vor. Ein Klassifikationsbaumwird manuell aus der Anforderungsbeschreibung und dem Modell erstellt und dient zur automatischen Ableitung von Testumgebungen mit denen das si- mulationsf¨ahige Modell validiert wird. Im Automobilbereich liegt das Modell h¨aufig als Matlab/Simulink-Modell vor. Verschiedene nichtkontinuierliche Regelelemente er- weitern einen Regler um zus¨atzliche Arbeitsbereiche, die bei Regleranalyse und –test ber¨ucksichtigt werden m¨ussen.InSimulink wurdendeshalb ¨Uberdeckungskriterien(wie z.B. Decision- oder Condition-Coverage) fur¨ nichtkontinuierliche Modellelemente ein- gef¨uhrt[Ald02].
Wir f¨ugenderKlassifikationsbaummethodefur¨ eingebetteteSysteme eine neueArt der Si- gnalrepr¨asentation hinzu.Zus¨atzlich zur abstraktenSignalverlaufsdefinition l¨aßt sichda- mit dieAbleitungeines Signalsuber¨ Aquivalenzklassen¨ angeben. DurchdieVerwendung des Dirac-Impulsesbei der Beschreibung der AbleitunglassensichsoauchSprungh¨ohen eines Signals unabh¨angig vondessenaktuellemWert klassifizieren. DieseEigenschaftl¨aßt
1Testsequence 1(t) 1.10 s 1.2 2 s 1.3 30 s 1.480 s 1.5110 s 1.6 200 s
input
]5,10]
0 vd
[−5,0[
[−80,−10[
]0,70] ]10,80]
0
delta_vd
[−10,0[
]0,5]
CC
[−10,−5[
Komposition Klassifikation Klasse
Testschritt
Abbildung 1: CTE Baum f¨urvd,∆vd
sich z.B. in einemWhite-Box-Test ausnutzen, um eine h¨ohere Test¨uberdeckung fur¨ be- stimmte nichtkontinuierlicheReglerelementeinSimulinkzuerreichen.
2 Klassifikationsb¨aume und der Dirac-Impuls
Zur strukturierten Darstellung von Testf¨allen wurden Anfang der 90er Jahre bei der Daimler–BenzAG die Klassifikationsb¨aume entwickelt[GG93]. DieErstellung von Klas- sifikationsb¨aumen und der Kombinationstabelle wird durch die auf der CP-Methode (Category-Partition)basierende Klassifikationsbaummethodeunterst¨utzt [OB88].In der urspr¨unglichenAuspr¨agungbeschreiben Klassifikationsb¨aumeverschiedeneEingabekon- stellationen fur¨ ein Testobjekt. Um auch zeitabh¨angige Testverl¨aufe formulieren zu k¨onnen, wurde die Notation seit 1998 schrittweise zur Klassifikationsbaummethode f¨ureingebetteteSysteme(CTM/ES)erweitert[Con04]. DerKlassifikationsbaum(siehe Abb. 1) wird speziellaus der technischenSchnittstelledesTestobjektes abgeleitet, d.h. je- deEingangsgr¨oßedesTestobjektes (hiervd) wird durch eineKlassifikationdargestellt. Der zul¨assigeWertebereich einer Eingangsgr¨oßewird dann ¨uberIntervalle oder Einzelwertein Klassenpartitioniert.
Eineabstrakte Testsequenzwird auseinzelnen Testschrittenaufgebaut, diealszeitliche Abfolgeindie ZeilenderKombinationstabelleabgebildet werden. Der Aktivierungszeit- punkteinesTestschritts wird als Synchronisationspunktbzw. als St¨utzstelle bezeichnet.
DerZeitpunkt wird in einerzus¨atzlichenSpalte zu jeder St¨utzstelleangegeben. Der Si- gnalverlaufzwischendenStutzstellen¨ wird durchverschiedene Interpolationen beschrie- ben, wobei der ¨Ubergangz.B. als Sprung–, Rampen–,oder Sinusfunktion erfolgenkann.
InderKombinationstabellewerden ¨UbergangsfunktionendurchverschiedeneLinientypen zwischendenStutzstellen¨ repr¨asentiert.
Dabei stellen die verschiedenen Klassifikationen mit ihrem Wertebereich Xi und die zugeordneten Klassen Pi(Xi) der CTM einenabstrakten Zustandsraumder Eingabeva- riablen dar. Jeder Eingabevariablendes Testobjekts entspricht eine Klassifikation. Der zeitlicheAblaufeinesTestszenarios wird mit HilfevonStutzstellen beschrieben. W¨ enn T = {t0, t1, ..., te}mit t0 < t1 < ... < tedie Mengeder St¨utzstellen einesTestsze- narios ist, so heißendie Zeitintervalle[t0, t1],[t1, t2], ...,[te−1, te]Testschritte. EineWer-
In1 Out1 Vehicle
Speed vd
Signal Saturation
In1 Out1
PI Controller
a v
s Kinematics
Acc
Abbildung 2: Simulink Fahrtregler
tefunktionvi : T → Xi ordnet jeder St¨utzstelle einenWertzu. EineWertefunktionvi heißtkompatibel, wenn zu jedem Zeitpunkttgilt, daßvi(t)zu derentsprechenden Klasse geh¨ort. Eine Interpolationsfunktionii = T → I mit I = {step, ramp, sine, ...}ord- net der Eingangsvariableizu jedem Zeitpunkt ausT eine Interpolationsvorschriftzu. Die Interpolationsvorschriftii,tk(t)gibt denWerteiner Eingangsvariablenabder Stutzstelle¨ tk an. Bei Verwendung vonRampenfunktionund Sinus-HalbwellealsInterpolationsvor- schrift ergibt sich einstetigerTestdatenverlauf¯vi : T¯ → Xi, wobeiT¯ ⊃ T einestrikt geordnete Mengevon ZeitpunktenimSinnedes klassischen Zeitbegriffs ist.
Angelehnt an [Con04]schlagenwir eine Erweiterung der Klassifikationsbaummethode CTM/ES vor, diedievorhandenen Interpolationsm¨oglichkeiten erweitert und sodie Klas- sifikationvonSprungh¨ohen einer Eingabevariablegestattet. D.h.beimehrfacher Verwen- dung derInterpolationstepin einerTestsequenz l¨aßt sichdieSprungh¨ohe ¨ubereine Klas- sifikationvorgeben. Dazubeschreibenwir den Testdatenverlaufzus¨atzlich ¨uber seineAb- leitung 1.Ordnung, und verwenden dieDirac-Distribution δ(t) und die Heaviside’sche SprungfunktionH(t)[F¨ol94]. Sei∆vi:T →Y die zur Wertefunktionvigeh¨orige, ana- logzuviuber St¨¨ utzpunktedefinierte1. Ableitung.∆viheißeDifferenzwertefunktion mit demWertebereichY. Sei∆vi:T¯→Y deren zeitkontinuierlicheFortsetzung:
∆vi(t) =
e−1 j=0
∆vi(tj)δ(t−tj) ii(tj) = dirac
ii,tj(t)(H(t−tj)−H(t−tj+1)) ii(tj) = dirac (1) wobei ii,tj die Interpolationsvorschrift ist und ii die Interpolationsfunktion.Ist die In- terpolationsvorschrift keineDirac-Distribution, so entspricht der kontinuierlicheVerlauf von∆vi(t)derublichen Interpolationsvorschrift¨ [Con04]. Anjeder Stutzstelle¨ tj, diedie Dirac-Distributionverwendet, wird dieSprungh¨ohe∆vi(tj)aus dem Klassifikationsbaum und derKombinationstabelle ermittelt. DerTestdatenverlaufergibt sichdurch Integration von∆vi(t)undmitHilfedes Startwertsvi(t0).
3 Fallbeispiel Tempomat
Bereits seit den 80er Jahren wird der Tempomat als Komfortfunktionin Kraftfahrzeu- gen angeboten. Eine weiterentwickelteVariante mit Sicherheitsfunktionwird seit 1998 angeboten1.InAbbildung2isteinRegelkreis inAnlehnung andenRegelkreis f¨urhinder-
1z.B. von DaimlerChrysler als “DISTRONIC”
nisfreieFahrteines solchen TempomateninSimulink-Notationabgebildet. DieDifferenz zwischenSoll- undIst-Geschwindigkeit (vd−v) des Fahrzeugs sollausgeregelt werden.
DieRegeldifferenz, diedemPI–Reglerzugef¨uhrt wird, ist indiesem Modelldurch eine S¨attigungbegrenzt.Hinter demPI–Regler folgt die modellierteStreckeaus der dieaktu- elleGeschwindigkeitvwieder ruckgef¨¨ uhrt wird. Ein nichtkontinuierliches Regelelement wiedie hier verwendeteS¨attigungerweitert denRegler um zusatzliche¨ Arbeitsbereiche, die bei Regleranalyseund –testberucksichtigt werden m¨¨ ussen, um eine entsprechende Test¨uberdeckungzu erzielen.Indem hier gezeigten einfachenFall erfolgt dieS¨attigung jeweilsbei denWerten5und−5.
Der Klassifikationsbaum zum Testobjekt “Tempomat”ist in Abb. 1 zu sehen. Der ein- zigeEingangvd ist alsKlassifikation im Klassifikationsbaumabgebildet. Eine weitere Klassifikation bezieht sich auf die Ableitung ∆vd von vd. Zu jeder Klassifikation ist eine Mengevon Klassen definiert, die denWertebereichderKlassifikationen mitHilfe von Intervallen ¨uberdecken. Der Wertebereichf¨urvd istXvd = [−10,70]ms. Der Wer- tebereichY∆vd = [−80,80]sm2 ist soaus dem Umfang vonXvd ermittelt, daßeindurch
∆vd vorgegebener Sprung vonvdmaximal ¨uber das gesamte IntervallXvd hinweger- folgenkann. Der WertebereichjederKlassifikationwirdhierbei in Klassenunterteilt. F¨ur dieGeschwindigkeitvgibt es 3Klassen:{[−10,0[, 0, ]0,70]}. F¨ur∆vd sind 7 Klas- sendefiniert. Diesewurden ermittelt unter der Annahme eines station¨aren Zustands von vd−v. Die3Klassen[−5,0[, 0, ]0,5]beinhaltendiejenigenWertefur¨ ∆vd, die nicht zumEintritt indenS¨attigungsbereichgen¨ugen, d.h.vd−v∈[−5,5]. Die beiden Klassen [−10,−5[, ]5,10]gen¨ugen, um m¨oglicherweisedenS¨attigungsbereich zuerreichen, wenn (vd−v)∈[−5,5]. Die beiden letzten Klassen[−80,−10[, ]10,80]gen¨ugenimmer umin dieS¨attigungzu gelangen. DieBestimmung desKlassifikationsbaumes aus demSystemin- terfacewird in [Con04] beschrieben. Die zus¨atzlicheBestimmung derKlassender Diffe- renzwertefunktion erfolgt automatischaus demSimulink-Modell, unter Berucksichtigung¨ nichtkontinuierlicher Eingangselemente.MitHilfedes danachvorliegenden Klassifikati- onsbaums wird anschließendeine Testsequenz erzeugt. Eine Testsequenz, diealle Klassen von∆vd mit demDirac-Impulsuberdeckt, und die nach¨ jeder AnwendungeinesImpul- ses auf∆vd (und damiteines Sprungs aufvd) demRegler ausreichend Einschwingzeit gew¨ahrt,erzieltmithoher Wahrscheinlichkeiteinevollst¨andige ¨Uberdeckung fur das¨ be- trachteteS¨attigungsglied.Indem KlassifikationsbauminAbb. 1 wurde eine Testsequenz
¨
uber die Kombinationstabelledefiniert, die zwarnicht alle Klassenvon∆vduberdeckt,¨ dieaberbereits f¨ureinevollst¨andigeDecision CoverageinSimulink gen¨ugt. Dasbedeu- tet, daß alledrei Abschnitteder S¨attigungsfunktion mindestenseinmalw¨ahrend desTests erreicht werden. Die Instantiierungzueinereindeutigen Testsequenz erfolgt automatisch, z.B. durch zuf¨alligeAuswahlder Stutzstellen,¨ o.¨a.[BCS97, BN03]. Einesolche Testse- quenzist inAbb. 3zu sehen.
4 Zusammenfassung
In dieser Arbeit stellen wir einen Ansatz zur Verbesserung der Test¨uberdeckung von Simulink-Modellenunter Verwendung derKlassifikationsbaummethodefur¨ eingebettete
Abbildung 3: Simulink Signalvd
Systeme(CTM/ES) vor. Dazuerweiternwir dieCTMumdieSignalbeschreibung durch ihreAbleitung, dieu.a. durchDirac–Impulse beschrieben werden kann. Bei gleichzeiti- germanueller Definitiondes Signals und seiner Ableitung k¨onnenjedoch leichtInkonsis- tenzenauftreten, diedurch entsprechende Maßnahmenabzupr¨ufensind. Bei der Erstel- lung der konkreten Testsequenzsind ebenfallsInkonsistenzen m¨oglich.Zur praktischen Anwendung dieserMethodederTestsequenzgenerierungerscheint weitereWerkzeugun- terst¨utzung daher unverzichtbar.
Danksagung
Die hierbeschriebeneArbeit wurdedurchdas BMBF-ProjektIMMOS gef¨ordert. Wirbe- dankenuns außerdem beiMirkoConrad vonDaimlerChrysler, sowie beiOttoLinnemann undKlaus Lamberg vondSPACE f¨ur viele hilfreicheAnregungenund Diskussionen.
Literatur
[Ald02] William Aldrich. Using Model Coverage Analysis to Improve the Controls Develop- ment Process. AIAA GN&C, 2002.
[BCNN04] J. Banks, J. Carson, B. L. Nelson und D. Nicol. Discrete-Event System Simulation.
Prentice Hall, 4. Auflage, 2004. ISBN 0-131-44679-7.
[BCS97] Standard for Software Component Testing. Working Draft 3.3. Bericht, British Conputer Society (BCS), Specialist Interest Group in Software Testing, April 1997.
[BN03] E. Broekman und E. Notenboom. Testing Embedded Software. Addison-Wesley, Lon- don(GB), 2003.
[Con04] Mirko Conrad. Modell-basierter Test eingebetteter Software im Automobil. Deutscher Universit¨ats-Verlag, Wiesbaden, 2004.
[Cro99] Alfred Crouch.Design-For-Test For Digital IC’s and Embedded Core Systems. Prentice Hall PTR, 1999. ISBN 0-130-84827-1.
[F¨ol94] Otto F¨ollinger.Regelungstechnik. H¨uthig, 8. Auflage, 1994.
[GG93] Matthias Grochtmann und Klaus Grimm. Classification Trees for Partition Testing.
Softw. Test., Verif. Reliab., 3(2):63–82, 1993.
[JG03] N. K. Jha und S. Gupta.Testing of Digital Systems. Cambridge University Press, 2003.
ISBN 0-521-77356-3.
[Kro99] Thomas Kropf. Introduction to formal hardware verification. Springer, 1999. ISBN 3-540-65445-3.
[OB88] Thomas J. Ostrand und Marc J. Balcer. The Category-Partition Method for Specifying and Generating Functional Tests.Commun. ACM, 31(6):676–686, 1988.