DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf•...

89
DSLs and OPE Christian Colombo (work with Mark Micallef and Gordon Pace)

Transcript of DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf•...

Page 1: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

DSLsandOPEChristianColombo(workwithMarkMicallefandGordonPace)

Page 2: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

DSLs

DSLsforTesting

CNLsforMonitoring

Page 3: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

DSLs

DSLsforTesting

CNLsforMonitoring

Page 4: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

DSLsfortesting•  AgiledevelopmentèTestautomation

Page 5: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

DSLsfortesting•  AgiledevelopmentèTestautomation

Theneedfortestautomation

Page 6: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Existingtechnology:GherkinGiven I am a premium user When I place a bet on a football match And I win the bet Then I will win 10% more than the advertised odds for the match

Page 7: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Testautomation–2challenges•  Nonskilledtesters(fortestautomation)•  Timepressure

Page 8: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Proposedsolution:• MorestructuredDSL•  Easyfornonskilledtesters•  Savestime

Page 9: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Manytestingdomains•  E-commerce(cart,stock,item,buy,sell,etc)•  Games(bonus,points,bet,win,lose,etc)•  GUIapps(button,progressbar,label,tap,swipe,etc)

Page 10: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

DSLsfortesting

Well-DefinedDomains

UndefinedDomains

AndroidGUIApplications

E-CommerceApplications

GraphicalGames

Page 11: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

DSLsfortesting

Page 12: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

DSLsfortesting

Page 13: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

GenerictestingDSL

Page 14: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

ECommerceexample

Page 15: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

StructuredDSLsvsGherkin1. Theapproachworksonceagrammarisinplace

a.  (Automaticallygenerated)CodehelpersinIDEb.  Consistentscripts

2. Morecumbersometoaddnewlanguagefeaturesa.  Newfeaturesrequiregrammarmodificationb.  Notionoftagging@manualtestslost

3. Specialisedskillsneededforgrammardefinitionandcompilation

4. Wecannot“fudge”anymore(isthisgoodorbad?)

Page 16: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

DefinedvsUndefineddomains1. Easytoreachastablelanguagequicklywithwell-defineddomains

2. Youcanquicklygodowntotheleafnodeofthedomainhierarchy

Page 17: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Questions:• Whocurates/ownsthelanguage?• Whateffectwillachangeonthelanguagehaveonexistingscripts?•  Howistheprocessoflanguageevolutioncontrolled?• Whomaintainscodegeneratorsandhow?

•  Importanttohavemanagementonboard

Page 18: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

DSLs

DSLsforTesting

CNLsforMonitoring

Page 19: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

CNLsfordataprocessing•  Non-technicalpeopleneedtoprocessdatabasedontheirexpertise•  Theycannotprogram–evenDSLsmightstillfeeltootechnical

Page 20: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

CNLsfordataprocessing•  Non-technicalpeopleneedtoprocessdatabasedontheirexpertise•  Theycannotprogram–evenDSLsmightstillfeeltootechnical

•  Examples:•  Businessintelligence

Page 21: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

BusinessIntelligence•  ThebusinessFacebookpage•  Fastresponseexpected•  “Alertmewhenacustomerhaspostedaquestiononmypageandhasnotbeenansweredinanhour”

Page 22: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

BusinessIntelligence•  ThebusinessFacebookpage•  Fastresponseexpected•  “Alertmewhenacustomerhaspostedaquestiononmypageandhasnotbeenansweredinanhour”

•  Reviewers’pages•  Badreviewsneedtobedamagecontrolled•  “Alertmewhenapostonareviewpagementionsmybusinessandgetsmorethan5likes”

Page 23: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

BusinessIntelligence•  ThebusinessFacebookpage•  Fastresponseexpected•  “Alertmewhenacustomerhaspostedaquestiononmypageandhasnotbeenansweredinanhour”

•  Reviewers’pages•  Badreviewsneedtobedamagecontrolled•  “Alertmewhenapostonareviewpagementionsmybusinessandgetsmorethan5likes”

•  Advertisingpages•  Competitorsarecontinuallyposting•  “AlertmewhenacompetitorpostsonanadvertisingpageandIhavenotpostedanythingtoday”

Page 24: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

BusinessIntelligence•  ThebusinessFacebookpage•  Fastresponseexpected•  “Alertmewhenacustomerhaspostedaquestiononmypageandhasnotbeenansweredinanhour”

•  Reviewers’pages•  Badreviewsneedtobedamagecontrolled•  “Alertmewhenapostonareviewpagementionsmybusinessandgetsmorethan5likes”

•  Advertisingpages•  Competitorsarecontinuallyposting•  “AlertmewhenacompetitorpostsonanadvertisingpageandIhavenotpostedanythingtoday”

