JAVA Implementation of CCM Configuration - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

JAVA Implementation of CCM Configuration

Description:

1. Logical GPS component receives a periodic event indicating that it should ... packager. assembler. I will focus on. Component Assembly Package ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 40
Provided by: sli54
Category:

less

Transcript and Presenter's Notes

Title: JAVA Implementation of CCM Configuration


1
JAVA Implementation of CCM Configuration
  • Shufeng Li

MSE final Project Presentation I
2
Outline
  • Overview
  • Boeing Bold Stroke, Cadena, CORBA, CCM
  • Requirements
  • Extending Cadena to produce Java implementations
    of component assembly
  • Tools
  • IBM Eclipse, Cadena, OpenCCM
  • Cost estimation
  • Project plan
  • References

3
Boeing Bold Stroke
Periodic Aperiodic
Constrained Tactical Links
Many Computers
Mission Computer
Multiple Safety Criticalities
Radar
Vehicle Mgmt
COTS
Information Security
Multiple Buses
O(106) Lines of Code
Hard Soft Real-Time
4
Control-push Data-pull Architecture
1. Logical GPS component receives a periodic
event indicating that it should read the physical
GPS device.
2. Logical GPS publishes DATA_AVAILABLE event
3. Airframe component fetches GPS data by calling
GPS GetData method
4. Airframe updates its position data and
publishes DATA_AVAILABLE event
5. NavDisplay component fetches AirFrame data by
calling AirFrame GetData method
6. NavDisplay updates the physical display
5
Larger Configuration
moving up to 1000 components
6
Current Challenges
  • Systems with 1000 components
  • Development team of 100 developers
  • Process moves directly from informal textual
    requirements documents to C coding (!)
  • UML artifacts (e.g., collaboration diagrams) are
    usually produced only as documentation
  • not automatically analyzed
  • not leveraged in any way to e.g., generate
    configuration information
  • usually show partial descriptions and are not
    maintained
  • Systems are built following the basic structure
    of the CORBA Component Model (CCM) but are not
    CCM compliant nor do they take advantage of CCM
    tools

7
Cadena
  • An integrated environment for
  • development
  • analysis
  • verificationof CCM systems
  • Designed to address some of the challenges of
    current Bold Stroke development
  • Cadena
  • is an Eclipse plug-in
  • IBMs Eclipse is a robust, full-featured,
    Java-oriented IDE
  • encapsulates OpenCCM
  • OpenCCM is an open-source Java-based CCM
    implementation
  • under development by KSU SAnToS and Systems Groups

8
Overview COBRA architecture
  • The Object Request Broker (ORB), the distributed
    service, implements the request to the server
    object. It locates the server object on the
    network, delivers the request to the object, and
    returns those results back to the client object.

9
CORBA Component Model
  • CCM - CORBA Component Model, (COBRA standard 3.0)
  • A distributed component-oriented model
  • OpenCCM the first public available
    implementation of the CCM
  • Automatically generate stubs and skeletons
    classes associated with objects in IDL file.

10
Overview IDL
  • IDL Interface definition languages
  • Defined by OMG (Object Management Group)
  • Describes the interfaces of software objects
  • OMG IDL3.x
  • Component-oriented collaboration
  • Still has data types, value types, and interfaces
    from IDL2.x, which is Object-oriented
    collaboration
  • Plus component types, homes, and event types

11
IDL 3.0 Example
CORBA 3 CCM IDL
eventtype TimeOut eventtype DataAvailable
interface ReadData readonly attribute any
data component BMDevice consumes TimeOut
timeout publishes DataAvailable dataCurrent
provides ReadData dataOut
12
IDL 3.0 Example
CORBA 3 CCM IDL
eventtype TimeOut eventtype DataAvailable
interface ReadData readonly attribute any
data component BMDevice consumes TimeOut
timeout publishes DataAvailable dataCurrent
provides ReadData dataOut
event source
13
IDL 3.0 Example
CORBA 3 CCM IDL
eventtype TimeOut eventtype DataAvailable
interface ReadData readonly attribute any
data component BMDevice consumes TimeOut
timeout publishes DataAvailable dataCurrent
provides ReadData dataOut
data source (facet)
14
Cadena Component Assembly
abstract distribution points
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
airframe
BM__LazyActiveComponent
15
Cadena Component Assembly
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
rate group declaration
airframe
BM__LazyActiveComponent
16
Cadena Component Assembly
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
create instance of LazyActive component called
AirFrame
airframe
BM__LazyActiveComponent
17
Cadena Component Assembly
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
connect event INPUT port of current component
to event OUTPUT port of GPS component
airframe
BM__LazyActiveComponent
18
Cadena Component Assembly
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
connect data INPUT port of current component to
data OUTPUT port of GPS component
airframe
BM__LazyActiveComponent
19
Cadena Component Assembly
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
airframe
BM__LazyActiveComponent
create instance of DeviceComponent called GPS
20
Cadena Component Assembly
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
airframe
BM__LazyActiveComponent
connect event INPUT port of current component
to event OUTPUT port of EventChannel
21
Cadena Architecture
22
Overview goals, constraints, direction
  • Goals Automate the CCM assembly and deployment
    processes
  • Constraints
  • reliability requirements should be satisfied
  • safety and security should be considered
  • Directions demonstrate the validity by running
    multiple example scenarios, such as BasicSP and
    ModalSP, from Boeing Bold Stroke OEP.

