Systems Science PowerPoint PPT Presentation

presentation player overlay
1 / 15
About This Presentation
Transcript and Presenter's Notes

Title: Systems Science


1
Systems Science
For situations where tools are disjoint Different
developers Different methods, styles Independent
models to be federated Need to implement data
flow among models
but not as simple as it may sound
2
Information Flow in Systems Toxicology
3
Multi-media Modeling
Air model
Water model
soil model
4
Multi-media Modeling
file of int, 5 per line
Air model
file of float, one per line with 3 ints after
5 minute steps
Access DB out
Water model
Unix pipe of char in
3 hour steps
soil model
1 month steps
5
Model Federations
No scientist has expertise for the
whole Scientists must be able to develop
components individually i.e., not be software
engineers working as a cohesive team Component
models must interoperate
Air model
Water model
soil model
6
Model Federations
Mismatch management module
Air model
5 minute steps
Water model
3 hour steps
soil model
1 month steps
7
JDeco Functional Federations
8
New Areas
  • Human lung model biochemistry, fluid dynamics,
    protein motors and cilia mechanics, cell
    physiology for cystic fibrosis research

9
AOP Infrastructure
10
Model Federations
Mismatch management module
Air model
5 minute steps
Aspects
Water model
3 hour steps
soil model
1 month steps
11
Good modularity
XML parsing
  • XML parsing in org.apache.tomcat
  • red shows relevant lines of code
  • nicely fits in one box

12
Good modularity
URL pattern matching
  • URL pattern matching in org.apache.tomcat
  • red shows relevant lines of code
  • nicely fits in two boxes (using inheritance)

13
But problems exist
logging is not modularized
  • logging in org.apache.tomcat
  • red shows lines of code that handle logging
  • not in just one place
  • not even in a small number of places

14
Logging, zoomed in
//From ContextManager public void service(
Request rrequest, Response rresponse ) // log(
"New request " rrequest ) try //
System.out.print("A") rrequest.setContextMan
ager( this ) rrequest.setResponse(rresponse)
rresponse.setRequest(rrequest) //
wront request - parsing error int
statusrresponse.getStatus() if( status lt
400 ) status processRequest( rrequest )
if(status0) statusauthenticate( rrequest,
rresponse ) if(status 0)
statusauthorize( rrequest, rresponse ) if(
status 0 ) rrequest.getWrapper().handleRequ
est(rrequest, rresponse) else
// something went wrong handleError(
rrequest, rresponse, null, status )
catch (Throwable t) handleError( rrequest,
rresponse, t, 0 ) // System.out.print("B")
try rresponse.finish()
rrequest.recycle() rresponse.recycle()
catch( Throwable ex ) if(debuggt0) log(
"Error closing request " ex) // log( "Done
with request " rrequest ) //
System.out.print("C") return
// log( "New request " rrequest )
// System.out.print(A)
// System.out.print("B")
if(debuggt0) log("Error closing request "
ex)
// log("Done with request " rrequest)
// System.out.print("C")
15
Cross Cutting Concerns
Write a Comment
User Comments (0)
About PowerShow.com