Transcript Document
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
Motivations and Objectives (Why)
Introduction: System Overview (What)
On-line Element Services (How 1)
Distributed Element Service
Dynamic Shared Library Element Service
On-line Data Access System (How 2)
Summary: Next Step
Collaborative Finite Element Program Environment
Users
Network (Internet or Others)
development
stage
W/I
Element
migration to core
for collaborative use
CORE DEVELOPMENT
MODEL
(OpenSees)
Library classes:
ModelBuilder
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, LocalGlobal Analysis Scheme,
Simplified Analysis and
Modeling, etc..
migration to core
for collaborative use
Database
For output and
post-processing
Workstations, Parallel Computers,
Distributed Networked Workstations
Motivation and Objective
Develop a software framework that would allow engineers and
users to easily access the analysis platform.
Provide a plug-and-play environment where researchers and
developers can build incrementally on each other’s successes.
Bring the state-of-the-art computing methodologies into the
state-of-practice in structural engineering analysis.
Internet
Database
OpenSees
CORE
New Developments
Distributed
Models
Outline
Motivations and Objectives (Why)
Introduction: System Overview (What)
Collaborative System Architecture
Client
Client
Internet
Internet
Finite Element
Compute Engine
OpenSees
Registry
Data
Server Interface
LAN (Local Area Network)
Workstation
Parallel Computer
Workstation Parallel Computer
Element Server 1
Internet
Element Server 2
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
4
REGISTRY
8
6
5
1
Results
ON-LINE
ELEMENT
SERVICE
Example of a Sample Client
Internet
File Submission for Analysis Model
Analysis Results
Outline
Motivations and Objectives (Why)
Introduction: System Overview (What)
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
G3 (C++)
Classes
QuadBuilder
(C++)
QuadElement
(C++)
QuadElement
Client (java)
QuadElement
Server (java)
QuadElement
(java)
Stiff
(C, Fortran)
buildFE_Model()
QuadElement()
formElement()
formElement()
new()
calculateStiff()
calculateStiff()
return
getStiff()
getStiff()
getStiff()
getStiff()
OpenSees Core
Element Service
Dynamic Shared Library Element Service
Dynamic Shared Library: Pros and Cons
Advantages:
Flexibility: Dynamic execution at run-time; the server is able to
run different services with the same interface.
Extendibility: Easily extended to incorporate new modules (even
after installation); enhance software maintenance and upgrade.
Ownership: library source code controlled by its developer;
facilitate bug-fixing and version control.
Disadvantages:
Platform Dependency: Not all operating systems support dynamic
loading and binding.
Security: Intrusion (virus, etc..) due to dynamic binding of “foreign”
code from other site.
Overhead: Minor overhead cost due to file download and dynamic
binding.
Outline
Motivations and Objectives (Why)
Introduction: System Overview (What)
On-line Element Services (How 1)
Distributed Element Service
Dynamic Shared Library Element Service
On-line Data Access System (How 2)
On-line Data Access
OpenSees 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
WebServer
AppServer
Data
Server
Database
Dynamic
HTML
With
JavaScript
Pages
Apache
With
Tomcat
Java
Servlet
ORACLE
ODBC
OpenSees
8i
Stored
Procedure
On-line Data Access
Web Server
1
6
5
2
3
OpenSees
CORE
4
Database
ODBC Engine
0
Outline
Motivations and Objectives (Why)
Introduction: System Overview (What)
On-line Element Services (How 1)
Distributed Element Service
Dynamic Shared Library Element Service
On-line Data Access System (How 2)
Summary: Next Step
Benefits of Distributed Service
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.
It provides a easy way to integrate legacy code as one
of the modular services in the infrastructure.
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
Prototype
try
Product
Implementation
Distributed System:
Standardize element interface
Further implement registration and naming service
Improve distributed element services
Data Access System:
Finalize the data access system design
Improve performance of data query
Provide web-based user interface for data query
Component Based Modeling:
Identify a component reference model
Model components and frameworks with UML
Comments and Suggestions
Are Welcomed!