23
CCM big picture
implementer
designers
Programming
Home Properties
Component Properties
IDL/CIDL File
User's Code
Language
Tools
IDL/CIDL
Default Properties
Compiler
CORBA
Stubs, Skeletons
Implementation
Component
Package
Assembly
Packaging
Component
CORBA
Tool
Tool
Assembly
Component
Package
Package
Component
packager
assembler
Descriptor
Assembly
Descriptor
User written file
softpkg
Deployment
CORBA
Descriptor
Compiler
Tool
Component
Package
Generated files
I will focus on
24
Component Assembly Package
  • Described by a assembly descriptor in XML format
  • Component assembly package focuses on the
    component files, what instances of component
    types are used in the system, and how these
    instances connect together.

25
Component Assembly
26
Deployment
  • The deployment tool might interact with the user
    to assign homes and component instances to hosts
    and processes

27
Requirements
  • Take a scenario file in AST/XML format
  • Extract component configuration information
  • Generate JAVA component assembly code that
    includes component instance creation, port
    connection, and home assignment functions.
  • Could be used by user directly.

28
Requirement (use case)
29
Examples
  • Input file basicsp.scenario
  • Output file BasicspScenario.java

30
Testing/Validation Plan Unit test and
Integrated test
  • Unit testing use JUnit as the main testing tool
  • Test each method call that initializes ORB,
    servers, installs homes, and creates component
    instances, get variable properties
  • Test on different connections(data, basic event,
    and correlated event)
  • Error tolerance detects parameter input errors,
    instance name not defined or duplicated errors,
    file cant find errors
  • Integration testing
  • Run the program with IDL stubs, skeletons, and
    component implementation files.
  • Test scenarios (taken from Bold Stroke Open
    Experimental Platform)
  • BasicSP (4 component instances, 4 component
    types)
  • ModalSP (10 component instances, 10 component
    types)
  • MediumSP (50 component instances, 10 component
    types)

31
Tools
  • OpenCCM -- the Open CORBA Component Model
    Platform the first public available Open Source
    implementation of the Object Management Group's
    CORBA Component Model.
  • OpenORB provides a Java implementation of the
    OMG CORBA 2.4.2 specification
  • IBM Eclipse - designed for building integrated
    development environment
  • Cadena
  • Junit - a simple framework to write repeatable
    tests

32
Cost Estimation
  • Based on line of code
  • AST visitor
  • About 500 lines (does not support event
    correlation yet)
  • Event correlation estimated about 100 lines
  • Read information from XML configuration file
  • 4000 lines (based on other peoples experience
    from our group)
  • Total about 4.5 K
  • Effort 2.4 (4.5)1.05 11.6
  • Development time 2.5 (11.6)0.38 6.35
    (months)

33
Cost Estimation - Unadjusted Functional points
34
Cost Estimation - Adjusted Functional points
35
Cost Estimation - Adjusted Functional points
(cont)
  • Adjusted FP
  • FPunadjusted(.65.01sum of ratings)
  • 84 (.65.0137)
  • 85.68

36
Project Plan
37
References
  • CORBA CCM
  • OMG
  • CORBA 3.0 new Components Chapters
  • CORBA Component Model Discussion and Use with
    OpenCCM (Raphaël Marvie, Philippe Merle )
  • OpenORB
  • Cadena An Integrated Development, Analysis, and
    Verification Environment for Component-based
    Systems, John Hatcliff, William Deng, Matthew
    Dwyer, Georg Jung, Venkatesh Prasad (submitted
    for publication -- SAnToS Laboratory Technical
    Report 2002-02) www.cis.ksu.edu/cadean
  • CORBA Component Model Tutorial
  • Gerald Brose, Andreas Vogel, Keith Duddy, Java
    Programming with CORBA, Third Edition, ISBN
    0-471-37681-7, 2001
  • Pressman, Software Engineering, 5th Edition,
    ISBN 0-07-365578-3
  • Royce, Software Project Management A Unified
    Framework, ISBN 0201309580

38
Acknowledgement
  • Committee
  • Dr. Hatcliff
  • Dr. Hankley
  • Dr. Dwyer

39
Comments?
Thank you!
Write a Comment
User Comments (0)
About PowerShow.com