DISSERTATION PROPOSAL A Software Framework for Collaborative Development
DISSERTATION PROPOSAL A Software Framework for Collaborative Development of Structural Analysis Code Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000
Outline q Motivations and Objectives (Why) q Introduction: System Overview (What) q On-line Element Services (How 1) Distributed Element Service Dynamic Shared Library Element Service q On-line Data Access System (How 2) q Summary: Next Step
Collaborative Finite Element Program Environment Users Network (Internet or Others) development stage W/I Element migration to core for collaborative use Database CORE DEVELOPMENT MODEL (Open. Sees) Library classes: Model. Builder Domain classes Element library Solver library Nonlinear strategies etc. . . Check-in/Check-out W/I Element Object Wrapper/ Interface (W/I) Solution Strategies: Linear Algebra Operations -linear direct/iterative solvers, eigensolvers, nonlinear solvers, etc. . Analysis Strategies Staggered Scheme, Local. Global Analysis Scheme, Simplified Analysis and Modeling, etc. . migration to core for collaborative use For output and post-processing Workstations, Parallel Computers, Distributed Networked Workstations
Motivation and Objective q Develop a software framework that would allow engineers and users to easily access the analysis platform. q Provide a plug-and-play environment where researchers and developers can build incrementally on each other’s successes. q Bring the state-of-the-art computing methodologies into the state -of-practice in structural engineering analysis. Internet Database Open. Sees CORE New Developments Distributed Models
Outline q Motivations and Objectives (Why) q Introduction: System Overview (What)
Collaborative System Architecture Open. Sees
Server Modules Analysis Core
Mechanics of the Collaborative Framework Submit Analysis Model 2 Perform Analysis SERVER INTERFACE 3 THE ANALYSIS CORE 7 WEB-BASED CLIENT 8 Query 4 Collaborative Computation REGISTRY 6 5 1 Results ON-LINE ELEMENT SERVICE Register to Core
Example of a Sample Client Internet File Submission for Analysis Model Analysis Results
Outline q Motivations and Objectives (Why) q Introduction: System Overview (What) q On-line Element Services (How 1) Distributed Element Service Dynamic Shared Library Element Service
Registration and Naming Service There are Two types of on-line Element Services: 1. Distributed services (RPC, Java RMI or CORBA) 2. Download dynamic shared library (FTP or HTTP)
Distributed Element Service
Distributed Element Service: Interaction Diagram G 3 (C++) Classes Quad. Builder (C++) build. FE_Model() Quad. Element (C++) Quad. Element Client (java) Quad. Element Server (java) Quad. Element (java) Stiff (C, Fortran) Quad. Element() form. Element() new() calculate. Stiff() return get. Stiff() Open. Sees Core get. Stiff() Element Service
Dynamic Shared Library Element Service
Dynamic Shared Library: Pros and Cons Advantages: q Flexibility: Dynamic execution at run-time; the server is able to run different services with the same interface. q Extendibility: Easily extended to incorporate new modules (even after installation); enhance software maintenance and upgrade. q Ownership: library source code controlled by its developer; facilitate bug-fixing and version control. Disadvantages: q Platform Dependency: Not all operating systems support dynamic loading and binding. q Security: Intrusion (virus, etc. . ) due to dynamic binding of “foreign” code from other site. q Overhead: Minor overhead cost due to file download and dynamic binding.
Outline q Motivations and Objectives (Why) q Introduction: System Overview (What) q On-line Element Services (How 1) Distributed Element Service Dynamic Shared Library Element Service q On-line Data Access System (How 2)
On-line Data Access q Open. Sees can be turned into Application Server that resides in the middle layer for handling communication between Web Server and Database as well as incorporating Analysis logic and functionalities. Web Client Presentation Server Application Server Browser Web. Server App. Server Database Dynamic HTML With Java. Script Pages Apache With Tomcat Java Servlet ODBC Open. Sees ORACLE 8 i Stored Procedure
On-line Data Access Web Server 1 6 5 2 3 Open. Sees CORE 4 Database ODBC Engine 0
Outline q Motivations and Objectives (Why) q Introduction: System Overview (What) q On-line Element Services (How 1) Distributed Element Service Dynamic Shared Library Element Service q On-line Data Access System (How 2) q Summary: Next Step
Benefits of Distributed Service q The framework provides a means of distributing services in a modular and systematic way. Users can select appropriate services and can easily replace a service if superior service becomes available. q It provides a easy way to integrate legacy code as one of the modular services in the infrastructure. q It alleviates the burden of managing a group of developers and their source code. The participants can write their code based on the common communication protocol.
Next Step Idea / Plan try Prototype Implementation Distributed System: q q q Standardize element interface Further implement registration and naming service Improve distributed element services Data Access System: q q q Finalize the data access system design Improve performance of data query Provide web-based user interface for data query Component Based Modeling: q q Identify a component reference model Model components and frameworks with UML Product
Comments and Suggestions Are Welcomed!
- Slides: 22