Offtheshelfsolutionsarenotso

flexible

Customsolutionsareexpensive

Page 25: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

CNLsformonitoring•  Non-technicalpeoplewanttocreatemonitorsbasedontheirexpertise•  DSLsmightstillfeeltootechnical

•  Examples:•  Businessintelligence•  Taxfraud

Page 26: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

TaxfraudAuditor

“Findindividualswhodeclaredanaverageincomeoflessthan€3000

forany3sequentialyears”

Page 27: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Taxfraud1.Describearule

2.RuleInterpretation

3.Code

4.Reportfoundcases

5.Reviewfoundcases

DeveloperAuditor

Page 28: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Taxfraud1.Describearule

2.RuleInterpretation

3.Code

4.Reportfoundcases

5.Reviewfoundcases

DeveloperAuditor

Repeatuntilthefraudexpertissatisfied!

Page 29: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Taxfraud1.Describearule

2.RuleInterpretation

3.Code

4.Reportfoundcases

5.Reviewfoundcases

DeveloperAuditor

Repeatuntilthefraudexpertissatisfied!

Manyplaceswherethiscangowrong

Page 30: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Taxfraud1.Describearule

5.Reviewfoundcases

Auditor

Automatic

Page 31: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Solution?•  CNLfordomainexpert

Page 32: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Approach:BI

CNLspecification

BIexpert

FBeventstream

Page 33: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Approach:BI

CNLspecification CNL-to-Monitortool

LARVAspecification Larva

BIexpert

FBeventstream

Page 34: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Approach:BI

CNLspecification CNL-to-Monitortool

LARVAspecification Larva

BusinessIntelligenceDashboard

BIexpert

FBeventstream

Page 35: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

TaxfraudAuditor

CNLspecification CNL-to-Monitortool

LARVAspecification Larva

Spreadsheetwithsuspiciouscases

Taxdatastream

Page 36: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

TaxdatastreamTaxfraudAuditor

CNLspecification CNL-to-Monitortool

LARVAspecification Larva

Spreadsheetwithsuspiciouscases

Inthelongtermmonitoringisfasterthandatabasequery

Page 37: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Lessonslearnt•  UsersfounditquiteeasytoexpressthemselvesinCNL•  Someexampleswereenoughtogetthemgoing

•  GoodUIsupportmakesagreatdifference

•  Taxfrauddomainwasmuchmoredifficulttocapture•  Containsmorejargon•  Canexpress(very)complexrules

Page 38: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

OpenPaymentsEcosystemHorizon2020projectShaunAzzopardi,ChristianColombo,GordonJPace,andBrianVella

Page 39: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

TravelAgency

TravelAgentCorporateCustomers

Airlines,Hotels,etc

Page 40: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

TravelAgency

TravelAgentCorporateCustomers

Airlines,Hotels,etc

Pay-ments

Page 41: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Usingcorporatecreditcards

Flights

Hotel

Transport

Page 42: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Usingcorporatecreditcards

Flights

Hotel

Transport

Reconciliation

Page 43: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

One-shotcards

Flights

Page 44: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

One-shotcards

Flights

Easyreconciliation

Page 45: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Paymentprogrammesetupcosts

•  Implementingcardprocesses•  Agreementwithbank•  Compliancetolegislation•  Auditing•  Disputeresolution•  ...

Page 46: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Buildingapaymentapplication

TravelAgent

Page 47: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Buildingapaymentapplication

Paymentapplication

TravelAgent

Page 48: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Buildingapaymentapplication

Developer

Paymentapplication

TravelAgent

Page 49: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Buildingapaymentapplication

Serviceprovider(Bank)

Developer

Paymentapplication

TravelAgent

Page 50: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Buildingapaymentapplication

Serviceprovider(Bank)

Developer

Paymentapplication

Programme

(Application)

manager

TravelAgent

Page 51: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

OpenPaymentsEcosystem

Serviceprovider

s

Developers

Paymentapplications

Programme

managers

Corporate

customers

Page 52: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

OpenPaymentsEcosystem

Serviceprovider

s

Developers

Paymentapplications

Programme

managers

Corporate

customers

ExecutionEnvironment

Page 53: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

OpenPaymentsEcosystem

Serviceprovider

s

Developers

Paymentapplications

Programme

managers

Corporate

customers

ExecutionEnvironment

DevelopmentEnvironment

Page 54: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Processgivesrisetoissues

•  Istheapplicationlegal?

Page 55: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Processgivesrisetoissues

•  Istheapplicationlegal?

•  WhichServiceProviderwouldbewillingandabletorunit?

