component assembly description compiler sue (shufeng) li mse project presentation 3

24
Component Assembly Component Assembly Description Compiler Description Compiler Sue (Shufeng) Li Sue (Shufeng) Li MSE Project Presentation 3

Upload: rudolf-crawford

Post on 16-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

Component Assembly Component Assembly Description CompilerDescription Compiler

Sue (Shufeng) LiSue (Shufeng) Li

MSE Project Presentation 3

Page 2: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

Project overviewProject overview Assessment evaluationAssessment evaluation Project EvaluationProject Evaluation DemoDemo ReferencesReferences

OutlineOutline

Page 3: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

Assembling Component Assembling Component ScenariosScenarios

…moving up to 1000+ components

Page 4: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 5: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 6: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 7: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 8: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 9: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 10: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 11: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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.

Page 12: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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)

Page 13: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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)

Page 14: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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)

Page 15: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 16: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 17: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 18: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 19: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 20: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

DemoDemoUser interface:

Page 21: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

Demo (cont’d)Demo (cont’d)

Output examplesOutput examples– BasicSP.javaBasicSP.java– Connection.xmlConnection.xml– BasicSP.xmlBasicSP.xml

Page 22: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 23: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

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

Page 24: Component Assembly Description Compiler Sue (Shufeng) Li MSE Project Presentation 3

Comments?Comments?

Thank you!