Top Banner
DICE Horizon 2020 Research & Innovation Action Grant Agreement no. 644869 http://www.dice-h2020.eu Funded by the Horizon 2020 Framework Programme of the European Union A Tool for Verification of Big-Data Applications Jul 21 th , 2016 QUDOS 2016 Saarbrücken, Germany M.M. Bersani, F. Marconi, M.G. Rossi Politecnico di Milano Milan, Italy Madalina Erascu Institute e-Austria Timisoara & Western University of Timisoara Timisoara, Romania
30

A Tool for Verification of Big-Data Applications

Jan 30, 2017

Download

Documents

phammien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A Tool for Verification of Big-Data Applications

DICEHorizon2020Research&InnovationActionGrantAgreementno.644869http://www.dice-h2020.eu

FundedbytheHorizon2020FrameworkProgrammeoftheEuropeanUnion

AToolforVerificationofBig-DataApplications

Jul21th,2016

QUDOS2016Saarbrücken,Germany

M.M.Bersani,F.Marconi,M.G.RossiPolitecnicodiMilano

Milan,Italy

MadalinaErascuInstitutee-AustriaTimisoara&WesternUniversityofTimisoara

Timisoara,Romania

Page 2: A Tool for Verification of Big-Data Applications

Ourworkataglance

o Approachandtoolfortheautomatedverificationoftopology-baseddata-intensiveapplications.§ Based(sofar)ontemporallogicmodel§ Performsautomatedtransformationfromhighlevelapplicationdescriptiontoformalmodel

§ Enablesverificationofsafetyproperties

2

Page 3: A Tool for Verification of Big-Data Applications

Roadmap

§ Context• QualityassuranceinDIA

§ ResearchDesign• Researchquestion• Ourapproach

§ Conclusions• Contributions• Futureworks

3

Page 4: A Tool for Verification of Big-Data Applications

CONTEXT

QualityAnalysisandVerificationfordata-intensiveapplications

4

Page 5: A Tool for Verification of Big-Data Applications

FormalVerification

o GivenaModelMandaPropertyspecificationP,verificationcheckswhetherPholdsinM.

o MandPcanbeexpressedinmanydifferentways§ variouskindsofautomata(operationalmodels)§ variouskindsoflogics(descriptivemodels)

5

Page 6: A Tool for Verification of Big-Data Applications

Data-IntensiveApplications(DIA)

6

Page 7: A Tool for Verification of Big-Data Applications

DICEProject

o Horizon2020Research&InnovationAction(RIA)§ Quality-AwareDevelopmentforBigDataapplications§ Feb2015- Jan2018,4MEurosbudget§ 9partners(Academia&SMEs),7EUcountries

7

Page 8: A Tool for Verification of Big-Data Applications

QualityDimensionsinDICE

o Reliability

o Efficiency

o Safety&Privacy

8

§ Availability§ Fault-tolerance

§ Performance§ Costs

§ Verification§ Dataprotection

Page 9: A Tool for Verification of Big-Data Applications

BigDataTechnologies