Page 56: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Processgivesrisetoissues

•  Istheapplicationlegal?

•  WhichServiceProviderwouldbewillingandabletorunit?

•  Canapplicationviolateregulationsatruntime?

Page 57: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

OpenPaymentsEcosystem+Compliance

Serviceprovider

s

Developers

Paymentapplications

Programme

managers

Corporate

customers

ExecutionEnvironment

Complianceengine

DevelopmentEnvironment

Page 58: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Compliance

1. Checkingcompliancetoregulations

Page 59: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Compliance

1. Checkingcompliancetoregulations

2. Matchingserviceprovidercapabilities

Page 60: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Compliance

1. Checkingcompliancetoregulations

2. Matchingserviceprovidercapabilities

3. Limitingriskforserviceproviders

Page 61: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Example

UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.

Page 62: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Example

UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.

1.IsthejurisdictiontheUK?

1.  Compliancetoregulations2.  Capabilitychecking3.  Riskmitigation

Page 63: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Example

UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.

1.Doestheapplicationfallunderthedefinitionofe-money?

1.  Compliancetoregulations2.  Capabilitychecking3.  Riskmitigation

Page 64: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Example

UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.

1.Arefundsredeemablethroughtheapplication?

1.  Compliancetoregulations2.  Capabilitychecking3.  Riskmitigation

Page 65: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Example

UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.

2.Canserviceprovidersupporte-moneyapplications?

1.  Compliancetoregulations2.  Capabilitychecking3.  Riskmitigation

Page 66: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Example

UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.

1.Iscorrectvaluegiventotheuser

1.  Compliancetoregulations2.  Capabilitychecking3.  Riskmitigation

Page 67: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Example

UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.

3.Howmanyfundsareallowedoninstruments?

1.  Compliancetoregulations2.  Capabilitychecking3.  Riskmitigation

Page 68: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

OpenPaymentsEcosystem+Compliance

Serviceprovider

s

Developers

Paymentapplications

Programme

managers

Corporate

customers

ExecutionEnvironment

Complianceengine

DevelopmentEnvironment

Complianceupfront?

Page 69: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

ComplianceChallenges

● Notallpropertiesarecheckableupfront Implication:SAnotenough

Page 70: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

ComplianceChallenges

● Notallpropertiesarecheckableupfront

● Notallinformationisavailable–onlythemodeloftheapplication

Implication:SAnotenough

Implication:SAcanonlybedoneonmodel

Page 71: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

ComplianceChallenges

● Notallpropertiesarecheckableupfront

● Notallinformationisavailable–onlythemodeloftheapplication

● Wecannottrusttheapplication(itisrunbythirdparty)

Implication:SAnotenough

Implication:SAcanonlybedoneonmodel

Implication:Wehavetoverifymodeladherenceatruntime

Page 72: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Model

Developersubmitsmodelofapplicationratherthanimplementation

Page 73: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Model

Developersubmitsmodelofapplicationratherthanimplementation

Staticcheckthemodel

Page 74: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Model-Implementation

Implementation

Runtimecheckimplementationagainst

model

Page 75: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Runtimeverification

Implementation

Runtimecheckimplementationagainst

model

Runtimeverifyremainingchecks,eg:limits,atparvalue,delays

Page 76: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Example

UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.

2.Canserviceprovidersupporte-moneyapplications?

1.IsthejurisdictiontheUK?

1.Doestheapplicationfallunderthedefinitionofe-money?

Staticcheckthemodel

1.Arefundsredeemablethroughtheapplication?

Page 77: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Example

UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.

1.Doestheapplicationfallunderthedefinitionofe-money?

StaticcheckthemodelRuntimecheck

implementationagainstmodel

Page 78: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Example

UKe-moneyregulationsstatethatfundsonfinancialinstrumentsshouldberedeemableatparvalue.

3.Howmanyfundsareallowedoninstruments?

1.Iscorrectvaluegiventotheuser

Staticcheckthemodel

Runtimeverifyremainingchecks,

eg:limits,atparvalue,delays

Page 79: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Whataboutthemaths?

Page 80: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

CombiningStaticandDynamicAnalysis

Page 81: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

CombiningStaticandDynamicAnalysis

Page 82: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:
Page 83: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Integratingthemodel

Page 84: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Integratingthemodel

Page 85: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:
Page 86: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:
Page 87: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Quotientoperatoronthemodel

Page 88: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:
Page 89: DSLs and OPE - staff.um.edu.mtstaff.um.edu.mt/__data/assets/pdf_file/0011/348986/dslsandOPE.pdf• Agile development è Test automation The need for test automation Existing technology:

Conclusions

•  Loadsofworkahead!!