formal verification of storm topologies through...

21
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 Formal Verification of Storm Topologies through D-VerT SA-TTA at SAC 2017, Marrakech Apr 4 th , 2017 Francesco Marconi, Marcello M. Bersani and Matteo Rossi DEIB, Politecnico di Milano, Italy

Upload: others

Post on 20-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

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

FundedbytheHorizon2020FrameworkProgrammeoftheEuropeanUnion

FormalVerificationofStormTopologiesthroughD-VerT

SA-TTAatSAC2017,MarrakechApr4th,2017

FrancescoMarconi,MarcelloM.BersaniandMatteoRossiDEIB, Politecnico di Milano, Italy

Page 2: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Roadmap

§ ContextandMotivation• StreamingApplication• ApacheStorm• DICEProject

§ D-VerT• Overview• Workflow• Usecase

§ Conclusion

2

Page 3: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

CONTEXTANDMOTIVATIONFormalVerificationofStormTopologiesthroughD-VerT

3

Page 4: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Data-IntensiveApplications(DIAs)

o Needtoprocessdatabeing§ Massivelylargeinsize§ Complex§ Rapidlychanging

o DevotemostoftheirprocessingtimetoI/O,movementandmanipulationofdata.

o Relyonso-called"Bigdatatechnologies”

4

Page 5: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

StreamingApplications

o SpecialcaseofDIAso Needtoprocessacontinuousflowofinformation

§ Streamà unboundedsequenceoftuples(messages)

o Usuallydescribedbymeansofatopology§ Graphofcomputationscomposedof

• input nodes(sourceofdatastreams)• computational nodesàmanipulatedatastreams

o Calculate,Filter,Aggregate,Join,Talktodatabases,etc

5

Page 6: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

QualityIssuesinStreamingDIAso Importantrequirementsforstreamingapplications

§ Latency§ Throughput

o Criticalpoints§ incorrectdesignoftimingconstraints§ nodefailures

o mightcause§ Highlatencyinprocessingtuples§ Memorysaturation

6

latency

throughput

Page 7: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

ApacheStorm

o OpenSourceDistributedStreamProcessingSystemo Analytics,LogEventprocessing,etc..o Reliability,at-least-onesemanticso Wideadoptioninproductiono InStormtopologies

§ Inputnodescalledspouts§ Computationalnodescalledbolts

7

Page 8: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

DICEProject

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

8

Page 9: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Platform-IndependentModel

TheDICEApproach

9©DICE

Platform-SpecificModel

DICE profile

Deployment&ContinuousIntegration

DICE IDE

Big Data

ContinuousMonitoring

DeploymentModel

QAModels

ContinuousValidation

FormalVerification

Page 10: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

D-VerT- DICEVerificationtool

o Assessmentofnon-functionalpropertiesof(streaming)DIAsatdesigntime

o Reliesonformalmodelingofstreamingapplications§ TemporalLogicModel(CounterNetworks)

o Aimsatcheckingthepresenceoftemporaldesignflaws§ Boltsnotabletoprocesstheincomingflowofmessages

10

Page 11: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

D-VerTworkflow

11

- Create UML Model- Apply DICE Profile- Define Topology Structure- Apply Stereotypes- Provide values to parameters

MODEL

Run Verification

VERIFY

DICE-Profiled UML

Tool Configuration

Formal Model

TRANSFORM

!REFINE

Property: “allbolts’inputbuffershaveaboundedoccupationlevel”

+

📈

Page 12: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Usecase:WebCrawler

o Goal:developawebcrawlingapplication§ Tofetch,parseandindexwebresources

• Input:continuousstreamofURLs• Output:indexedwebresources

§ Streamingparadigmwellsuitedforthistask

12

Page 13: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Usecase:WebCrawlerPlatform-IndependentModel(PIM)

13

o Goal:developawebcrawlingapplication§ Tofetch,parseandindexwebresources

• Input:continuousstreamofURLs• Output:indexedwebresources

§ Streamingparadigmwellsuitedforthistask

URLsStreamSource<<SourceNode>>

IndexingNode<<StorageNode>>

WebCrawlingApplication

<<ComputationNode>>

Page 14: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Usecase:WebCrawlerPlatform- SpecificModel(1)

14

Page 15: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Usecase:WebCrawlerPlatform-SpecificModel- Refinement

15

Page 16: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Usecase:WebCrawlerOutputtrace

16

Page 17: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

CONCLUSIONS 17

Page 18: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Wrapup

oModel-drivenapproachtoformalverificationofstreamingapplications

o ApplicationdesignedandrefinedasannotatedUMLdiagrams§ SupportedbyD-VerTtool

• Basedontemporallogicmodel• automaticallygeneratesformalmodelsfromUMLmodelsandrunverification

• Checkwhetheranyofthebolts’queuesgrowsindefinitely

18

Page 19: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Futureworks

o Identificationandverificationoffurtherproperties

oModelingdifferenttechnologies§ Spark,CEP,…

o Toolandmodelimprovements

19

Page 20: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Questions?

20

Page 21: Formal Verification of Storm Topologies through D-VerTwp.doc.ic.ac.uk/dice-h2020/wp-content/uploads/... · Apache Storm oOpen Source Distributed Stream Processing System oAnalytics,

Thankyou

21