230 likes | 405 Views
Expanding the O-O toolkit at Marks and Spencer. Agenda. Marks and Spencer (M&S) Tata Consultancy Services (TCS) M&S Store Growth Project Multi Dimension Array Class Daemon Monitor Class. Marks and Spencer (M&S). UK and Eire based
E N D
Agenda • Marks and Spencer (M&S) • Tata Consultancy Services (TCS) • M&S Store Growth Project • Multi Dimension Array Class • Daemon Monitor Class
Marks and Spencer (M&S) • UK and Eire based • International Franchise – Europe, Middle East, Hong Kong, Canada etc • Expanding into India and China with partners
Tata Consultancy Services • IT Development Partner at M&S (TCS.COM) • Initial 5 year contract • TATA.COM – Motors, Housing, Hotels, Food, Technology
M&S Store Growth Project • 999 Store limit arrays • Depot Expansion • Batch schedule
Multi Dimension Array Class • Unbounded 3 dimensional array • 3 stringlists for indexes • 1 stringlist with all indexes and value • Forward compatible with Sirius (hopefully)
Multi DimArray Class Methods New (Constructor) %pop is object multiDimArray %pop = new(30,30,2) %pop:default = ‘0’ %pop:useDefault = True
Multi DimArray Class Methods add (Function) %pop:add(9956 , Austria , Irish , M) %pop:add(230 , Austria , Irish , F) %pop:add(590 , Austria , Irish , CH) …. %pop:add(3205 , USA , Welsh , M) %pop:add(99456 , USA , Welsh , F)
Multi DimArray Class Methods item (Function) print ‘Welsh Men in USA = ‘ with %pop:item( USA , Welsh , M) … Welsh Men in USA = 3205
Multi DimArray Class Methods count (Function) print ‘Num Countries = ' %pop:count(1) print ‘Nationalities = ' %pop:count(2) print ‘Groupings = ' %pop:count(3) … Num Countries = 591 Nationalities = 430 etc
Multi DimArray Class Methods nameByNumber (Function) print ‘Countries : ‘ … for %i from 1 to %pop:count(1) print %pop:nameByNumber(1,%i) with ‘, ‘… end for … Countries : Austria, Canada, England,…,USA
Multi DimArray Class Methods itemByNumber (Function) for %i from 1 to %pop:count(1) for %j from 1 to %pop:count(2) for %k from 1 to %pop:count(3) print %pop:nameByNumber(1,%i) and – %pop:nameByNumber(2,%j) and - %pop:nameByNumber(3,%k) and – %pop:itemByNumber(%i,%j,%k)
Multi DimArray Class Methods itemByNumber (Function) continued Austria Irish M 9956 Austria Irish F 230 Austria Irish CH 590 … USA Welsh M 3205 USA Welsh F 99456
Multi DimArray Class Methods Other methods … %pop:removeItem (%i,%j,%k) %pop:print %popUSA = %pop:Subset (USA) %popIrish = %pop:Subset (,Irish)
DaemonThread Class • Use Independent daemon to run user services in M204 Online • Simple starting and control of free running services • Allow user service to easily report its status
DaemonThread Class Methods • new (Constructor) • newDaemon • checkpoint • auditDaemon & auditLineDaemon • closeDown • fail • cancel
Alert Monitor • Interrogate Threads based on control data • Report Failures to SOLVE (Operators) • Check for online failure and report
Support Monitor • Janus monitor • Monitor Threads and update control data • Request Service cancellation
Patrick.Bower@marks-and-spencer.com Paul.Webb@marks-and-spncer.com