Cloud(Priv/Pub)`

9

DICEIDE

Profile

Plugins

Sim Ver Opt

DPIM

DTSM

DDSMTOSCAMethodology

Deploy Config Test

Mon

AnomalyTrace

Iter.Enh.

DataIntensiveApplication(DIA)

Cont.Int. FaultInj.

WP4

WP3

WP2

WP5

WP1 WP6- Demonstrators

OurpositioninginDICEframework(1)

Page 10: A Tool for Verification of Big-Data Applications

OurpositioninginDICEframework(2)

10FeaturingtheDICEH2020EUProject

DICE DPIM Meta-Model

Scenario: Tech. Comparison

DICE DTSM Meta-Model

Big-Data Technological Development

DICE DDSM Meta-Model

Big-Data PhysicalAssetsDICE

DMON

Operations

Spark

DICE Process Views

HadoopMR

DICE TOSCA Meta-Model

Big-Data Technological Deployment (TOSCA)

DICE DTSM Meta-Model

Big-Data Technological Logic

Safety Verification with ZOT

Reliability and Resource Management

with GreatSPNHadoop MR Monitoring

StormMonitoring

LEGENDASoftware

Architecture ViewsModel-to-Model Transformation

Storm Oryx 2

Scenario:Deployment

Safety Reliability

Resource Management

Config. Optimization

SparkMonitoring

Oryx 2Monitoring

Configuration Optimisation with BO4CO

JSON or YAML File Exchange

Model-to-Text Transformation

TOSCA *.yaml Blueprint

Page 11: A Tool for Verification of Big-Data Applications

RESEARCHDESIGN

QualityAnalysisandVerificationfordata-intensiveapplications

11

Page 12: A Tool for Verification of Big-Data Applications

Researchquestion

“Howcanweverifysafetypropertiesofadata-intensiveapplication?”

12

Page 13: A Tool for Verification of Big-Data Applications

Stateoftheart

o Formalverificationofdistributedsystemsisamajorresearchareainsoftwareengineering

o FewworkstryingtoaddressformalverificationinthecontextofDIA§ Mainfocusonverifyingapplication-independentpropertiesrelatedtospecificframeworks• ReliabilityandloadbalancingofMapReduce• ValidityofmessagingflowinMapReduce

§ nomodelingandverificationofapplication-dependentproperties

o VerificationtoolshavebeenusedasverificationenginestobuildformalverificationtechniquesforUMLmodels§ Fewofthemdealwithreal-timeconstraints.§ Mainlyfocusedonfunctionalrequirements.

13

Page 14: A Tool for Verification of Big-Data Applications

OurApproach

o Focusonaspecificsetoftechnologies§ Topology-basedstreamingapplicationsà ApacheStorm

o Identifysafetyissueso Deviseaformalmodel

§ Havinganappropriatelevelofabstraction§ Allowingtocapturemeaningfulsystembehaviorandproperties

§ Usingaformalismthatenablesautomaticverificationo Defineatool-supportedmechanismforformalverification§ Startingfromhighlevelapplicationdescription(annotatedUML)

14

Page 15: A Tool for Verification of Big-Data Applications

ApacheStorm

o OpenSourceDistributedStreamProcessingSystem

o Analytics,LogEventprocessing,etc..o Reliability,at-least-onesemanticsoWideadoptioninproductionoMainconcepts

§ Streams§ Topologies

- 15 -

Page 16: A Tool for Verification of Big-Data Applications

StormApplications

o ApplicationsdefinedbymeansofTopologies,graphsofcomputationscomposedof:§ Spouts

• Sourcesofdatastreams(tuples)

§ Bolts• Calculate,Filter,Aggregate,Join,Talktodatabases

- 16 -

Page 17: A Tool for Verification of Big-Data Applications

SafetyIssues

o Importantrequirementsforstreamingapplications§ Latency§ Throughput

o Criticalpoints§ incorrectdesignoftimingconstraints§ nodefailures

o mightcause§ latencyinprocessingtuples§ monotonicgrowthofthesizeofusedmemory(queues).

17

Page 18: A Tool for Verification of Big-Data Applications

DICEVerificationTool

oWewantto§ Verifywhetheratopologyreachesanunwantedconfiguration• e.g.,whereboltsarenotabletoprocessincomingtuplesontime

§ Lettheuserspecifythetopologybymeansofhighlevelmodels(UML)

18

Page 19: A Tool for Verification of Big-Data Applications

D-VerT - DICEVerificationTool

19

Page 20: A Tool for Verification of Big-Data Applications

DICEDTSM::StormUMLprofile

20

Page 21: A Tool for Verification of Big-Data Applications

D-VerT - DICE-profiledUMLClassDiagram

21

Page 22: A Tool for Verification of Big-Data Applications

DTSM2Jsonmodule

o ReliesonEclipseUML2 Javalibraryo “Navigates”DTSMclassdiagramandextracttopologystructure

andinformationo GathersverificationoptionfromEclipselaunchconfigurationo MapstopologycomponentstoJavaobjectso DirectlyconvertsJavaobjectstoJSONobjectviagson library

22

Page 23: A Tool for Verification of Big-Data Applications

Json2MC- Module

o PythoncomponentbasedonJinja2templatingengine

o GeneratesFormalModelbasedonthecontentofJSONfileandontheselectedtemplate(TLorFOL).

23

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

TL Model Zot

JSON2MC

<—> <—> <———> ———— ————————— </———> </—> <————————> <———————> </——————> <—> </—> </————————></—>

JSON

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

TL ModelTemplate

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

FOL ModelTemplate

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

FOL Model Cubicle

X

WIP

Page 24: A Tool for Verification of Big-Data Applications

VerificationApproacheso BoundedSatisfiabilityChecking(BSC)

§ Input:• Temporallogicformula(Model)• NegatedPropertyovertime

§ Outcome:• SATà counterexampletrace• UNSATà Propertyholdsfortheconsideredtimebound

§ WeuseZotverificationtool(https://github.com/fm-polimi/zot)o ReachabilityChecking(WIP)

§ ModeldefinedbyFOLArraybasedsystem• Setofinitialstates andtransitions• Formuladefiningundesiredstates(Negatedproperty)

§ Outcome:• UNSAFEà Traceshowingthatundesiredstatearereachablefrominitialstates

• SAFEà Noundesiredstatecanbereache frominitialstates

24

Page 25: A Tool for Verification of Big-Data Applications

D-VerT – Outputtrace

o Whenatleastonequeuegrowswithanunboundedtrend§ aninfiniteultimatelyperiodicmodelisfound§ OutputParserprovidesgraphicalcounterexampletrace

25

Page 26: A Tool for Verification of Big-Data Applications

CONCLUSIONS 26

Page 27: A Tool for Verification of Big-Data Applications

Contributions

oWeenabledautomaticverificationontopology-based streamingapplicationsby§ Definingaformalmodelbasedontemporallogic§ definingautomaticmechanismsfortranslatingtotheformalmodelfromahighleveldescription.

§ extendingZotVerificationtooltosupporttheformalismandcarryoutBSConit

27

Page 28: A Tool for Verification of Big-Data Applications

Preliminaryresults

o Validationthroughopensourceandindustrialusecases§ Meaningfulqualitativeresultsinidentifyingcriticalpointsintopologydesign

§ Executiontimestronglydependsonthesizeofthetopologyandontheconfigurationsofsinglecomponents

28

http://dice-project.github.io/DICE-Verification/

Page 29: A Tool for Verification of Big-Data Applications

OngoingandFutureworks

o Identificationandverificationoffurtherproperties§ PrivacyandSecurity

o Toolimprovementso Modelingdifferenttechnologies(Spark,CEP,Tez)o DevelopingFOLmodelo Newtheoreticalresultsonthecorrectnessandcompletenessoftheformalanalysis

29

Page 30: A Tool for Verification of Big-Data Applications

Questions?

30

Thankyou!