190 likes | 562 Views
Presentation Overview. Project SummaryProject description, its participants
E N D
1. SIMSAT 3.0 a platform independent version of ESOCs simulation infrastructure
2. Presentation Overview Project Summary
Project description, its participants & working practices
Architectural Overview
Differences to SIMSAT 2.0
Description of the main architectural differences
Platform Independence
How and why are we platform independent?
Project Status
How things are, how they look, and road-map
Summary
3. Project Summary Products Project requires moving SIMSAT 2.0, Generic Models 2.0 and Ground Models 2.0 to Linux, based on open standards
SIMSAT 2.0
Kernel: Run-time engine for the simulation
MMI: Default method of controlling and interacting with the simulation
Generic Models
SIMPACK, SENSE, PEM and SimDyn
Ground
GMM, MCS DIF, TTC Streams, GVS
4. Project Summary Work Breakdown VEGA is prime contractor with SciSys, DataSpazio and Terma subcontractors
Work share principles...
Each company takes responsibility for one of the main products
Each company has work packages on each product
Each company responsible for their own code up to provisional acceptance
After provisional acceptance, company responsible for product must fix all problems with that product
5. Project Summary Working Practices Component Monitoring to allow responsible companies to monitor components produced by other companies
Hot desks in the VEGA offices for the use of sub-contractors to empower easier integration
Off-site access to the source code to empower rapid problem fixing
using CVS repository and a SSH link
Web sites to empower better teamwork
Project Portal with discussion groups and documents
JIRA Issue tracking
6. Architectural Overview
7. Pluggable Components SIMSAT 2.0 supports components in the Kernel only
E.g. TTC Streams and concurrent scheduler
But MMI is statically compiled
Impossible for third parties to alter or improve the MMI
SIMSAT 3.0 will use components for the Kernel and MMI
Third party code needs to meet interface requirements
CORBA interfaces for Kernel, Java interfaces for MMI
Component can be loaded into Kernel or MMI at run time
Component need not be delivered with SIMSAT
8. Pluggable Components Benefits Easy for third parties to add items - Just follow the interface rules (and semantics)
Kernel and MMI can be augmented with new components to replace or enhance the functionality of the existing ones, e.g.
A new logger that uses databases?
A component to record and replay data values?
Mimic diagrams of the simulated systems?
Simulator specific control panels?
System is more expandable
System is more maintainable
New features do not have to complicate existing components that are tried and trusted
9. Kernel Services Kernel Services have been refined
Kernel Services now on the same footing as models
Allows kernel to be much more dynamic
No compulsory components
Kernel Services can be scripted
Allows users to configure the kernel at run time
10. Kernel Services - Benefits Kernel is no longer a closed box
Need three loggers?
Dont need a scheduler?
Simulation developers can use debug versions of components to help solve problems
Schedulers that automatically performance profile the simulation
Different types of components for different tasks
11. Java MMI SIMSAT 3.0 MMI has been redesigned from scratch
SIMSAT 2.0 MMI is implemented using MFC C++ classes
Java Swing now used as the API
MMI now scriptable
MMI now utilises components
Allows easy plug in of third party graphical objects
Currently using Suns JVM, version 1.4.2
12. Java MMI - Benefits Java is much easier to write and maintain than C++
Automatically supports multiple platforms
Better developer knowledge for Java GUIs than MFC
Extensive Java libraries as part of the standard language
XML
CORBA
13. CORBA SIMSAT 2.0 uses COM as the middleware
CORBA has replaced COM for SIMSAT 3.0
COM IDL definitions of the Kernel interfaces were ported to CORBA IDL
Conversion
Refactoring
Much lower coupling and higher cohesion of interfaces
But many more interfaces
Need to replace some operating system features
We use omniORB 4.0.3 at present
14. CORBA - Benefits CORBA is an open standard
Many open source implementations
Many different platforms
CORBA is used for the Mission Control System middleware as well
15. Rhino SIMSAT 2.0 used the Microsoft script engines
Provides access to the simulation objects from JScript
Provides debugging facility
Rhino is an open source script engine written in Java, with CORBA connectivity packages
LiveConnect used for communication with Java objects
JSCorba used for connecting JavaScript to CORBA objects
Rhino Debugger for debugging scripts
16. Rhino - Benefits We still control the models through JavaScript (JSCorba)
We can still debug the scripts (Rhino Debugger)
We can also control the MMI
Automated system tests for Kernel and MMI
17. Platform Independence Middleware is CORBA
Available in compatible stable formats on virtually every platform
Operating System independence
Use of library to isolate platform dependencies
Use of third party software to achieve easy portability of this library, e.g. ACE, APR or omniThreads
MMI is Java based
Available on all modern platforms
Use of XML where possible
18. Project Status Basic versions of critical system components are complete
First integration of Kernel and MMI systems now underway
Will result in proof of concepts
Second phase of project is planned to be filling the gaps
Current Delivery Dates
Internal Engineering Drop Delivery due early next month
SIMSAT 3.0 due early November 2004
Generic Models 3.0 and Ground 3.0 due early 2005
19. A Systems Engineering Company