Upload
rudolf-crawford
View
225
Download
0
Embed Size (px)
Citation preview
Component Assembly Component Assembly Description CompilerDescription Compiler
Sue (Shufeng) LiSue (Shufeng) Li
MSE Project Presentation 3
Project overviewProject overview Assessment evaluationAssessment evaluation Project EvaluationProject Evaluation DemoDemo ReferencesReferences
OutlineOutline
Assembling Component Assembling Component ScenariosScenarios
…moving up to 1000+ components
system ModalSP {
locations l1,l2,l3; rates 1,5,20,60;
instance AirFrame of BMLazyActive on l2 { connect dataAvailable to GPS.dataCurrent atRate 20 connect dataIn to GPS.dataOut
instance GPS of BMDevice on l2 { connect timeout to EventChannel.timeout20 } …
Cadena Component AssemblyCadena Component Assembly
GPS : BM__DeviceComponent
20Hz High Priority
1. Push() 4. GetData()
airframe : BM__LazyActiveComponent
create instance of LazyActive component
called AirFrame
create instance of LazyActive component
called AirFrame
system ModalSP {
locations l1,l2,l3; rates 1,5,20,60;
instance AirFrame of BMLazyActive on l2 { connect dataAvailable to GPS.dataCurrent atRate 20 connect dataIn to GPS.dataOut
instance GPS of BMDevice on l2 { connect timeout to EventChannel.timeout20 } …
Cadena Component AssemblyCadena Component Assembly
GPS : BM__DeviceComponent
20Hz High Priority
1. Push() 4. GetData()
airframe : BM__LazyActiveComponent
connect event INPUT port of current component
to event OUTPUT port of GPS component
connect event INPUT port of current component
to event OUTPUT port of GPS component
system ModalSP {
locations l1,l2,l3; rates 1,5,20,60;
instance AirFrame of BMLazyActive on l2 { connect dataAvailable to GPS.dataCurrent atRate 20 connect dataIn to GPS.dataOut
instance GPS of BMDevice on l2 { connect timeout to EventChannel.timeout20 } …
Cadena Component AssemblyCadena Component Assembly
GPS : BM__DeviceComponent
20Hz High Priority
1. Push() 4. GetData()
airframe : BM__LazyActiveComponent
connect data INPUT port of current component
to data OUTPUT port of GPS component
connect data INPUT port of current component
to data OUTPUT port of GPS component
Assembly Description CompilerAssembly Description Compiler
ComponentAssembly DescriptionCompiler
Java Assembly code
Java Assembly code
Boeing OEP XML file
Boeing OEP XML file
Event Service Connection XML file
Event Service Connection XML file
Component Assembly Description
Component Assembly Description
Assessment evaluation - Assessment evaluation - Coverage testingCoverage testing
Fifteen test casesFifteen test cases Java assembly code generationJava assembly code generation
– 53 blocks53 blocks
Scenario nameScenario name CoverageCoverage
BasicSP.scenarioBasicSP.scenario 51/5351/53
ModalSP.scenarioModalSP.scenario 52/5352/53
MediumSP.scenarioMediumSP.scenario 36/5336/53
basicCoverage.scenariobasicCoverage.scenario 52/5352/53
Assessment evaluation - Assessment evaluation - Coverage testing (cont’d)Coverage testing (cont’d)
KSU Event Service configuration connection KSU Event Service configuration connection XML file generation XML file generation – 27 blocks27 blocks
Scenario nameScenario name CoverageCoverage
BasicSP.scenarioBasicSP.scenario 14/2714/27
ModalSP_modified.scenarioModalSP_modified.scenario 26/2726/27
ModalSP.scenario(modified .idl3sModalSP.scenario(modified .idl3s))
27/2727/27
Boeing OEP XML file generation Boeing OEP XML file generation – 109 blocks109 blocks
– Eight error message blocks are not coveredEight error message blocks are not covered
Assessment evaluation - Assessment evaluation - Coverage testing (cont’d)Coverage testing (cont’d)
Scenario nameScenario name coverage coverage
BasicSP.scenario BasicSP.scenario 64/10964/109
ModalSP.scenarioModalSP.scenario 73/10973/109
MediumSP_modified.scenarioMediumSP_modified.scenario 77/10977/109
BasicMP.scenarioBasicMP.scenario 76/10976/109
MulriRateMP.scenarioMulriRateMP.scenario 76/10976/109
MultirateMP_switch.scenarioMultirateMP_switch.scenario 78/10978/109
Assessment evaluation – Assessment evaluation – Error handlingError handling
Not enough informationNot enough information in in property fileproperty file– reports “<required_name> not found in reports “<required_name> not found in
<property_file_name>” and exits<property_file_name>” and exits EmptyEmpty scenario filescenario file
– reports “scenario is empty” and exitsreports “scenario is empty” and exits Unreachable output fileUnreachable output file
– reports “<output file> can’t be found” and exits.reports “<output file> can’t be found” and exits.
Assessment evaluation - Assessment evaluation - Integration testingIntegration testing
Purpose: to generate the output files and use them in Purpose: to generate the output files and use them in their corresponding environment. their corresponding environment.
Java assembly code generationJava assembly code generation– Input and outputInput and output
– Basicsp, modalsp, mediumsp are successfulBasicsp, modalsp, mediumsp are successful
ScenarioScenario Output (lines)Output (lines)
basicsp.scenariobasicsp.scenario BasicSP.java (127)BasicSP.java (127)
modalsp.scenariomodalsp.scenario ModalSP.java (279)ModalSP.java (279)
mediumsp.scenariomediumsp.scenario MediumSP.java (432)MediumSP.java (432)
basicmp.scenariobasicmp.scenario BasicMP.java (99)BasicMP.java (99)
multirate.scenariomultirate.scenario MultirateMP.java (135)MultirateMP.java (135)
Assessment evaluation - Assessment evaluation - Integration testing Integration testing (cont’d)(cont’d)
KSU Event Service configuration connection XML file KSU Event Service configuration connection XML file generationgeneration– Input and outputInput and output
– Basicsp, modalsp scenario are successfulBasicsp, modalsp scenario are successful
ScenarioScenario Output (lines)Output (lines)
basicsp.scenariobasicsp.scenario connection_basicsp.xml (69)connection_basicsp.xml (69)
modalsp.scenariomodalsp.scenario connection_modalsp.xml (179)connection_modalsp.xml (179)
mediumsp.scenariomediumsp.scenario connection_mediumsp.xml (1369)connection_mediumsp.xml (1369)
basicmp.scenariobasicmp.scenario connection_basicmp.xml (47)connection_basicmp.xml (47)
multirate.scenariomultirate.scenario connection_multiratemp.xml (135)connection_multiratemp.xml (135)
Assessment evaluation - Assessment evaluation - Integration testing Integration testing (cont’d) (cont’d)
Boeing OEP XML file generationBoeing OEP XML file generation– Input and outputInput and output
– Basicsp, modalsp scenario are successful Basicsp, modalsp scenario are successful
ScenarioScenario Output (lines)Output (lines)
basicsp.scenariobasicsp.scenario boeing_basicsp.xml (117)boeing_basicsp.xml (117)
modalsp.scenariomodalsp.scenario boeing_modalsp.xml (382)boeing_modalsp.xml (382)
mediumsp.scenariomediumsp.scenario boeing_mediumsp.xml (2406)boeing_mediumsp.xml (2406)
basicmp.scenariobasicmp.scenario boeing_basicmp.xml (137)boeing_basicmp.xml (137)
multirate.scenariomultirate.scenario boeing_multiratemp.xml (272)boeing_multiratemp.xml (272)
Assessment evaluation (cont’d)Assessment evaluation (cont’d)
Failure rateFailure rate– 0/15 = 00/15 = 0
Reliability estimatesReliability estimates– Test on each node of ASTTest on each node of AST– Test on complex test casesTest on complex test cases
Project evaluationProject evaluation
Idea accomplishmentIdea accomplishment Quality of the productQuality of the product
– CorrectnessCorrectness Coverage test, integration test, and abnormal condition handing Coverage test, integration test, and abnormal condition handing
testtest Low failure rate during testLow failure rate during test
– MaintainabilityMaintainability Uses tree-walking structureUses tree-walking structure Follows Java programming styles guidelines and Cadena Follows Java programming styles guidelines and Cadena
developer guidelines developer guidelines
– IntegrityIntegrity Simple integration interfaceSimple integration interface
– UsabilityUsability Simple and friendly user interfaceSimple and friendly user interface
Project evaluation (cont’d)Project evaluation (cont’d)
Methodologies - tMethodologies - tree walking structureree walking structure– Easy to useEasy to use– Easy to maintainEasy to maintain– Possible less errorsPossible less errors
Project evaluationProject evaluation – – Accuracy of the estimations Accuracy of the estimations
Planed timePlaned time Actual timeActual time
Phase1Phase1 10/15/200210/15/2002 10/30/200210/30/2002
Phase2Phase2 3/20/20033/20/2003 7/29/20037/29/2003
Phase3Phase3 5/10/20035/10/2003 9/30/20039/30/2003
Time estimation:
LOC estimation:PlanedPlaned ActualActual
LOCLOC 35003500 28002800
Project evaluation (cont’d)Project evaluation (cont’d)
Future workFuture work– The property fileThe property file– Correlation event connectionCorrelation event connection– Different output from Boeing OEP XML fileDifferent output from Boeing OEP XML file
DemoDemoUser interface:
Demo (cont’d)Demo (cont’d)
Output examplesOutput examples– BasicSP.javaBasicSP.java– Connection.xmlConnection.xml– BasicSP.xmlBasicSP.xml
ReferencesReferences
CORBA & CCM CORBA & CCM , , OMGOMG, , CORBA 3.0 new Components ChaptersCORBA 3.0 new Components Chapters, OpenORB , OpenORB CORBA Component Model TutorialCORBA Component Model Tutorial CORBA Component Model: Discussion and Use with OpenCCM (Raphaël CORBA Component Model: Discussion and Use with OpenCCM (Raphaël
Marvie, Philippe Merle )Marvie, Philippe Merle ) CadenaCadena
: An Integrated Development, Analysis, and Verification Environment for Compo: An Integrated Development, Analysis, and Verification Environment for Component-based Systemsnent-based Systems, , John Hatcliff, William Deng, Matthew Dwyer, Georg Jung, Venkatesh PrasadJohn Hatcliff, William Deng, Matthew Dwyer, Georg Jung, Venkatesh Prasad (submitted for publication -- SAnToS Laboratory Technical Report 2002-02): (submitted for publication -- SAnToS Laboratory Technical Report 2002-02): www.cis.ksu.edu/cadean www.cis.ksu.edu/cadean
Gerald Brose, Andreas Vogel, Keith Duddy, Java Programming with CORBA, Gerald Brose, Andreas Vogel, Keith Duddy, Java Programming with CORBA, Third Edition, ISBN: 0-471-37681-7, 2001Third Edition, ISBN: 0-471-37681-7, 2001
CIS771 homework, www.cis.ksu.edu/~hatcliff/771/homework.htmlCIS771 homework, www.cis.ksu.edu/~hatcliff/771/homework.html The Alloy Analyzer The Alloy Analyzer reference manualreference manual CadenaCadena Scenario Scenario, , Cadena tutorialCadena tutorial The developer guidelines of CadenaThe developer guidelines of Cadena http://checkstyle.sourceforge.net/http://checkstyle.sourceforge.net/ http://jalopy.sourceforge.net/http://jalopy.sourceforge.net/ Software Engineering: A Practitioner’s Approach, Roger S. Pressman, 5th editionSoftware Engineering: A Practitioner’s Approach, Roger S. Pressman, 5th edition
AcknowledgementAcknowledgement
Team membersTeam members– Qiang Zeng, Prashant Shanti Kumar, Adam Qiang Zeng, Prashant Shanti Kumar, Adam
Childs, Jesse Greenwald, and Venkatesh Childs, Jesse Greenwald, and Venkatesh Prasad Ranganath Prasad Ranganath
Committee:Committee:– Dr. HatcliffDr. Hatcliff– Dr. HankleyDr. Hankley– Dr. DwyerDr. Dwyer
William DengWilliam Deng
Comments?Comments?
Thank you!