a simulation access language and framework for project
DESCRIPTION
TRANSCRIPT
1
A Simulation Access Language and Framework For Project Management Applications
Jinxing Cheng, PhD Student, Stanford University
Gloria T. Lau, PhD Student, Stanford University
Kincho H. Law, Professor, Stanford University
The 10th International Conference on Computing in Civil and Building Engineering
June 2nd-4th, 2004, Weimar, Germany
2
Presentation Agenda
Motivation
A Simulation Access Language (SimAL)
The SimAL Framework and Implementation Efforts
Example Demonstration
Summary
3
(Figure: Courtesy of Professor Gio Wiederhold of Stanford University)
Paradigm shift in software development
Lack of interoperability among different project management tools
Difficult to coordinate different applications
Coding
Integration
1970 1990 2010
Coding
Integration
1970 1990 2010
Motivation
4
The Simulation Access Language (SimAL)
Design Goals
– Developing a Simple, Easy-to-Use High-level Language
– Coordinating Services and Managing Information Flow
– Simulating and Comparing Scenarios
Major Components
– Invocation Statements (SETUP, INVOKE)
– Operation Statements (QUERY, UPDATE)
– Control Statements (IF-THEN-ELSE, WHILE)
– Decision-support Statements (SCENARIO CREATION, SCENARIO COMPARISION, etc.)
5
Operation statements include QUERY and UPDATE
QUERY statements
– SELECT, to query information from the simulation results
UPDATE statements
– SET, to update project models in simulation tools
– DELETE, to delete objects in project models
– INSERT, to insert objects in project models
e.g., reset the duration of activity ID100
UPDATE(“Set duration = 4 where activityID = ID100”, arho, %%)
Operation Statements in SimAL
6
An Example SimAL Program
SimAL ComparisonDemo {
psl_svc = SETUP("ServicePsl")
query_svc = SETUP("ServiceQuery")
p3_svc = SETUP("ServiceP3")
update_svc = SETUP("ServiceUpdate")
gcl_svc = SETUP("ServiceGCLEstimator")
arho = psl_svc.INVOKE("to-psl", %%)
cost = gcl_svc.INVOKE("Re-estimate", arho, %%)
sn1 = SCENARIO("Original Schedule"){
stat1 = query_svc.QUERY("select finishDate", arho1, %%)
sn1.SETSCENARIO(stat1) }
sn2 = SCENARIO("Expedite Delivery"){
update2 = update_svc.UPDATE("set startDate = 2003-11-20 where activityID = ID210", arho, %%)
arho2 = p3_svc.INVOKE("reschedule", update2, %%)
stat2 = query_svc.QUERY("select finishDate", arho2, %%)
sn2.SETSCENARIO(stat2) }
res = COMPARE(sn1, sn2)
DISPLAY(res, "Compare Two Scenarios")
DISPLAY(cost, “Original Project Cost”)
}
Initiate Connections
Specify Scenario 1
Specify Scenario 2
Compare Scenarios
& Display Results
Obtain Cost Information
7
The SimAL Framework
User Inputs(SimAL Program, etc.)
SimAL Preprocess
FICAS
SimAL Update and QueryEngines
Project Management Tools
Wrappers
SimAL Post-Process
Final ResultsMS Excel
or Web BrowserInterface
FICAS (Flow-based Infrastructure for Composing Autonomous Services) developed by Dr. David Liu
8
Wrapping Project Management Applications
PSL Files
Convert to PSL format PSL parser
Map PSL ontology to concepts inindividual software
Retrieve information fromapplications
P3: Primavera AutomationEngineMS Project, MS Excel, GC
Estimator: VBA + applicationmodulesVite SimVision: JDBC
Map concepts into formal PSLontology
Feed information into applications
P3: Primavera Automation EngineMS Project, MS Excel, GC
Estimator, AutoCAD: VBA +application modulesVite SimVision: JDBC4D Viewer: Plain text
Retrieving andUpdating
Information
OntologyMapping
SyntacticTranslatiom
PrimaveraP3
MicrosoftProject
MicrosoftExcel
ViteSimVision
4D viewer
AutoCADADT
GeneralCostEstimator
9
Invoking Project Management Applications
Event Server
GeneralCost Estimatorin Microsoft Excel
Wrapper
Communication Agent
Primavera P3
Wrapper
Invoke Primavera P31. FICAS invokes P3 to reschedule the project
Invoke GeneralCost Estimator2. GeneralCost Estimator connects to the Server3. FICAS sends INVOKE message to the Server4. Server calls Estimator to re-estimate the cost
FICAS
Wrappers developed for each legacy application
Standalone and embedded services invoked differently
1
2
3
4
10
Example Results – Collaborative Demonstration
Tested on the Arnold House Project from Vite
Collaboratively demonstrated between Scotland and Stanford
Oracle DatabaseServer
4D ViewerCommunication
Server
GlasgowCaledonianUniversity,Scotland
StanfordUniversity,
USA
Internet
Primavera P3
MS Project MS Excel Web BrowserTypical Office
Applications
Servers and
Specialized
Software
Vite SimVision
YahooWeather Forecasting
11
Example Results-- Workflow in the Demonstration
Workflow in the Weather Demonstration
Dynamically incorporating online weather information
The whole process automated
Viewing the impact whenever there is a concern
Online Weather Information
Information ofWeather Impact
ProcessWeatherImpact
Re-Schedulethe Project
Re-Simulatethe Project
NotifyParticipants
SchedulingInformation
(e.g., P3, MS Project,or Database)
12
Example Results-- Snapshots from the Demonstration
Weather Reports Impact of Weather Information
View the Impact on Schedule View the Impact on Task Backlogs
13
Summary
Data Integration
PSL is used to exchange project information among different applications.
Workflow Management and Decision Support
A simulation access language (SimAL) and framework to allow users to simulate scenarios involving multiple tasks supported by different software applications.
Example DemonstrationWe demonstrated the system by incorporating online weather information into project management.
14
Professor Bimal Kumar of Glasgow Caledonian University
Dr. David Liu of Mckinsey
A Stanford Graduate Fellowship
The Product Engineering Program, NIST
Center for Integrated Facility Engineering, Stanford University
Acknowledgements