20160823 - qualities of communications...1 d. w. cearly, b. burke, m. j. walker, top 10 strategic...
TRANSCRIPT
QUALITIESOFCOMMUNICATIONSPROTOCOLSANDTHEIRBEARINGON
ENGINEERINGSUCCESSFULSOFTWARESYSTEMS
DR.STEPHENCLYDE
UTAHSTATEUNIVERSITY
SOFTNET,ICSEA2016
ROME,ITALY,AUGUST22-25,2016
2016TECHNOLOGYTRENDS
• 8outofthetop10technologytrends1 directlyinvolveorrequirenetworkcommunications:• DeviceMesh• AmbientUserExperience• InternetofThings• InformationofEverything
• Italmostgoeswithoutsayingthatcommunicationsarebeingintegratedintoallkindsofapplications,e.g.• Smarthomeappliances• Smartmedicaldevices• Personalandbusinessapplicationsofallkinds
1D.W.Cearly,B.Burke,M.J.Walker,Top10StrategicTechnologyTrendsfor2016,Gartner,Feb.29,2016
• AutonomousAgentsandThings• AdaptiveSecurityArchitecture• AdaptiveSystemArchitecture• MeshAppandServiceArchitecture
AFEWRANDOMTHOUGHTSABOUTCOMMUNICATION
• Chickensquawkstobroadcastthatit’slayinganegg
• Itcommunicatesomethingaboutits”state”
• However,thechickendoescareifothershearheroraboutthestateofthelisteners
Verybasiccommunication:TheChickenandEgg
AFEWRANDOMTHOUGHTSABOUTCOMMUNICATION
• Uponfindingpollen,ascoutbeereturnstothehiveandperformsafigure-8dance,wheretheorientation,length,andintensityofthewigglescommunicatethelocationofpollen
• Thedancecommunicatesstate,alongwithinstructionsforlocatingpollen• Thescoutbeedoesn’twaitforaresponsefromotherbees,butcompetestobeheard
Aslightlymoresophisticatedexampleofcommunication:TheHoney-beeWiggleDance
AFEWRANDOMTHOUGHTSABOUTCOMMUNICATION
• Hewillrepeatthesneezingsoundandheadpointing,ifIdon’trespond• Hecommunicationsinvolveanexchangeofstateorinformation,withsomesynchronizationandreliability
• Itmaybeprimitive,butthere’snodoubtthatwehavea”conversation”
Anevenmoresophisticatedexampleofcommunication:Zazoo’s HeadPointing• Zazoo findsme,makesasortofsneezingsound,pointshisheadinthedirectionhewantsmetogoandwaitsformetofollow.
CONVERSATIONSANDPROTOCOLS
• Aconversation isanseriesofexchanges(messages)amongentities(processes)forthepurposeofaccomplishingsometask
• Themessages,theirsequence,format,semantics,validation,andtherulesthatgoverntheeachprocessesexpectedbehaviorcompriseacommunicationprotocol• i.e.,aprotocolprescribeswhatconversationsareallowed
• Asetofrelatedcommunicationsprotocolsisaprotocolsuite
LAYERSOFCOMMUNICATIONPROTOCOLS
Physical
Link
Network
Transport
Application
System1 System2Application-levelCommunicationProtocols
TCP/UDP
IP
Physical
Link
Network
Transport
Application
APPLICATION-LEVELCOMMUNICATIONPROTOCOLS(ACP’S)
• Definehowthecomponentsofapplicationsoftwaresystemcommunicate• CanbebuiltontopoforcomposedotherofACP’s• Areoftenuniquetoandcustombuiltforanapplication• Althoughtherearemanystandardizationefforts,certainmarketandtechnologicalforcesexistthatworkagainststandardization• Competition• Ongoingneedforincrementalimprovementsinaproduct
• Advancesintechnology• Newuserrequirements
• Changesinuserexpectations• Lackofawarenessofappropriatestandardsbydevelopers
THEPROBLEM
• NewACP’sarebeingwrittenatanacceleratingrate• ThequalityofACP’sseemstovarywidely,e.g.,
• Considercommonfiletransfertools(FTP,SFTP,SCP,filetransferportionofinRDP,etc.)Theycandifferentconsiderablyintransferspeeds.Why?
• ConsidertheSimpleMailTransferProtocol(SMTP).Itscoredocumentationisover30pageslong.Simple?
• Protocolsforexchanginghealthinformation(e.g.,HL7)areoftenhundredsofpages.Whyandhowdoesthissoftwareengineering?
• Theneedforgoodsoftwareengineersisstillgrowing• And,theneedfortrainingtheminimplementingeffectivenetworkcommunicationsparallelsthatgrowth
MOVINGTOWARDSASOLUTION
• Toimprovetheengineeringofapplicationsthathavecommunicationrequirements,weneed• Moreproductivityinthedevelopmentprocess• Waysofestimatedthecharacteristicsofthecommunicationsasystemwillhave• Waysofmeasuringtheactualcharacteristicsofasystemonceitisoperational• Inotherword,higherqualityincommunication
• But,whatis“higherquality”inthecontextofcommunications?• Howcanwediscuss,planfor,implement,andmeasuresuchquality?• Howcanweteachnewdevelopersaboutqualityincommunications?
QUALITYMODELS
• Overthelast40years,therehavebeenmanyqualitymodelsproposedforsoftware(code,softwareproducts)andoperationalprocedures(systemsinuse)• Hereareafew-- someareverygeneral;othersarespecializedforcertainqualitiesortypesof
software
• Over30qualitymodelsexaminedtodate• NonehaveaddressedissuesuniquetoACP’s
1970 1980 1990 2000 2010
QUALITIESà FACTORSà ATTRIBUTESàMETRICS
Qualities
Factors
Attributes
Metrics
Meta-modelforSant’Anna’s Reuseand
MaintainabilityQualityModel(2003)
e.g.,Reuse
e.g.,Flexibility
e.g.,Coupling
e.g.,DepthofInheritanceTree
Meta-modelforISO25010QualityModels
(2008)
Characteristics
Sub-characteristics
Attributes
Metrics
Externallyobservable
Internaltosoftwareoroperations
Twoqualitiesmodels:• SoftwareProduct• SysteminUse
QUALITYMODELSFORACP’S
• Weadaptthemeta-modelofISO25010• Characteristicsà generalcommunicationqualities
• Sub-characteristicsà externallyobservablequalitiesofanACP
• Attributeà concretepropertiesorconditionsoftheACPthatimpactthesub-characteristicsandthatcanbeevaluatedviametrics
• Metricsà waystomeasuretheattributes
• TwoqualitymodelsforACP’s• IdealisticQualityModelforACP’s
• Requirements-orientedQualityModelforACP’s
IDEALISTICQUALITYMODELFORACP’S
• IncludescharacteristicsthatallACP’sshouldtrytoachievetosomedegree,limitedonlybydevelopmentresources(developers)andtime
• Notethatthecharacteristicsmayoverlaporconflict• Achievingonemaymakeiteasierorhardertoachieveanother
• Characteristics:• FunctionalSuitability• Operability• Security• Performanceefficiency
• Maintainability
• Extensibility
• Simplicity
FUNCTIONALSUITABILITY
ThedegreetowhichtheACPmeetsstatedandimpliedneedsSub-characteristic Description Attributes
AppropriatelyAccommodating
Thedegreetowhichthe ACPallowsexpectedconversations
• Involves appropriate participants(e.g.,processes)• Authenticatesparticipants• Includes exchangesofnecessarystateinformationatthe
righttime• Usesappropriatemessagesthattriggerdesired
behaviorsinreceivingprocessesAppropriatelyRestrictive
ThedegreetowhichtheACPprohibits invalidorundesirableconversations
• Excludesinappropriateorunauthorized participants• Definesbehaviorsforillegalmessagesormessage
sequences
Compliance Thedegreetowhichitusesexistingstandards
• Buildsonorintegratesexistingstandards(messageformat,encoding/decoding,establishingconnections,authentication,etc.)werepossible
OPERABILITY
ThedegreetowhichtheACPcanbeunderstood,learned,operate
Sub-characteristic Description Attributes
Recognizable ThedegreetowhichadevelopercanrecognizewhethertheACPisappropriatefortheirneeds
• Has aclear,complete,andupdate documentation• Uses standardorcommonterms• Usesdesignpatterns
Learnable ThedegreetowhichdeveloperscanlearnhowtoimplementtheACPinanapplication
• Has aclear,complete,andupdate documentation• Usesstandardmessageformats,encoding,etc.• Uses standardorcommonterms
Easy toOperate Theease ofwhichnetworkadministratorscanensurethattheconversationsfollowingthisACPcansucceed
• Numberandtypeofnetworksinvolved• Whetherparticipantshasdynamicaddresses• Requiresports• RequirestunnelingorVPNconnections• Requirescertificatesandhowtheyaredistributed
SECURITYThedegreetowhichtheACPprotectsagainstaccidentalordeliberatemisuse,unauthorizedaccess,ordestructionofthecommunicatingprocesses,resourcestheymanage,ornetworkSub-characteristic Description Attributes
Authenticity Thedegreetowhichthe ACPguaranteesthatparticipantsare who/whattheyclaimedtobe
• Typeofauthentication(e.g.,certificates)• Verification(e.g.,certificateauthority)
Confidentiality Thedegreetowhichthe ACPguaranteesthatprivatedataarenotaccessibletounauthorizedparties
• Typeofencryptionofdata
Integrity Thedegree towhichtheACPguaranteesthatmessagesarenotcorruptedortamperedwith
• Typeofencryption• Type oferror detectionandcorrection
Non-repudiation Thedegreetowhichactionsoreventscanbeproventohavetakenplace,sothattheeventsoractionscannotberepudiatedlater
• Usesdigitalsignatures• Typeofsynchronization
Accountability Thedegreetowhichconversationscanbetraced tocommunicatingprocesses
• Typeofaddressingoridentification• Typeofauthentication• Messageprovenance
PERFORMANCEEFFICIENCYThedegreetowhichACPprescribesconversationthathaveappropriateperformance,intermsofresponsetimes,turnaroundtimes,andtotalthroughputSub-characteristic Description Attributes
Response times Thedegree towhichtheACPsupportsconversationswherecommunicatingprocessquicklybecomeawareofotherstateandthattheconversationisproceeding
• Message-to-Message time
Turnaroundtimes ThedegreetowhichtheACPallowsindividualconversationstocompleteinanappropriateamountoftime
• Conversationstart-end time
Totalthroughput ThedegreetowhichtheACP supportsanappropriatenumberofconversationswithinafixedaboutoftime
• Completed Conversations peruntiloftime
MAINTAINABILITYThedegreetowhichACPcanbemodified
Sub-characteristic Description Attributes
Modularity Thedegree towhichaACPisbrokenupintoloosingcouplingphasesorsub-protocol
• Message sequencecomplexity• Presenceandnumberofsub-protocols
Cohesion Thedegree towhichindividualmessagesorsub-protocolsarefocusedonasinglepurpose
• Unity ofpurposeforindividualmessages• Unityofpurposeforsub-protocols
Reuse The degreetowhichanACPcanbere-usedforpurposesotherthantheoriginalone
• Numberofuses inotherapplications
Testability ThedegreetowhichanACPcanbetested • Supportformockable process• Supportformockable messages• Deterministic
EXTENSIBILITY
Sub-characteristic Description Attributes
Open messagestructure
The degreetowhichthemessages(theircontentandstructure)canbeextended
• Type ofmessages• Messageencoding• Useofstandards
Openmessagesequence
Theamountofflexibilityintheacceptablemessagesequences
• Stateless operations• Unconstrainedmessagesequences
ThedegreetowhichACPcanbeextended
SIMPLICITY
Sub-characteristic Description Attributes
Minimalmessagesequences
Whether anymessageintheACPcanbeeliminatedorcombinedwithanotherwithoutcompromisingthefunctionality,reliability,synchronization
• Structure ofthemessage sequences
Minimal messagecontent
Whetheranycontent ofanymessageintheACPbeeliminatedorcombinedwithanothermessagewithoutcompromising,reliability,orsynchronization
• Messagepayloads
ThedegreetowhichtheACPcontainsnoaccidentalcomplexity
REQUIREMENTS-ORIENTEDQUALITYMODELFORACP’S
• ThedegreetowhichthecharacteristicsinthismodelSHOULDbeobtaineddependsontheapplicationrequirements,notonresourcesortime.• Withthismodel,a“good”ACPiswhen“TheACPsupportstheappropriatedegreeof_______forthis application”,wheretheblankisthecharacteristics
• Characteristics:• Reliability
• Synchronicity
• Longevity
• Adaptabilityforscalabledistribution
• Resourceutilization
RELIABILITYThedegreetowhichacommunicatingprocesscanobtainanassurancethattheintendedreceiversofsomemessagecorrectlyreceivedandreactedtothatmessageSub-characteristic Description Attributes
Detectable Thedegree towhichaparticipantinaconversationcandetectsuccessfullycompletedorfailedconversations
• Typeofmessageidentity• Requiresmessagestobesentafteroperations,
particularlystate-changingoperations• Requiresacknowledgementsshortlyaftermessage
receipts• Supportheart-beatorprobemessages
Fault Tolerant ThedegreetowhichACP canallowconversationtorecoverfromnetwork,server,orprocessfailures
• Allowsfordetectionoflostmessagesandcontinuationoftheconversation
• Allowsfordetectionofcorruptedoralteredmessagesandthecontinuationoftheconversation
• Allowsfordetectionandresolutionofduplicatemessages
• Allowsfordetectionandresolutionofout-of-ordermessages
SYNCHRONICITY
Theamountofinter-processcoordinationneededinadistributedsystemrelativetoexecutionofactionsinadistributedsystemSub-characteristic Description Attributes
InformedOperations Thedegreetowhichacommunicating processthatneedperformanaction receivesnecessaryorusefulinformationfromotherprocesses
• Numberofconversation-relatedoperationsthatrequireinformationfromotherprocesses
• Numberofthoseoperationsareproceededbymessageswiththenecessaryorusefulinformation
Minimize Waiting Thedegree towhichacommunicatingprocesscanproceedwithoperationsrelatedtotheconversationwithoutwaitingforinformationfromotherprocesses
• Numberofblocked-waiting-for-replystates• Expectedturnaroundtimesthemessagesequences
thatcauseaprocesstoenterandleaveablocked-waiting-for-replystates
LONGEVITY
ThedegreetowhichanACPcansupportlong-runningconversationscausedbylong-runningoperations
Sub-characteristic Description Attributes
Notification Thedegreetowhichaprocesscanletother processknowthatitisbeginning,workingon,orendingalong-runningprocess
• Whethertheconversationtriggerslong-runningoperationsandothersneedtobeawareoftheirprogressorcompletion
Awareness Thedegreetoa processcantracktheprogressofalong-runningoperationinanotherprocess
• Whethertheprotocolallowslong-runningoperationstobedividedintotosequentialstepsorparalleltasks
• Usesstatemessagestoinformothersofprogress
ADAPTABILITYFORSCALABLEDISTRIBUTION
ThedegreetowhichanACPcansupportscalabilitydistribution(increaseinresourceand/ornumberofprocesses)
Sub-characteristic Description Attributes
Resource Scalability Thedegree towhichtheACPallowsforanincreaseinthenumberofresources
• Typeofresourcenameresolution• Supportslocationtransparency• Supportsmigrationtransparency• Supportsreplicationtransparency
Process Scalability Thedegree towhichtheACPallowsforanincreaseinthenumberofprocesses(resourceusers)
• Typeofprocessnameresolution• Supportslocationtransparency• Supportsmigrationtransparency• Supportsreplicationtransparency
ConcurrentConversationScalability
Thedegree towhichtheACPallowsforanincreaseinthenumberofconcurrentconversations
• Supportslocationtransparency• Supportsmigrationtransparency• Supportsreplicationtransparency
RESOURCEUTILIZATION
ThedegreetowhichanACPcanutilizesavailablecomputation,data,andnetworkresourcestomaximizeoverallsystemthroughputand/orreduceresponsetimes.
Sub-characteristic Description Attributes
LoadBalancing ThedegreetowhichtheACPcan supportthebalancingofworkloadsacrossdevicesandadheretoprescribedconstraintsontheutilizationofindividualcomputableresources
• Exchangesdeviceloadinformation• Allowsforestimationofdevice
loads• Supportslocationtransparency• Supportsmigrationtransparency• Supportsreplicationtransparency
Bandwidth Balancing Thedegree towhichtheACPcansupportthereshapingofnetworktraffictoavoidcongestionandadheretoprescribedconstraintsontheindividualorlinkutilization
• Supports”qualityofservice”controls
• Supportslocationtransparency• Supportsmigrationtransparency• Supportsreplicationtransparency
WORKINPROGRESS
• Continuetorefinethecharacteristics,sub-characteristics,andattributesofeachmodel
• Adopt,adapt,ordevelopmetricsfortheattributes• UsethemodelstoevaluateexistingACP’s
• Studytherelationshipsbetweencharacteristics• Iteratetheabove
IMPACTONSOFTWAREENGINEERING
• WithoutanynotionofqualityforACP’s,developerswillbeguessingorcostlytrail-n-errorapproachtocreatinganyapplicationthatrequiresnetworkcommunication
• WithaqualitymodelforACP’s,developerswould• Haveabasisforformalizingstaticmetrics,whichuseACPdesignsasinput• UsethosemetricscouldpredicateanACP’sattributes,andinturnitssub-characteristicsandcharacteristics
• Beabletoanswerquestions,like• Aretherequirement-orientedcommunicationcharacteristicsagoodfit• Aretheidealisticcommunicationcharacteristicsachievablewiththeavailableresourcesandtime
IMPACTONSOFTWAREENGINEERING
(continued)• Beabletobuilddesigntoolsthat helpdevelopersdecidethedegreetowhichcharacteristicsshouldandaidinthedesignofACP’s
• Capturecommunication-designexpertiseindesignpatterns
• Furthermore,educatorscouldimprovecurriculatobetterpreparestudentforbuildingstate-of-the-artsoftwareapplications
• And,technologyprofessionalwouldhaveabasisforevaluating,comparing,andrecommendingsoftwareapplications
FUTUREWORK
• Formallydocument• IdealisticQualityModelforACP’s
• Requirements-orientedQualityModelACP’s
• Developtoolsfor• Guidingdevelopersinchoosingappropriatetargetdegreeofsupportforeachcharacteristic
• CapturingACPdesignsinastructuredform
• Computingmeasurementbasedonthemetrics
• Estimatingtheattributes,sub-characteristics,characteristicsofaprotocolorentireprotocolsuite
• Designandconductempiricalstudiestovalidthemodelsandmetrics