Motivation 4 The Simulation Access Language

advertisement
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
1
Presentation Agenda
2
Motivation
A Simulation Access Language (SimAL)
The SimAL Framework and Implementation
Efforts
Example Demonstration
Summary
Motivation
3
Paradigm shift in software development
Lack of interoperability among different project management
tools
Difficult to coordinate different applications
Integration
Coding
1970
1990
2010
(Figure: Courtesy of Professor Gio Wiederhold of Stanford University)
The Simulation Access Language (SimAL)
4
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.)
Operation Statements in SimAL
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, %%)
An Example SimAL Program
6
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) }
Initiate Connections
Obtain Cost Information
Specify Scenario 1
sn2 = SCENARIO("Expedite Delivery"){
update2 = update_svc.UPDATE("set startDate = 2003-11-20 where activityID = ID210", arho, %%)
arho2 = p3_svc.INVOKE("reschedule", update2, %%)
Specify
stat2 = query_svc.QUERY("select finishDate", arho2, %%)
sn2.SETSCENARIO(stat2) }
res = COMPARE(sn1, sn2)
DISPLAY(res, "Compare Two Scenarios")
DISPLAY(cost, “Original Project Cost”)
}
Scenario 2
Compare Scenarios
& Display Results
The SimAL Framework
7
User Inputs
(SimAL Program, etc.)
MS Excel
or Web Browser
Interface
SimAL Preprocess
Final Results
SimAL Post-Process
FICAS
SimAL Update and Query
Engines
Wrappers
Project Management Tools
FICAS (Flow-based Infrastructure for Composing Autonomous Services)
developed by Dr. David Liu
Wrapping Project
Management Applications
Vite
SimVision
Primavera
P3
GeneralCost
Estimator
Microsoft
Project
Microsoft
Excel
Retrieve information from
applications
Retrieving and
Updating
Information
AutoCAD
ADT
4D viewer
Feed information into applications
P3: Primavera Automation Engine
MS Project, MS Excel, GC
Estimator, AutoCAD: VBA +
application modules
Vite SimVision: JDBC
4D Viewer: Plain text
P3: Primavera Automation
Engine
MS Project, MS Excel, GC
Estimator: VBA + application
modules
Vite SimVision: JDBC
Ontology
Mapping
Map concepts into formal PSL
ontology
Map PSL ontology to concepts in
individual software
Syntactic
Translatiom
Convert to PSL format
PSL parser
PSL Files
8
Invoking Project Management Applications
9
Wrappers developed for each legacy application
Standalone and embedded services invoked differently
FICAS
Invoke Primavera P3
1. FICAS invokes P3 to reschedule the project
3
1
Event Server
2
Invoke GeneralCost Estimator
2. GeneralCost Estimator connects to the Server
3. FICAS sends INVOKE message to the Server
4. Server calls Estimator to re-estimate the cost
4
Communication Agent
Wrapper
Wrapper
GeneralCost Estimator
in Microsoft Excel
Primavera P3
Example Results
– Collaborative Demonstration
Tested on the Arnold House Project from Vite
Collaboratively demonstrated between Scotland and Stanford
10
Example Results
-- Workflow in the Demonstration
11
Dynamically incorporating online weather information
The whole process automated
Viewing the impact whenever there is a concern
Online
Weather Information
Information of
Weather Impact
Process
Weather
Impact
Re-Schedule
the Project
Re-Simulate
the Project
Scheduling
Information
(e.g., P3, MS Project,
or Database)
Workflow in the Weather Demonstration
Notify
Participants
Example Results
-- Snapshots from the Demonstration
12
Weather Reports
Impact of Weather Information
View the Impact on Schedule
View the Impact on Task Backlogs
Summary
13
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 Demonstration
We demonstrated the system by incorporating online weather
information into project management.
Acknowledgements
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
End of Presentation
15
Questions and Comments: Jim Cheng (cjx@stanford.edu)
Download