Auditdraw: Generating Audits the FAST Way



Similar documents

Equivalent Capacity and Its Application to Bandwidth Allocation in High-Speed Networks

Copyright 2013 wolfssl Inc. All rights reserved. 2

SWEBOK Certification Program. Software Engineering Management

[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information

NOTICE. Other product names mentioned in this document may be trademarks of their respective companies and are hereby acknowledged

CSA Position Paper on AICPA Service Organization Control Reports

Portable Cloud Services Using TOSCA

International Journal of Advance Research in Computer Science and Management Studies

Information integration platform for CIMS. Chan, FTS; Zhang, J; Lau, HCW; Ning, A

THE NATIONAL CME/CPD FRAMEWORK FOR HEALTHCARE PRACTITIONERS

SPeLOs: Significant Properties of E-learning Objects. A report for the JISC Digital Preservation and Records Management Programme

2. An E-commerce Value Chain and Data Requirements

Federated ESBs and Service Federation Management

Database Application Developer Tools Using Static Analysis and Dynamic Profiling

Rossmoor Website SEO Tracking Sheet Updated: April 1, 2014

Fixed Asset Tracking System. copyright 2013 computer directions, llc

Database Design for Real-World E-Commerce Systems

CSE373: Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks/Queues. Linda Shapiro Spring 2016

Generating Aspect Code from UML Models


Web Application Architectures

Design Metrics for Web Application Maintainability Measurement

Evolving a Ultra-Flow Software Development Life Cycle Model

Chapter 3. Technology review Introduction

Copyright 1996 IEEE. Reprinted from IEEE MTT-S International Microwave Symposium 1996

Hahnemann University Hospital Implementing Five Level ESI Triage

Lab 7. Answer. Figure 1

Percerons: A web-service suite that enhance software development process

Mobile Cloud Computing In Business

Single Mailbox Recovery 7.0 Administrative Server Administration Guide

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

OAuth Web Authorization Protocol Barry Leiba

What is a workflow? Workflows are a series of actions that correspond to a work process

Presented by. Denis Darveau CISM, CISA, CRISC, CISSP

Scientific Business Intelligence using Pipeline Pilot

SOFT 423: Software Requirements

Enterprise Architecture for decision making in MODAF

APES 325 Risk Management for Firms

DYNAMIC RANGE IMPROVEMENT THROUGH MULTIPLE EXPOSURES. Mark A. Robertson, Sean Borman, and Robert L. Stevenson

Alcatel-Lucent Targeted and Interactive IPTV Advertising Solution

Modelling the Business Case Study 3 Attendance Monitoring Project and Enterprise Architecture

Component Based Software Engineering: A Broad Based Model is Needed

THE PROFESSIONAL PASSPORT JOBS NETWORK

Current Probes, More Useful Than You Think

A Framework for Software Product Line Engineering

Selenium Open Source Test Automation Framework FAQ

Single SaaS/OEM License Developer End User Agreement Last updated January 5th, 2016

Usability Issues in Web Site Design

Definitions: The Client: The company or individual requesting the services of UK Website Workshop Limited.

Automatic Synthesis of Trading Systems

Website Planning Worksheet

Data Mining Governance for Service Oriented Architecture

Business Plan for Implementing Electronic Commerce

Anatomy of a SQL Tuning Session

PRIVACY AWARE ACCESS CONTROL FOR CLOUD-BASED DATA PLATFORMS

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles

Péter Hegedűs, István Siket MTA-SZTE Research Group on Artificial Intelligence, Szeged, Hungary

With the tools provided by modern automation, pulp and paper makers can produce more with less

White Paper What Solutions Architects Should Know About The TOGAF ADM

Introduction to SOA governance and service lifecycle management.

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Joint Audit Report for South Lakeland District Council. & Eden District Council

Transparent Resource Management and Self-Adaptability Using Multitasking Virtual Machine RM API

A Framework for Adaptive Process Modeling and Execution (FAME)

Design Authority Service

Universal Service Administrative Company (USAC) Request for Information (RFI) for Data Governance Software, Training and Support

Senior IT Strategist R&D Center

BIND Tuning EULA. Kentico Themes License

Table of contents. Best practices in open source governance. Managing the selection and proliferation of open source software across your enterprise

Context-aware Library Management System using Augmented Reality

Roles of Smart TV in Internet of Things

ORACLE WEBCENTER PORTAL

Privacy-preserving Digital Identity Management for Cloud Computing

Transcription:

Auditdraw: Generating Audits the FAST Way Neeraj K. Gupta Lalita Jategaonkar Jagadeesan Eleftherios E. Koutsofios David M. Weiss January 1997 In Proceedings of the 3rd IEEE International Symposium on Requirements Engineering, January 1997. Copyright 1997 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.

Auditdraw:GeneratingAuditstheFASTWay (InProceedingsoftheIEEEInternationalSymposiumonRequirementsEngineering, January1997) NeerajK.Gupta1,LalitaJategaonkarJagadeesan2,EleftheriosE.Koutsoos3 anddavidm.weiss2 Abstract Througharesearch/developmentcollaboration,we haveappliedthefastdomainengineeringprocessto theauditssoftwareinlucenttechnologies'5esstelephoneswitchingsystem.ourcollaborationhasdevelopedanapplication-orientedlanguage,toolset,and accompanyingprocessforspecifyingtherequirements andgeneratingthecodeforthe5essauditssoftware. WedescribetheFASTprocess,ourlanguage,andthe expectedbenetsofthisproject. Keywords requirementsspecication,requirementselicitation, softwarereuse,domainanalysis,domainengineering, telecommunications,application-orientedlanguages, applicationgenerators,process,softwareengineering, requirementsengineering 1Introduction Industrialsoftwareengineerscontinuallyfacethe questionofhowtoproducetheirsoftwarefaster,at lowercost,withmorefeatures.oneapproachtoansweringthisquestionistoorganizesoftwareintofamilies,identifytherequirementsforthefamily,parameterizetherequirementsforindividualfamilymembers,andtoreuseassetswithinandacrossfamilies togeneratefamilymembersrapidly[9].wedescribe hereacollaborationbetweenresearchersanddeveloperstoapplyaprocess,calledfast,thatembodies suchanapproach.ourtargetfamilywasthesetof programsthatauditthedatabaseinlucenttechnologies'5essrtelephoneswitchingsystemtoensurethat theswitchoperatesreliably.eachmemberofthefamilyisknownasanaudit.thefastprocessguided ustodevelopasetofreusableassetsthatenableusto 1IndependentConsultant,withLucentTechnologies5ESS SoftwareDevelopmentOrganization,ngupta@dt2k.com 2SoftwareProductionResearchDept.,BellLaboratories,1000E.WarrenvilleRd.,Naperville,IL60566(USA) flalita,weissg@bell-labs.com 3NetworkServicesResearchCenter,AT&TLabs{Research,600MountainAve,MurrayHill,NJ07974(USA) ek@research.att.com generatetheccodeforauditsthatiscurrentlydevelopedmanually. Inparticular,ourcollaborationhasdevelopedthe following: anapplication-orientedlanguage,calledauditdraw,designedespeciallyforspecifyingtherequirementsandgeneratingthecodeforthe5ess auditssoftware, asetoftoolstohelpauditsdevelopersuseauditdraw,and anewprocessfordevelopingauditsusingauditdraw. WeexpectthatAuditdrawanditstoolsetandprocesswillsignicantlyincreaseproductivityandsignificantlydecreasecostandintervalinauditssoftware developmentinthe5essswitch;wenote,however, thatitisnotyetinproductionuse. Section2ofthispapergivesabriefdescriptionof LucentTechnologies'5ESSswitchanditsauditssoftware,section3describestheFASTprocess,andsection4describeshowweappliedittotheauditsdomain.Section5containsourconclusions. 2LucentTechnologies'5ESSTelephoneSwitchingSystemandAudits LucentTechnologies'5ESStelephoneswitchingsystem[8]provideshighlyreliabletelecommunications services;oneofthekeyfactorsinensuringsystemintegrityandstabilityisthepresenceofreliabledata. Inparticular,audits[4]areprogramsthathelpensurefault-toleranceofrelationaldatabases.Inthe 5ESStelephoneswitchingsystem,theseprogramsperformrun-timechecksontheconsistencyofdataentities,andperformtheappropriatecorrectionsondata whenaninconsistencyisdetected.forexample,in a5essswitch,thestatusofunitsconnectedtothe switchismaintainedintheswitch'sdatabase.some unitsarearrangedinhierarchies,andunitsthatare

relatedtoeachotherbythehierarchymusthaveconsistentstatus,e.g.,ifaparentunitisoutofservice, thenallofitschildrenmusteitherbeoutofserviceor inatransientstate. Agroupofsoftwaredevelopersareresponsiblefor the5essauditssoftware.therequirementsforaudits comefromdevelopersfromothersubsystems,andare writteninenglish.theserequirementsaretypically givenafterthedatadesignforanewormodiedfeaturehasbeencompleted,andtheyspecifythedata entitiesthatneedtobeaudited,howtoaccessthose dataentities,andwhatconsistencycheckstoperform betweendierentdataentities.requirementscapture isfollowedbytheconstructionofanauditdesign,and thisdesignissubsequentlyreviewedatahighlevel designmeetingandthenalowleveldesignmeeting. Basedonthisdesign,theauditdevelopersprogram theauditinc;thisprogramisthenreviewedina formalinspection.theerrorsfoundduringthecode inspectionarecorrectedandthenthetestingprocess begins.therstphaseconsistsofunittesting,where theauditsdeveloperstesttheindividualcfunctions. Thesecondphaseconsistsofintegrationtesting,where otherdeveloperstestalloftheccodecomprisingthe newfeature{includingcodefromothersubsystems {byexecutingscenariosbasedontherequirements. ThisprocessisdepictedinFigure1. Withtheencouragementofbothresearchanddevelopmentmanagement,weformedacollaborationbetweenresearchersintheBellLabsSoftwareProductionResearchDepartmentanddevelopersinthe5ESS auditsgrouptoimprovetheauditsdevelopmentprocess.thecollaborationhasbeenapplyingthefast processtotheauditsdomain. 3TheFASTProcess TheFASTprocessassumesthatmostsoftwaredevelopmentisredevelopment,andthatsoftwareproductioncanbeorganizedaroundfamiliesofsystems toavoidmuchofthereworktypicallyinvolvedin redevelopment.1thegoaloffastistoprovideasystematicapproachtoanalyzingpotentialfamiliesand todevelopfacilitiesforecientproductionoffamily members.keytotheprocessisndingtherequirementsforthefamilyandappropriateabstractionsfor representingthem,creatingalanguageforspecifying therequirementsofindividualfamilymembers,and 1FASTisavariantofSynthesis,whichisdescribedin[2,10, 11].TheprimarydierencesarethatFASTdoesnothavea separateactivityforboundingadomain,andusesamuchmore structuredapproachfordeningafamilythandoessynthesis.inaddition,fastreliesmoreheavilyoncompiler-building technologythandoessynthesis. thentranslatingspecicationsoffamilymembersinto deliverablesoftware.putanotherway,fastisasystematicprocessforfamily-oriented,abstraction,specication,andtranslation. FASThastwosubprocesses,asshowninFigure2. Deningtherequirementsforthefamilyanddevelopingasetofreusableassetsforproducing familymembers.thissubprocessisknownasdomainengineering.wecallitsearlyphasesdomain analysis. Usingtheassetstoproducefamilymembers,primarilybygeneration.Thissubprocessisknown asapplicationengineering. Thetwosubprocessesareconnectedbyfeedback loopstoguidetheevolutionofthefamilyanditsassets. 3.1DeningtheFamilyandDeveloping thereusableassets Deningthefamilymeansidentifyingtherequirementsforpotentialfamilymembers,characterizing whattheyhaveincommon,andhowtheydier.for example,everyauditmustcheckfortheexistenceof databeforeitattemptstoaccessthevalueofthedata. Furthermore,suchacheckmustbedonewithinthe sametimesegmentaswhenthedataareaccessed.all membersofthefamilyof5essauditsmustobeythis rule.ontheotherhand,theparticulardatatobe accessed,thewayinwhichthecheckismade,andthe wayinwhichthedataareaccessedvaryoverreasonablywell-denedsets,andtherearecertaincombinationsthatarenotincludedinthefamily. Justasonemayorganizerequirementsforsingle systemsinavarietyofways,onemayorganizerequirementsforfamiliesinthesamevarietyofways.asan example,onemightusecategoriessuchasinterfacesto devices,interfacestoexternalsystems,andbehavior. Withineachcategory(orfurthersub-categories),one maydescribewhat'strueforallfamilymembers(commonalities),whatvariesamongfamilymembers(variabilities),andwhattherangeofvariabilityis.section 3.1.1describestheprocessthatweuseforeliciting suchrequirementsandtheartifactthatresults. Notethatnomatterwhetheroneprefersobjectorientedapproaches,functionalapproaches,orother approaches,onemustdecidewhatthepotentialfamilymembersare.webelievethatthisisequivalent topredictingwhatkindsofrequirementschangesare likelytooccurduringthelifetimeofthefamily,andis ofcrucialimportanceindevelopingfamilymembers.

Requirements/ High-level design Low-level design Coding Inspections Integration Testing Unit Testing Figure1:TheCurrentAuditDevelopmentProcess 3.1.1ElicitingRequirements:TheCommonalityAnalysis Weuseaprocesscalledcommonalityanalysistoelicit therequirementsforafamily.acommonalityanalysis isastructured,moderateddiscussionamongagroup ofdomainexperts.itsresultisadocument,alsocalled acommonalityanalysis[1],whosekeypartsinclude 1.Adictionaryoftermsusedindiscussingthefamily. 2.Alistofassumptionsthataretrueforallfamily members;theseassumptionsareknownascommonalitiesandarerequirementsthateverymemberofthefamilymustmeet.anexampleofa commonalityistherequirementthateveryaudit mustcheckfortheexistenceofdatabeforeitattemptstoaccessthevalueofthedataandthat thecheckmustbedonewithinthesametimesegmentastheaccess. 3.Alistofassumptionsaboutwhatcanvaryamong familymembers;theseassumptionsareknownas variabilitiesandarerequirementsthatdistinguish amongfamilymembers.thewayinwhichdata areaccessedbyanauditisavariability. 4.Alistofparametersthatdene,foreachvariability,thepossiblesetofvaluesthatitcanhaveand thetimeatwhichavaluemustbexedwhen specifyingafamilymember.thepossibledata accessmethodsusedbyauditsformthesetofvaluesforthevariabilitydescribedinthepreceding paragraph.foragivenaudit,theaccessmethodsitusesmustbedeclaredwhentheauditis specied. 5.Alistofissuesthataroseduringthecourseofthe analysisand,foreachissue,abriefdiscussionof itsresolution. Asmuchaspossible,weusestandardformsforexpressingtheterms,commonalities,variabilities,and parametersofvariation.exceptfortheparameters ofvariationthestandardformsarejuststructured prose.oneexampleiscommonalitiesthattakethe form\thereisamechanismfor..."aninstancemight be:\thereisaxedsetofmechanismsthatanauditmayuseforaccessingdata."forparametersof variationweuseatablethatincludes,asappropriate, mathematicaldescriptionsofthevaluespacesofvariabilities.wherestandardformsdonott,weusefree

Feedback (Customer needs) Marketplace Predictions Domain Engineering Define family and develop reusable assests Feedback (Production needs) Application Engineering Environment Reusable Assets Application Engineering Produce Family Members Key: Product ProcessFigure2:TheFASTProcess Applications

textfordescribingterms,commonalities,andvariabilities. Acommonalityanalysisdocumentforafamilyprovidesthebasisfordesigningaspecicationlanguage andotherreusableassetsforthefamily. Thecommonalityanalysisprocessisorganizedinto phasesthataredesignedtoelicitterms,commonalities,variabilities,andparametersofvariationbyconsensusfromagroupof5-10domainexperts.early phasesoftheprocessconcentrateongainingagreementamongthedomainexpertsontheobjectivesof theanalysisandontheboundariesofthediscussion. Theintermediatestagesoftheanalysisfocusongainingconsensusforthedenitionsofcommonly-used, importantterms,forcommonalities,andforvariabilities.laterstagesfocusonparameterizingthevariabilitiesandonreviewingtheresultsoftheanalysis forcompleteness,consistency,andreadability. Allstagesofthecommonalityanalysisareguided byamoderatorwhounderstandsthefastprocess, theroleofcommonalityanalysiswithinthefastprocess,andthedevelopmentcultureinwhichtheprocess isbeingused.moderatorshaveconsiderablediscretion inadaptingtheprocesstodierentgroups,butrarely changethestructureoftheartifact,i.e.,weareexibleaboutthestructureoftheprocess,butinexible aboutthestructureofthedocument.amoredetailed descriptionofthecommonalityanalysisprocessand artifactcanbefoundin[12]. 3.1.2ReusableAssets Thereusableassetsforafamilyconsistofalltheprocedures,tools,andartifactsneededtoproducefamily members,knowninfastasanapplicationengineeringenvironment.forexample,alanguageforspecifyingfamilymembersandatranslatorforgenerating Ccodefromaspecicationinthelanguagearetypicallyincludedintheenvironment.Thosewhousethe environmentfollowaprocessspeciedbyitsdevelopers.for5essaudits,theauditdrawlanguageandits translatorformtheinitialenvironment.asthefamilyofauditsevolves,theenvironmentwillalso,asthe translatorisenhancedandnewtoolsareaddedtothe environment. 3.2GeneratingFamilyMembers Theapplicationengineeringenvironmentisdesignedtohelpitsuserstogeneratemembersofthe familyveryrapidly.muchofitseectivenessdependsonhowaccuratelyrequirementsforpotential familymemberswerepredictedduringdomainanalysis.whenpredictionsaboutwhatfamilymembers willbeneededinthefutureareaccurate,theenvironmentwillbeveryeective.forthisreason,akey inputtothefamilydenitionprocessispredictions aboutmarketplacetrends. Keytotheenvironmentisawell-designedlanguage forspecifyingrequirements.itsusersshouldbeableto specifyparticularfamilymembersjustbyspecifying thevariationsconsideredduringthedenitionofthe family.forexample,theyshouldbeabletospecify forauditsthedatatobeaccessedbyanaudit.the languageshouldallowthemtodosoinawaynatural tothefamily,i.e.,usingtheabstractions,suchasdata itemfetch,thatareusedtodenethefamily.the environmentshouldprovidethemwithfacilitiesfor verifyingthechoicestheyhavemade,e.g.,verifying thatallvaluesforaparticulardataitemhavebeen checked. Theenvironmentembodiesboththeprocessforcreatingfamilymembersenvisionedduringthedenition ofthefamilyandthetools,procedures,andartifacts neededtocarryoutthatprocess.itsuserscreatea modelofthefamilymemberthattheywouldliketo produceandthengeneratethefamilymember.for 5ESSaudits,themodelisaspecicationexpressed inauditdraw.generationofthefamilymemberis accomplishedbysupplyingthespecicationtothe Auditdrawtranslator,whichperformscompleteness andconsistencychecksandgeneratestheappropriate code. 3.3ApplicabilityofFAST TheFASTprocessisworthapplyingwhenthecost ofdomainengineeringisrepaidbythedecreaseincost anddevelopmenttimeforfuturefamilymembers,i.e., whenthedomainengineeringcostcanbeamortized overthefamilymembersthatareproducedwiththe resultsofdomainengineering.suchrepaymentoccurs inthefollowingsituations: Whenasystemwillexistinmanyvariationsover alongperiodoftime, Whenthereisconsiderabletimeandeortbeing devotedtomakingcontinualchangestoasystem, Whentherearemanycustomersforasystem, eachofwhomwantsthesystemcustomizedfor hisorherpurposes, Whenitisimportanttoproducevariationsona systemquickly. MuchofourexperienceinapplyingFASThasbeen inlegacysystemsthatarestillindemand,where thereisareservoirofknowledgeaboutthesystem,

andwherechangetothesystemhasbecomeslowand costlycomparedwithmarketplacedemands.usersof FASToftenviewitasawaytogainacompetitive advantageinspeedandcost. WeusuallyapplyFASTbyseekingadomainwithin alarge,legacysystemwherethereisfrequentchange occurringatrelativelylargecost.suchadomainis oftenanisolatablesectionofthesystemwherethe changescanbeencapsulated,andwhereagroupof softwaredevelopershasresponsibilityformakingthe changes.section4describestheapplicationoffast tosuchadomainwithinthe5esssoftware.although thisisatypicalapplicationoffast,wealsobelieve itwillworkwhereverdevelopersareabletomakeinformeddecisionsaboutfamilyrequirements. 3.4OrganizingFASTApplications Inadditiontoperformingacommonalityanalysis, thefastdomainengineeringprocessincludesactivitiesfordesigningandimplementingtheapplication engineeringenvironment,andtheapplicationengineeringprocessforusingtheenvironmenttoproduce applications.adetaileddescriptionoftheseactivities isbeyondthescopeofthispaper. AsshowninFigure2.,weperformdomainengineeringandapplicationengineeringiteratively,reanalyzing,rening,andimprovingtheenvironmentas necessary.fortheearlyiterations,wegenerallyestablishacollaborationofresearchersandsoftwaredeveloperstodeveloptheinitialversion(s)oftheenvironment.forthecommonalityanalysis,themoderator isfrequentlyaresearcherteamedwith5-10domain experts.forlanguagedesignandimplementationactivities,theteamisoftencomposedofoneresearcher andtwoorthreedevelopers. Asprototypesoftheenvironmentbecomeavailable, moredevelopersareaddedtotheteamastesters. Astheenvironmentbecomesreadyforproduction,a widersetofdevelopersistrainedinitsuse,andresearcherstakeadecreasingroleinfurtherenvironment development.weexpectthatthedomainexpertswill becometheownersoftheenvironmentandcontinue itsdevelopmentbasedonthefeedbacktheygetfrom itsuseandfromforecastsofmarketplaceneeds.most ofthedomainsthatwearecurrentlyengineeringare stillintheirrstiterationofdomainengineering. Ourexperience,whichisstillverylimited,indicates thattheresourcesneededtodeveloptherstversion ofanapplicationengineeringenvironmentsuitablefor productionuseislessthanvestayearsofeort. Weconsiderthesedomainstobeintherstmajor iterationofthedomainengineering-applicationengineeringcycleshowninfigure2.wecurrentlyhave approximatelytendomainssomewhereintheirrst majoriteration. 4FASTandAudits 4.1DomainAnalysisandApplication- OrientedLanguageDevelopment Theauditssoftwaredevelopmentgroupandseveral researcherscollaboratedtoperformadomainanalysisforthe5essauditsdomain,therststepinthe FASTprocess.Thus,therequirementsdescribedin thecommonalityanalysis[1]havebeenvalidatedbya largegroupofauditsexperts. Forthelanguagedevelopmentphase,amemberof the5essauditssoftwaredevelopmentorganization visitedthesoftwareproductionresearchdepartment forapproximatelyoneyearandahalf.thisinteractionenabledaveryfruitfulandcrucialexchangeof ideasandconcernsbetweenresearchanddevelopment. Priortoourcollaboration,therehadbeenaprototypicalrule-basedlanguagedevelopedintheauditssoftwaregroup,onwhichwehavecapitalized. Basedonthedomainanalysisandthisprevious languageprototype,wedevelopedtheauditdrawlanguage[3],designedespeciallyforspecifyingtherequirementsforthe5essauditssoftware.inthecourse ofourwork,wediscoveredthatauditrequirements canbeverynaturallyrepresentedasaformofdecisiontrees,inwhichadecisioninvolvestheretrievalof adataentityfromadatabase,andthecomparisonof itsvaluetothevalueofsomeotherdata.sincesome sub-treesmaybeidentical,wehavegeneralizedthese decisiontreestodirectedacyclicgraphs.theleaves ofthesegraphsrepresentreportstobegeneratedand correctiveactionstobetaken.sincethesegraphscorrespondtoauditrequirements,thedecisions,reports, andactionsallhavepreciselyspeciedbehavior. Auditdrawisalanguageforspecifyingsuchdecision graphs.inthegraphicalview,theprogrammerinteractivelydrawsthegraphoneitheraworkstationora PC;he/sheusesagraphicalinterfacedesignedespeciallyforauditgraphs,whichisbuiltonthegraphical layouttool\dotty"[5,6].inadditiontothegraphicalspecication,theprogrammeralsowritesasimplecompaniondeclarationsectionthatspeciesthe nameoftheauditanditsinterfaces,thedatatobe audited,andthedataaccessmethodstobeused.the graphanddeclarationsectionarethentogetherautomaticallytranslatedintosemantically-equivalentexecutablecode. AsimpleAuditdrawgraphicalspecicationisgiven infigure3.thisspecicationgivesanauditdrawrepresentationofasmallpieceofanauditinthe5ess telephoneswitchingsystem,whichcheckstheconsis-

parent.bas_state child.bas_state child.transient child.transient child.transient child.bas_state DC ACT2 ACT1 ERROR ERROR ACTIVE OOS ACTIVE OOS ACTIVE OOS NO YES YES NO NO YES Figure3:AnAuditdrawExample tencyofparentandchildcircuitsappearinginhierarchicalcircuits.specically,thestatesofaparent circuitanditschildcircuitshouldbeidentical:they shouldeitherbothbeactive(active)orbothbe outofservice(oos).ifnot,thenanerrorreportshouldbegeneratedandsomecorrectiveaction (ACT1orACT2)taken.Theonlyexceptioniswhen thechildcircuitisinatransientstate,inwhichcase anyinconsistenciesshouldbeignoredanda\don't care"(dc)reportshouldbegenerated.inoursamplespecication,theovalsrepresentthedataentities tobechecked(andtheapplicationoftheirassociated retrievalmethod)andthearcsrepresenttransitions. Anarcistraversedifthevalueofthedataentityin thesourceovalofthearcmatchesthevaluewritten onthearc;controlisthenpassedtothetargetovalof thearc.trapezoidsrepresenterrorreportstobegeneratedandboxesrepresentactionstobetaken.so, forexample,iftheparentstateisactive,thechild stateisoosandthechildisnotinatransientstate, thentheerrorreportwillbegeneratedandthe actionact1performed. Asillustratedabove,Auditdrawspecicationshave apreciselydenedsemanticsthatmodelthebehaviorofaudits.thisenablesstaticanalysis{suchas completenesscheckingandoptimization{tobeperformed.forexample,figure4depictsanoptimization oftheauditdrawgraphshowninfigure3;therst checkperformedintheoptimizedversioniswhether ornotthechildcircuitiscurrentlyinatransientstate. Ifso,thegraphisexitedimmediatelyaftergenerating adcreport. TwoviewsaresupportedbyAuditdraw:agraphicalview,describedabove,andarule-basedview.In therule-basedview,theprogrammerexplicitlywrites everymaximalpathofthegraphinatextualfor- mat.thesetwoviewsareinterchangeable:aspeci- cationwrittenintherule-basedviewcanbeautomaticallytranslatedintothegraphicalview,andviceversa.bothoftheseviewscanbeautomaticallytranslatedintosemantically-equivalentexecutablecode. 4.2CurrentStatusandFuturePlans ThecommonalityanalysisfortheAuditsdomain[1] wascompletedinmay,1994.amajorityofsoftwaredevelopersfromthe5essauditssoftwaredevelopmentgroupandseveralmembersofthesoftware ProductionResearchDepartmentparticipatedinthis analysis. Thedesignof(bothviewsof)theAuditdrawlanguage,andthedevelopmentofthegraphicaltoolset andcodegeneratorwascompletedinjuly,1995.this toolsetiscurrentlyundertrialintheauditsdevelopmentgroup.aspartofthistrial,wehavedevelopeda Auditdrawgraphspecifyinganactual5ESSsoftware audit;thisgraphconsistsof56nodesand113edges.

DC ACT2 ACT1 ERROR ERROR child.bas_state parent.bas_state child.bas_state ACTIVE OOS OOS ACTIVE OOS ACTIVE child.transient YES NO DC Figure4:AnAuditdrawOptimizationExample TheCcodeautomaticallygeneratedfromthisgraph usingauditdrawconsistsofapproximately600lines. Sinceaformally-denedlanguageandtoolsetnow existforthegraphicalviewofauditdraw,weplanto buildonandextendthistoolsetafterthecompletion ofthetrial.inparticular,weplantodevelopatoolset fortherule-basedversionofauditdraw,aswellasa debugger,optimizer,and\auditdi"toolforcomparingthegraphs/textofdierentauditsspeciedusing Auditdraw;thislattertoolshouldbeespeciallyuseful inthemaintenanceofaudits.wealsoplantodevelop atrainingcourseforauditdraw. 4.3ExpectedBenets The5ESSauditssoftwaredevelopmentgrouphas begunatrialoftheauditdrawlanguageandtoolset. Inthistrial,several5ESSauditswillbespeciedusing Auditdraw,andtheresultingexecutablecodewillbe testedinthe5essproductionenvironments. SinceAuditdrawisahigh-levellanguagedesigned especiallyforspecifyingaudits,webelievethatauditswritteninauditdrawwillbefasterandeasierto writeandmaintain.inparticular,auditrequirements canbespecieddirectlyinauditdraw,andexecutable codecanbeautomaticallygenerated.weexpectthat thiswillsignicantlyreducecodingerrors,andthat theresultingauditswillbeofahigherquality.furthermore,automaticcodegenerationfromhigh-level specicationseliminatestheneedforseveralphases inthecurrentdevelopmentprocess:namely,thelowleveldesign,coding,codeinspectionandunittesting phases.theauditdrawprocessisshowninfigure5; thereadershouldcontrastthiswiththecurrentaudit developmentprocessshowninfigure1. Asasidebenetofthisstreamlinedprocess,weexpectthatauditswillbeavailabletoothersubsystems earlier,aidinginthedebuggingofthosesubsystems. Thus,webelievethattheAuditdrawlanguageand toolsetwillsignicantlyincreaseproductivityandsignicantlydecreasecostandintervalinauditssoftware developmentinthe5essswitch.whileauditdraw isspecictotheauditssubsystemin5ess,itisalso readilyadaptabletootherplatforms.forexample, thegeneratedcodecouldbere-targetedtoadierentlanguage.moregenerally,auditdrawisgenericto databases;namely,itcanprovidefault-tolerancefora verylargevarietyofdata.wearecurrentlyinvestigatingpossibleapplicationstootherlucenttechnologies switchingplatforms. 5Conclusions OurapplicationofFASTtotheauditsdomain shouldsignicantlyimprovetheeciencyoftheauditsdevelopmentprocess.webelievethisisaresult primarilyofthefollowingfactors:

Requirements/ High-level design Integration Testing Figure5:TheAuditdrawProcess Family-orientedviewpoint TheFASTprocessisbasedonidentifyingthe commonrequirementsforafamilyofsystems,parameterizingtherequirementsforindividualfamilymembers,andndingtheappropriateabstractionsforeasilyexpressingthecommonalitiesand variabilitiesinrequirementsamongfamilymembers.thecommonalityanalysisprocesshelpsto ensurethattheserequirementsandtheabstractionsremaincorrectandsuitablyexpressiveas thefamilyofsystemsevolves. Generationofcodefromrequirementsspecications Requirementsexpressedintheseabstractionsare automaticallytranslatedintoexecutablecode. Thisstreamlinesthedevelopmentprocessandensuresthatthesoftwaresatisestherequirements. Maintainabilityofsoftware Sincetheabstractionsforexpressingrequirementsaretailoredforaparticularfamily,inthis casethe5essauditssoftware,changesinthe requirementsareeasilyexpressedbymodicationsintherequirementsspecications.furthermore,maintainabilityofthesoftwareintheface ofchangesinrequirementsisgreatlyaidedbythe automaticgenerationofcode. Staticanalysisofrequirementsspecications Theformally-denednatureofthegraphicalrepresentationmakesitpossibletoanalyzestatically theauditsrequirementsforconsistencyandcompleteness,relativetothedatathatisbeingaudited. Reuse Artifactsoftherequirementsengineeringprocess canbereusedinthefollowingways: Abstractionsholdoverlargesubsetsofaudits familymembers.inparticular,commonalitiesare re-usedinallthemembersofthefamily.forexample,every5essauditmustcheckfortheexistenceofdatabeforeitattemptstoaccessthe valueofthedata.similarly,variabilitiestypically holdacrosslargesubsetsoffamilymembers:for example,manyauditssharethesamedataaccess operations. Thelanguagetranslatorreusestheseabstractions formanyauditdesigns,sincethecommonalities andvariabilitiesarebuiltintothelanguage.for example,existencechecksandappropriatedata accessoperationsareautomaticallyinsertedinto auditdesignsduringcodegeneration. Abstractionsareoftensharedbetweenfamilies. Forexample,wefullyexpectthatmanyabstractionscommonto5ESSauditswillalsobeshared byauditsinotherswitchingplatforms.thus,auditdrawanditsprocesscanbetailoredtoavarietyoffault-tolerantdatabases. Inaddition,webelievethatthecollaborativenatureoftheFASTprojects,i.e.,researchersandsoftwaredevelopersworkingtogethertousetheFAST processtocreatereusableassets,willgreatlyimprove thechancesforsuccess.notonlydideachtypeofcollaboratorbringspecializedknowledgeneededforthe domainanalysisanddomainimplementation,butwe expectthattransferofthenewtechnologythatresultedfromthecollaborationwillbegreatlyeasedby havingthetechnologyusersbepartoftheprocess.

Acknowledgments Wethankthe5ESSAuditsgroupformanyhelpful discussionsonthisproject,andchrisrammingand CurtTuckeyformanyhelpfuldiscussionsonthelanguageandtoolset.WearegratefultoBobColby,Cy Rubald,andMaryZajacfortheirvigoroussupportof thiscollaboration,andjoepauleandericsumner,jr. fortheirvisionininitiatingit. References [1]G.Babu,M.Baron,A.Charles,J.D'Mello, D.Ebright,N.Gupta,L.Jagadeesan,S.Ozdemir, S.Patel,J.Paule,M.Phreykz,R.Trygar,and D.Weiss.Commonalityanalysisforaudits.Technicalreport,AT&TBellLaboratories,May1994. InternalDocument. [2]G.H.Jr.Campbell,S.R.Faulk,andD.M.Weiss. Introductiontosynthesis. TechnicalReport INTRO-SYNTHESIS-PROCESS-90019-N,SoftwareProductivityConsortium,1990. [3]N.K.Gupta,L.J.Jagadeesan,E.E.Koutsoos, andd.m.weiss.user'sguideforauditdraw. Technicalreport,AT&TBellLaboratories,May 1995. [4]G.Haugk,F.M.Lax,R.D.Royer,andJ.R. Williams.The5ESS(TM)switchingsystem: Maintenancecapabilities.AT&TTechnicalJournal,64(6part2):1385{1416,July-August1985. [5]E.E.KoutsoosandS.C.North.Viewinggraphs withdotty.technicalreport59113-930120- 04TM,AT&TBellLaboratories,1993. [6]E.E.KoutsoosandS.C.North.Applicationsof graphvisualization.ingraphicsinterface'94, Ban,Alberta,pages235{245,1994. [7]R.C.T.LaiandD.M.Weiss. Aformal modelofthefastprocess.technicalreport BellLabsTechnicalMemorandum,BL0112650-950707-30TM,AT&TBellLaboratories,July 1995. [8]K.E.MartersteckandA.E.Spencer.Introductiontothe5ESS(TM)switchingsystem.AT&T TechnicalJournal,64(6part2):1305{1314,July- August1985. [9]D.L.Parnas.Onthedesignanddevelopmentof programfamilies.ieeetransactionsonsoftware Engineering,SE-2:1{9,March1976. [10]Synthesisguidebook,volumei,methodologydefinition.TechnicalReportSPC-91122-MC,v. 01.00.02,SoftwareProductivityConsortium,December1991. [11]Synthesisguidebook,volumeii,casestudies. TechnicalReportSPC-91122-MC,v.01.00.02, SoftwareProductivityConsortium,December 1991. [12]D.M.Weiss.Deningfamilies:Thecommonalityanalysis.SubmittedtoIEEETransactionson SoftwareEngineering,July1996.