towards a generic cloud-based modeling environment

26
Towards a Generic Cloud-based Modeling Environment Laszlo Juracz and Larry Howard Institute for Software Integrated Systems at Vanderbilt University Nashville, U.S.A. International Conference on Digital Information Processing and Communications, Ostrava, Czech Republic, July 7-9, 2011.

Upload: ljuracz

Post on 12-May-2015

394 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Towards a Generic Cloud-based Modeling Environment

Towards a Generic Cloud-based Modeling Environment

Laszlo Juracz and Larry Howard

Institute for Software Integrated Systems at Vanderbilt University Nashville, U.S.A.

International Conference on Digital Information Processing and Communications, Ostrava, Czech Republic, July 7-9, 2011.

Page 2: Towards a Generic Cloud-based Modeling Environment

Our focus

Page 3: Towards a Generic Cloud-based Modeling Environment

Diagrams Models DSMLs

v

Visual Languages

FRAMEWORK

Browser-based apps components widgets modules

Deployed in a collaborative cloud computing educational ... environment

Page 4: Towards a Generic Cloud-based Modeling Environment

What are diagrams?

- Visualize ideas and depict information

Land-mapsReligious ideas

Prehistoric times

Mathematical- and Scientific concepts

Ancient times Computers, Graphical UI

Scientific and Engineering diagrams,

Standard notations

Page 5: Towards a Generic Cloud-based Modeling Environment

Models in SE and DSMLs

Diagrammatic appearance Constraints, strictly enforced visual syntax

Interpreter Validation (semantics) Code Simulations Analysis …

Page 6: Towards a Generic Cloud-based Modeling Environment

Requirements

Page 7: Towards a Generic Cloud-based Modeling Environment

What would we want from a diagramming/modeling tool operating in the cloud?

No installation, runs in the browser Accessible / usable on various devices Share my stuff with others Work on the same documents simultaneously,

individually or in a collab. env. (virtual whiteboarding) Cloud storage

Page 8: Towards a Generic Cloud-based Modeling Environment

Some of it is already out there…

No installation, runs in the browser Accessible / usable on various devices Share my stuff with others Work on the same documents simultaneously,

individually or in a collab. env. (virtual whiteboarding) Cloud storage

☻☻☹☻☻☹☻

Page 9: Towards a Generic Cloud-based Modeling Environment

Some of it is already out there… … but we want more

No installation, runs in the browser Accessible / usable on various devices Share my stuff with others Work on the same documents simultaneously,

individually or in a collab. env. (virtual whiteboarding) Cloud storage

☻☻☹☻☻☹☻

☹☹

☹☹

Version control (fork, revert, merge, resolve conflicts) Provides gateways to external services/processes

(analysis, deployment, …) Can be embedded / integrated / toolchained Re-usable, generic

Page 10: Towards a Generic Cloud-based Modeling Environment

Design challenges

Page 11: Towards a Generic Cloud-based Modeling Environment

Use-case 1:HTML-based Educational Diagramming Tool

Page 12: Towards a Generic Cloud-based Modeling Environment

Design criteria

Usability and User Experience Revamp of the old Flash UI in HTML/JS Smooth UX, intuitive UI, affordance Device-agnostic performance Suitable for educational apps Accessible by users with various skill levels U

ser-

cent

ered

des

ign

Extendibility and Configurability Understands a Descriptor Language (meta) Interaction and integration with remote services Handles user permissions UI adapts to author/edit modes

Page 13: Towards a Generic Cloud-based Modeling Environment
Page 14: Towards a Generic Cloud-based Modeling Environment

Use-case 2:Modeling in the browser

Vision of a future collaborative work environment for MIC Discover Share / Publish Version Control Plugin architecture for extendibility Provides interface

to interpreters to other modeling services (validation, analysis, simulation)

Optimistic locking, conflict resolution

Page 15: Towards a Generic Cloud-based Modeling Environment

Model visualizer for conflict resolution

Page 16: Towards a Generic Cloud-based Modeling Environment

Usability vs. Constraint Checking (in the browser)

Constraints enforce syntax and semantic rulesDiagram- and model building is guarded by constraints:

Constraint-violating operations should be not allowed or Should be Aborted and Warning message should be issued UI should inform the user of allowed edit operations

Page 17: Towards a Generic Cloud-based Modeling Environment

Usability vs. Constraint Checking (in the browser)Full-scale solution would rely on

constant constraint checking and running remote interpreters could not be entirely ported to the client-side (JS platform) would cause terrible user experience.

The concept of lightweight constraints (LWC) optimal subset of all the constraints and rules checked directly on the client side in JS enforced construction-time, preferably in advance: it prevents

constraint-validation by blocking the user from doing it. Complete validation, including remote interpretation should be

triggered less frequently / manually.

Page 18: Towards a Generic Cloud-based Modeling Environment
Page 19: Towards a Generic Cloud-based Modeling Environment

Concept overview

Page 20: Towards a Generic Cloud-based Modeling Environment

Architecture

HTML(5) / JS

Python / TurboGears

Page 21: Towards a Generic Cloud-based Modeling Environment

Instances Descriptor Language

Page 22: Towards a Generic Cloud-based Modeling Environment

Library Package

Page 23: Towards a Generic Cloud-based Modeling Environment

Re-sable, extendible base classes UI is implemented in jQuery Custom UI controls

User operations are logged, deltas are saved LWC checking, operations can be rolled back LWC can be defined in library descriptor

Page 24: Towards a Generic Cloud-based Modeling Environment

Status and future

Page 25: Towards a Generic Cloud-based Modeling Environment

Preliminary design challenges are successfully discovered Client side core is under testing /development Prototypes of educational apps built on the framework

will be utilized in classroom experiments in fall 2011 (FBD, flowcharts)

Model visualizer will be delivered in 2012 Design of the server side module is getting finalized Looking for new opportunities

Page 26: Towards a Generic Cloud-based Modeling Environment

Laszlo [email protected]

Thank you!