Download presentation
Presentation is loading. Please wait.
Published byShanna Eaton Modified over 9 years ago
1
Lawrence Livermore National Laboratory Gary Kumfert UCRL-PRES-235389 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA 94551 This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344 Top Ten Reasons Why The CCA Specification Is NOT Ready for 1.0 11 October, 2007
2
2 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Motivation Yes, this is a David Letterman-style “Top 10 List” It is meant to be fun But there are real issues that need to be addressed Each item will... have a 1-2 slide explanation recommend actions Expect many other issues to come out all issues will be captured/tracked on a wiki or Roundup or some combination
3
3 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 10.Need to Implement CCA Review Board & Maturity Model
4
4 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory 10. Need to Implement CCA Review Board & Maturity Model Motion 53 on Quorum Passed Unanimously on May 8, 2007 1.Establishes a multi-stage specification maturity process 2.Institutes ad hoc task forces with charters, lifespan, documentation trail and named chair 3.Creates CCA Review Board (CCARB) to oversee quality of the specification and constitute & dissolve task forces Motion 54 on Quorum now: Approves CCARB nominated by the Chair Posted & Seconded Oct 2, 2007 Voting Ends Oct 23, 2007
5
5 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Stages Of Specification Maturity 10. Need to Implement CCA Review Board & Maturity Model Completion Criteria: Actually seat a CCARB Have at least one task force go through entire process (Not EventServices, which is too far ahead) Have CCARB & histogram of all task forces (past and present) accessible from cca-forum.org Env & Toolkit Groups Initiatives & Internal Apps Tutorial & Outreach TaskForce Idea Draft Candidate Final
6
6 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 9.SIDL Spec Should Not Be Preprocessed by Autoconf 10.Need to Implement CCA Review Board & Maturity Model
7
7 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory 9. SIDL Spec Should Not Be PreProcessed By Autoconf Proposed Changes: Abandon pre-Babel 1.0 compatibility Abandon “variable version” specifications Rename files to cca-v.v.v.sidl Post all official versions prominently on cca-forum.org @GOVCCA_SIDL_START_0@ package gov { /** Common Component Architecture.... */ package cca version @CCASPEC_VERSION@ { @GOVCCA_SIDL_START_3@ @GOVCCA_SIDL_START_4@ @GOVCCA_SIDL_START_5@... cca-spec-babel/cca.sidl.in
8
8 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 8.Exceptions Need Redesign 9.SIDL Spec Should Not Be Preprocessed by Autoconf 10.Need to Implement CCA Review Board & Maturity Model
9
9 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory 8. Exceptions Need Redesign Enumerated error codes are poor design Classic C++-tran Not extensible CCAException clutters almost every method signature Proposed Changes: Develop a hierarchy of exception types that are meaningful Incorporate Babel’s implicit sidl.RuntimeException Let BabelRMI worry about the Network Errors enum CCAExceptionType { Unexpected=-1, Nonstandard=1, PortNotDefined=2, PortAlreadyDefined=3,..., NetworkError=12 } interface CCAException extends sidl.BaseException { CCAExceptionType getCCAExceptionType(); } cca-spec-babel/cca.sidl.in
10
10 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 7.Need EventService, CommandLineService, & MPIService 8.Exceptions Need Redesign 9.SIDL Spec Should Not Be Preprocessed by Autoconf 10.Need to Implement CCA Review Board & Maturity Model
11
11 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory 7. Need EventService, CommandLineService, & MPIService These are all year 1 deliverables for TASCS EventService – on track Chair: Steve Parker Blocked by CCARB formation MPIService – stalled Need a Chair de facto implementations exist in frameworks CommandLineService – stalled Need a Chair Needed by MPIService (probably) Python? possible see Babel Issue 530
12
12 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 6.Replace Parameter{Get,Set}Listener & ConnectionEventService With EventService When It Passes 7.Need EventService, CommandLineService, & MPIService 8.Exceptions Need Redesign 9.SIDL Spec Should Not Be Preprocessed by Autoconf 10.Need to Implement CCA Review Board & Maturity Model
13
13 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory 6. Replace Parameter{Get,Set}Listener & ConnectionEventService With EventService We already have event-like services specific to When port connections are made and broken When parameters are set or read from ParameterPort Proposed Changes Simplify spec by making all events through EventService Demonstrate EventService handling these system events in a framework before final approval
14
14 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 5.Parameter Port Is Too Complex 6.Replace Parameter{Get,Set}Listener & ConnectionEventService With EventService When It Passes 7.Need EventService, CommandLineService, & MPIService 8.Exceptions Need Redesign 9.SIDL Spec Should Not Be Preprocessed by Autoconf 10.Need to Implement CCA Review Board & Maturity Model
15
15 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory 5. Parameter Port Is Too Complex 158 methods Entire CCA 0.8.2 specification 66 methods – core spec 92 methods – ports 63 methods are just for ParameterPort & friends. # Methods Per SIDL Interface Core Spec
16
16 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 4.Need Concept of a SubAssembly 5.Parameter Port Is Too Complex 6.Replace Parameter{Get,Set}Listener & ConnectionEventService With EventService When It Passes 7.Need EventService, CommandLineService, & MPIService 8.Exceptions Need Redesign 9.SIDL Spec Should Not Be Preprocessed by Autoconf 10.Need to Implement CCA Review Board & Maturity Model
17
17 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory 4. Need Concept of a Subassembly. Including Multiplicities, Nests, & Interconnects Provides a Recursive Composability Model for Components Component 2 Port 3Port C Component 1 Port 2Port B Port 1Port A Component 2 Port 5 Port 4Port D SubAssembly 1 Port 3Port D Port 1Port A Two views of the same thing
18
18 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 3.Comments Are Long, Inconsistent, Out-of-Sync, Occasionally Wrong, & Sometimes Even Snide 4.Need Concept of a SubAssembly 5.Parameter Port Is Too Complex 6.Replace Parameter{Get,Set}Listener & ConnectionEventService With EventService When It Passes 7.Need EventService, CommandLineService, & MPIService 8.Exceptions Need Redesign 9.SIDL Spec Should Not Be Preprocessed by Autoconf 10.Need to Implement CCA Review Board & Maturity Model
19
19 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory 3. Comments Are Long, Inconsistent, Out-of-Sync, Occasionally Wrong, & Sometimes Even Snide /**... This version of the Port is so simple that mere mortal component writers could implement it... */ Describing BasicParamterPort /**... * ::gov::cca::Services_Interface *svc = 0; * svc = fwk->getServices( “instance0”, “AppDriver”, 0); */ A supposed C++ example in AbstractFramework’s doc-comment. 40 Line Introduction to ParameterPort Doccomments appear as: plain text Javadoc HTML. createInstance(... gov.TypeMap properties); setComponentProperties(..., gov.TypeMap map); } Inconsistent naming conventions (e.g. from BuilderServices)
20
20 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 2.CCA Conformance is Under-Defined 3.Comments Are Long, Inconsistent, Out-of-Sync, Occasionally Wrong, & Sometimes Even Snide 4.Need Concept of a SubAssembly 5.Parameter Port Is Too Complex 6.Replace Parameter{Get,Set}Listener & ConnectionEventService With EventService When It Passes 7.Need EventService, CommandLineService, & MPIService 8.Exceptions Need Redesign 9.SIDL Spec Should Not Be Preprocessed by Autoconf 10.Need to Implement CCA Review Board & Maturity Model
21
21 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Finding right balance between “inclusive” and “technically meaningful.” Distributed Frameworks CCA-Lite The Rogue Ruby Implementer Proposed Changes: Define some hierarchy of conformance Commit to some consistent vernacular that audience will understand 2. CCA Conformance is Under Defined “Compliance” to technical specification implies expectation of: “interoperability” (e.g. IPv4, USB 1.1, 802.11g, etc.), or at least “compatibility” (e.g. at source code level: MPI or POSIX). “CCA-Compliant” should not deviate from this norm.
22
22 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 1.CCA Manual 2.CCA Conformance is Under-Defined 3.Comments Are Long, Inconsistent, Out-of-Sync, Occasionally Wrong, & Sometimes Even Snide 4.Need Concept of a SubAssembly 5.Parameter Port Is Too Complex 6.Replace Parameter{Get,Set}Listener & ConnectionEventService With EventService When It Passes 7.Need EventService, CommandLineService, & MPIService 8.Exceptions Need Redesign 9.SIDL Spec Should Not Be Preprocessed by Autoconf 10.Need to Implement CCA Review Board & Maturity Model
23
23 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory 1. CCA Manual THE COMMON COMPONENT ARCHITECTURE Completely revised for 1.0 standards compliance IN A NUTSHELL The Official Guide O’SMILEY 1 st Edition Over a dozen copies in print Fission Ares and Crag Potts with A. Lotta Uddavolks
24
24 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory So What Now? Proposal Gathering these 10, plus many others CCARB should decide on Roundup, wiki, or both More Info: Understanding the CCA Specification through Decaf (in process of updating to CCA 0.8.2 & Babel 1.0)
25
25 UCRL-PRES-235389Gary Kumfert, LLNL Lawrence Livermore National Laboratory Top 10 Reasons: Why CCA Is Not Ready For 1.0 1.CCA Manual 2.CCA Conformance is Under-Defined 3.Comments Are Long, Inconsistent, Out-of-Sync, Occasionally Wrong, & Sometimes Even Snide 4.Need Concept of a SubAssembly 5.Parameter Port Is Too Complex 6.Replace Parameter{Get,Set}Listener & ConnectionEventService With EventService When It Passes 7.Need EventService, CommandLineService, & MPIService 8.Exceptions Need Redesign 9.SIDL Spec Should Not Be Preprocessed by Autoconf 10.Need to Implement CCA Review Board & Maturity Model
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.