“DECISION” PROJECT “DECISION” PROJECT INTEGRATION PLATFORM CORBA PROTOTYPE CAST J. BLACHON & NGUYEN G.T. INRIA Rhône-Alpes June 10th, 1999
DISTRIBUTED (LAN, WAN, NOW...) CODE COUPLING FOR HETEROGENEOUS SOFTWARE COLLABORATIVE APPLICATIONS COMMON DEFINITION, IMPLEMENTATION, CONFIGURATION & EXECUTION ENVIRONMENT TARGET HARDWARE : workstations, PC clusters,... TARGET APPLICATIONS : engineering,... INTEGRATION PLATFORM
SOLVEROPTIMIZER CAST SYNCHRONISATION DATA FORMATS NAMING CORBA MPI PVM … … NETWORK PROTOTYPE ARCHITECTURE
BASIC CONCEPTS TASKS OPERATORS MODULES PARAMETERS DISTRIBUTION COMPONENTS & LINKS
TASKS LOGICAL UNIT : CODE INDEPENDENT APPLICATION DEPENDENT USER DEFINED (reusable) DEPENDENCY RELATIONSHIPS OPERATOR INPUT PARAMETERS LOCAL OR REMOTE HIERARCHICAL DECOMPOSITION INTERCONNECTED SUB-TASKS
MODULES USER CODE REMOTE OR LOCAL TRANSPARENT USE ACTUAL EXECUTION UNIT TASK INDEPENDENT (update modules)
OPERATORS SYNCHRONIZATION PARALLEL EXECUTION SERIAL EXECUTION ITERATIONS UNARY OR BINARY COMPLEX EXPRESSIONS : process formulae CHOICE
DISTRIBUTION ISSUES TASKS MODULES : task location DATA : remote files or shared memory TRANSPARENT USE
PROTOTYPE INTEGRATION PLATFORM REMINDER : IPA, BCGA, RCGA (March 1998) NEW : HBCGA, PBNCBN, ParBCGA (Sept. 1998) SOFTWARE INCLUDED IN CAST HBCGA II (Oct. 1998) Test Case : CFD solver + BCGA optimiser (Aug. 1998)
TEST CASE SHOCK-WAVE INDUCED DRAG REDUCTION WING PROFILE OPTIMISATION (RAE2822) Euler eqns (0,84 Mach, i = 2°) + BCGA (100 gen.) 2D MESH : 1286 nodes, 3680 triangles 15 hours CPU time (SUN Micro SPARC 5, Solaris 2.5)
TEST CASE WING PROFILE OPTIMISATION
BCGA FUN2 EXAMPLE END PARBCGA INIT FUN1
CORBA PROTOTYPE DEMONSTRATOR GOALS TEST CASES IMPLEMENTATION “DECISION” CORBA INTEGRATION PLATFORM DESIGN FUTURE HPCN OPTIMISATION PLATFORMS COOPERATIVE MULTI-DISCIPLINE OPTIMISATION GENETIC ALGORITHMS USED FOR OPTIMISATION CODE COUPLING FOR CFD, CSM SOLVERS & OPTIMISERS
CORBA DEMONSTRATOR PLATFORM CAST CORBA OPTIMIZERS SOLVERS
DISTRIBUTED OBJECT ARCHITECTURE TRANSPARENT DISTRIBUTED OBJECT COMPUTING CORBA COMPLIANT SIMPLE SOFTWARE MODEL COMPONENTS PLUG-IN (e.g., optimizers, solvers) - SOFTWARE COMPONENTS - CONNECTORS
DISTRIBUTED OBJECT ARCHITECTURE SOFTWARE COMPONENTS COMPONENTS ARE DISTRIBUTED OBJECTS WRAPPERS AUTOMATICALLY GENERATED ? COMPONENTS ENCAPSULATE USER MODULES
DISTRIBUTED OBJECT ARCHITECTURE SOFTWARE CONNECTORS CONNECTORS ARE SYNCHRONIZED CHANNELS SEVERAL PROTOCOLS CONNECTORS = DATA COMMUNICATION CHANNELS - SYNCHRONOUS METHOD INVOCATION - ASYNCHRONOUS EVENT BROADCAST COMPONENTS COMMUNICATE THROUGH SOFTWARE CONNECTORS
PROTOTYPE CORBA DEMONSTRATOR CAST OPTIMIZERS CORBA SOLVERS Server Phase 2 Wrapper Modules
PROTOTYPE CORBA DEMONSTRATOR TECHNICAL ITEMS OPTIMISERS WRAPPING (Nimbus) SOLVERS WRAPPING (Nokka-Tume) CAST 2.0 IMPLEMENTATION i.e. CORBA version LOCAL TEST-CASES CROSS-VALIDATION DISTRIBUTED TEST-CASES CROSS-VALIDATION TEST-CASES IMPLEMENTATION
PROTOTYPE CORBA DEMONSTRATOR CAST OPTIMIZERS CORBA SOLVERS ServerWrapper CAST TASKS
STRONG POINTS STRONG THEORETICAL FOUNDATIONS SPECIFICATION & VERIFICATION OF COMPLEX APPS Process algebra for asynchronous systems FORMAL SPECIFICATION SYSTEM EASY TO USE Intuitive interface : single task model No theoretical background knowledge required Transparent distribution using CORBA Milner ’s SCCS algebra
STRONG POINTS PROPRIETARY CODE: NO MARKETING CONSTRAINTS EASILY MODIFIABLE: NO STRINGENT LEGACY CODE OBJECT-ORIENTED IMPLEMENTATION NO USER CODE MODIFICATION REQUIRED
STRONG POINTS OPENESS : APPLICATION, SYSTEM, FUNCTIONAL ISSUES CLIENT / SERVER ARCHITECTURE OPEN & DISTRIBUTED SOFTWARE ARCHITECTURE CLEAR TRANSITION TO O.O. FRAMEWORKS NO MONOLITHIC ENVIRONMENT EASY DEVELOPMENT & EVOLUTION
CONCLUSION CAST PROVIDES AN INTEGRATION PLATFORM FORMAL ALGEBRAIC PROCESS SPECIFICATIONS FULLY CORBA COMPLIANT PLATFORM MIXING CORBA & non-CORBA CODES SMOOTH TRANSITION FROM EXISTING CODE-COUPLING ENVIRONMENTS DEFINE, IMPLEMENT, CONFIGURE & EXECUTE COLLABORATIVE APPLICATIONS
FUTURE DIRECTIONS FORMAL PROCESS VERIFICATION INTERFACE WITH PARALLEL CODES COUPLING CORBA & MPI, PVM GENERIC CORBA WRAPPERS AUTOMATE GENERATION OF CODE WRAPPERS