ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

download ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

of 11

Transcript of ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    1/11

    455

    Architectural Framework for

    Generic Modeling and Diagramming in the Cloud

    Laszlo Juracz and Larry Howard

    Institute for Software Integrated Systems, Vanderbilt University

    Nashville, U.S.A.{laszlo.juracz, larry.howard}@vanderbilt.edu

    ABSTRACT

    KEYWORDS

    modeling, diagramming, e-learning, cloud-

    computing, web-applications, user-experience, collaborative, JavaScript.

    1 INTRODUCTION

    Diagrams have been used throughout

    history to visualize ideas and depict

    information. The earliest diagrammaticrepresentations were land-maps and

    religious ideas, followed by graphical

    abstractions of mathematical concepts.The number of diagram types rapidly

    increased in the past century with the

    evolution of computer software and userinterfaces (UI). It resulted in employing

    diagrams extensively across multiple

    disciplines [1].

    Among these disciplines engineering

    relies on diagrams the most heavily.Hundreds of standardized notations are

    used from mechanical engineering tocomputer science to describe design

    concepts and to communicate and

    document technical specifications [2].The few dozen most common types are

    node and connection-based, like

    flowcharts, mind maps and electric

    circuit diagrams. Others are lessconventional-looking, such as the Nassi-Scheinderman diagram (NSD) [3] used

    in structured programming design or the

    House of Quality (HoQ) [4] employed

    2 RELATED FIELD

    There is a well-developed market of free

    and commercial software products for

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

    This paper is aimed at presenting a conceptof a flexible diagramming framework for

    building engineering and educationalapplications. The framework was designedto serve as a platform for online services and

    collaborative environments where userstypically work on remotely stored, shareddata through a browser-based user interface.The paper summarizes the commonrequirements towards such services,

    overviews related approaches and givesinsights into some design challenges through

    the analysis of two use-cases. The designproblem is examined from a user-centeredview: the key motivation of our research is

    to find innovative, possibly device-independent solutions that enable seamless

    user experiences. A generic frameworkbased on JavaScript and HTML5 on theclient-side, using novel, high-performance

    JavaScript technologies on the server-side isproposed. This framework could be

    employed for implementing a wide spectrumof software solutions from diagramming-related e-learning to cloud-based modelingenvironments.

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    2/11

    456

    authoring standard and commonly used

    types of diagrams (flowcharts, UML

    diagrams, mind-maps, wireframes etc.)and there are numerous tools supporting

    model-based development technologies.Some of these offer solutions for custom

    visualization by creating new componentlibraries or defining new skins for

    diagram elements. The two most robust

    diagram-creator applications for thedesktop are OmniGraffle [7] and

    Microsoft Visio[8]. The visual

    capabilities of these applications are

    very impressive. Users can create newtemplates and stencils (visual libraries)

    for authoring diagrams with custom

    shapes and elements. Shapes can be alsointeractive, their appearance and the

    layout of the diagram can be data-driven.

    The Generic Modeling Environment(GME) [9] introduces the concept of

    decorators for custom visualization.

    Unfortunately all of these tools possess

    the limitations of classical desktopapplications; they can import and export

    several file formats and can be extended

    through APIs but they do not provide

    built-in features for collaborative work,cloud-based storage and version control.

    The adaptation of their UI to different

    tasks and use-cases is unfeasible.While it is hard to find any browser-

    based modeling tools, there are a few

    diagram editors implemented in Flashand HTML [10]. These applications are

    simple and quick to learn. The advanced

    ones have built in features for

    collaboration. Since the authoreddiagrams are stored in the cloud space,

    sharing them through a URL is easy and

    comes natural. Their visual libraries arealso extensible. However, they do not

    offer as sophisticated and flexible

    solutions as the desktop applications

    mentioned above. They are not designed

    for integration into more complex

    systems.

    However the available tools andapproaches have built-in support for

    collaboration, none of them allowdevelopers to work on separate instances

    of diagrams and models in parallel.Versioning of models gained attention in

    the recent years. Several research results

    were published in this field [11].Although in this paper we do not discuss

    and detail any server-side solution, our

    framework is designed to support

    optimistic locking by logging operationsand model changes [12][13].

    We analyzed results of a research project

    working on collaborative, web-baseddiagramming environments [14] for

    learning. However some of the

    requirements and goals Tolosa et al.identified are similar to those we

    established for our project, they seem to

    be addressing them on different fronts.

    We are working in a lower-level solutionthat is suitable for not just diagramming,

    but modeling as well.

    Some of our work is based on results and

    experiments with an earlier diagrammingapplication developed and published by

    Roselli et al. in [15]

    3 DESIGN CHALLENGES

    The need of a generic diagrammingframework arose several times in the

    past whenever we were conceptualizing

    web-based authoring. The actual

    functional requirements were gatheredfrom two distinct fields of application:

    diagram-based e-learning and cloud-

    based modeling services.

    3.1 A HTML-based Diagramming

    Tool for Education

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    3/11

    457

    The Graphical Representations to Assess

    System Performance (GRASP) project

    examines new and innovative ways forusing graphical assessments in

    engineering education. This researchfocuses on, but is not limited to,

    designing and implementing a set ofsoftware tools for web-based exercises

    and carrying out experiments with them.

    For simple construction-like GRASPexercises, there is a need for a browser-

    based diagramming system, which

    should be capable of handling an

    extensible set of visual languages.The opening set of requirements toward

    this new diagramming tool was based on

    experiments with an earlier solutioncalled the Free Body Diagram Assistant

    (FBDA) [15]. FBDA is an adaptive e-

    learning application employed to teachfree body diagrams in biomedical

    engineering classes. Although the new

    system also could serve as a replacement

    for the FBDA, it is anticipated to have amuch wider set of functionality and

    usability.

    The pedagogical strategy, system

    architecture and the uses-cases of thenew design are very similar to those of

    the predecessors (see in Fig. 1.).

    Fig. 1.Authors create new problems through the

    solution editor interface. Since the studentswork is diagnosed through comparing the student

    diagram with an expert model, this step starts

    with choosing the visual library and building the

    expert diagram. When the expert diagram is

    ready, the author imports it with the Course

    Authoring Packaging Environment (CAPE) [16]

    and deploys it to the experimental Learning

    Management System (eLMS) [17] as a learning

    module. The instructors can create problem

    assignments and look up student records through

    the instructor interface. Students work on the

    solution in a browser-based student-editor; their

    work is evaluated and adaptive feedback is

    generated on the server-side.

    Usability and User Experience. Mostof the differences and improvements of

    the new system will emerge from a

    HTML-JavaScript diagrammingcomponent, which is going to replace

    both the old Microsoft Windows-

    executable solution editor and the

    browser-based student editor. These oldapplications were build in Adobe Flash.

    The new editor interface is not just going

    to provide a smoother user experience,but is desired to do it on a device- and

    visual language-independent way: it

    should work on desktop computers,hand-held devices and the same UI

    should be suitable for different kind of

    diagram-based assessments. The UI

    should be intuitive and easy to learn andunderstand without guidance: it should

    not cause interruptions for the user in

    accomplishing the given task; affordanceand effectiveness are crucial factors [18].

    Since the product needs to be optimized

    to serve the users without changing their

    behavior to accommodate the product,we based our development on user-

    centered design (UCD) [19].

    The design process started withanalyzing the old FBDA product based

    on preliminary identified usability and

    user experience goals. The outcome of

    this analysis and the newly establishedrequirements yield a couple of different

    visual concepts. Several low-fidelity

    mockups were built during this phase ofthe development for testing and

    evaluation (see Fig.2.).

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    4/11

    458

    Fig. 2. Diagram editor screen layouts with

    different visual languages and modes: (a)

    Diagram editor in author mode with and FBD

    problem; (b)An electric circuit (EC) problem is

    being composed; (c)Feedback is sent back to the

    student during an EC solution exercise in

    playback-mode. Note the exclamation marksmarking problematic elements; (d) Mockup

    depicting the UI in a very similar state to (c)with

    a different background color and an expanded

    property panel for the currently selected resistor

    component.

    The requirement of providing a UI that is usable

    on touch-screen devices ruled out a few

    conventional UI elements, and called for

    designing custom interaction patterns. For

    example, tablet users do not get access to

    keyboard buttons during editing but can use

    gestures to trigger commands instead of shortcut

    keys.

    Extendibility and Configurability.Easy-extendibility has to be a primefeature of the new application: there

    should be a descriptor language and a

    framework defined for implementingnew visual libraries. This descriptor

    language should be robust enough to

    capture and model all of the common

    engineering diagram types; furthermore

    it should provide ways to specify howthe users can interact with diagram

    instances of the given type in thedescribed e-learning environment.

    Handling user permissions and

    privileges is also an important

    requirement. Although both authors andstudents interact essentially with the

    very same UI, they use the application in

    different modes. Diagram operations and

    visualization are different in authormode and edit mode. The UI should be

    adaptable to these modes and also,accessing the data behind the

    presentation should be controlled.

    3.2 Browser-based Modeling

    Another system we have envisioned is a

    cloud-based collaboration environment

    for model integrated computing.

    However, the first generation of thissystem is not planned to implement a

    complete, web-based modeling toolkit to

    replace existing desktop applications, itis our intent to provide some modeling-

    related functions through the browser for

    better usability and accessibility. Also,

    in the scope of this project we areinvestigating fundamental challenges of

    an entirely browser- and cloud-based

    modeling environment.One of the key examples of related

    functions is an HTML model-visualizer

    component for browsing available

    models in the model-repository. Thiscomponent is conceptualized to be

    capable of visual rendering models

    created in standard notations or in anyarbitrary DSML (with some limitations

    on visual representation). Such a model-

    visualizer also could be employed in theconflict resolution process of the version

    control services (see Fig. 3.).

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465

    The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    5/11

    459

    Fig. 3. Muckup of the HTML-JavaScript

    conflict-resolver. In this concept, the direct

    spatial context of the conflict would be

    visualized. The user would be able to navigate in

    the change log to better understand the intents of

    the other designer.

    On the long term, this visualizer component

    could serve as the basis for an HTML-JavaScript

    UI of a future, browser-based modeling

    application. We gained tremendous experience

    with using GME [9] and other desktop-based

    modeling technologies. It is our interest to turn

    this valuable experience into needs and

    requirements towards a next-generation, entirely

    cloud-based modeling environment, which

    would provide some form of a version control

    solution with conflict resolution, real-time model

    sharing and collaborative authoring as built-in

    features.

    Usability versus Constraint Checking.Constraints enforce syntax and semantic

    rules, therefore both diagram

    construction and model building isguarded by constraints. Constraint-

    violating operations should be not

    allowed, aborted, or a warning messageshould be issued. It is desired that

    interactive components of the UI

    somehow inform the user of allowed edit

    operations that would not result inconstraint violation.

    A full-scale solution for this problem

    would rely on analyzing the current state

    of the model (or model components inthe scope) and generating a set of thepossible next states. This would involve

    constant constraint checking and runningremote interpreters that could not be

    efficiently ported to the client-side

    JavaScript platform. Taking in

    consideration that just a single complete

    model validation itself is a heavyweight,time-consuming process, triggering such

    a robust mechanism after each useroperation would cause a rather rough,

    paralyzing user experience.

    Lightweight Constraints.Our proposed

    partial solution for the problems causedby constraint checking, is to make it

    possible for DSML designers to define

    lightweight constraints. Lightweight

    constraints form an optimal subset of allthe constraints and rules. They are

    written in JavaScript and are checked

    directly on the client side in the browser.The authoring environment enforces

    them construction-time, preferably in

    advance: it prevents constraint-validation by blocking the user from

    doing disallowed operations. This way

    of using lightweight constraints is

    related to correct-by-constructionmethodologies.

    When lightweight constraints are

    utilized, complete model validation,

    (including invoking remote interpreters)can be triggered less frequently or

    manually. If the validation process

    returns that the model in an invalid state,context-aware, informative warning

    messages, and guidance for resolving the

    conflicting problem need to be offered tothe author. Assuming that the operations

    on the model are journaled, conflicting

    changes can be reverted, eventually

    bringing the model back to a previousvalid model state.

    In some cases it is hard to separate

    certain aspects of the complex semanticrules, which are implemented by the

    complete model validation. Instead of

    the segmentation of logic (and the

    corresponding code), some constraintscould be expressed as parameterized

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    6/11

    460

    rules or static configuration attributes

    (e.g.: possible drop location on the

    screen for a draggable object, or a set ofvalid ranges for a numeric object

    property) on the front. Lightweightconstraints defined this they are

    essentially redundant but practical.

    Fig. 4.Frequent, lightweight constraint checking

    mechanisms are run on the client-side. Remote,

    complete constraint checking is triggered less

    frequently, usually by saving operations.

    4 CONCEPT OVERVIEW

    Our effort to overcome the design

    challenges we summarized above is

    embodied as a framework-concept that is

    built on a client-side HTML-JavaScript

    core. This core is responsible foressential visualization tasks and handling

    user interactions. Furthermore it alsoimplements client-side functions for

    supporting version control, constraint

    management and other modelingconcepts. Flexibility of the framework

    relies on a meta-language concept,

    which can be used to create new

    libraries, and an extendible object-oriented JavaScript code-base, which

    can be tailored for various applications.Further customization of functionality

    and visualization can be achievedthrough a plugin-architecture. The

    client-side core is designed to work with

    a scalable server-side module, whichhandles user-management, collaborative

    work, data storage, version control and

    remote extensions.

    Fig. 5.High-level framework architecture.

    4.1 A Generic Meta-model for Visual

    LanguagesBasic Concepts

    Components and ComponentTypes.Inour concept, language elements of a

    notation or DSML are called

    ComponentTypes, elements of diagramand model instances are called

    Components. The visual and interactive

    aspects of Componentsare referred to as

    Skins.

    Properties and PropertyTypes.

    According to our terminology, theattributes of Components are called

    Properties. Properties are instances of

    PropertyTypes, which are defined for thecorresponding ComponentType.

    PropertyTypes are derived from three

    basic types, depending on their role and

    behavior:VariableTypeis the base type for atomic

    PropertyTypes specified with an

    arbitrary numeric or textual value and a

    Quantity. Variables with quantities canbe primarily used to express physical

    properties and have asymboland a set of

    Units attached. Furthermore, an enum-like set of possible values (or closed

    ranges for numeric properties), referredto as ValidRanges can also be definedfor VariableTypes. The predefined valid

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    7/11

    461

    ranges are taken in consideration by

    lightweight constraint checking

    mechanisms and are used to display andenforce limitations on the possible

    values of the property by the UI controlsright before value changing operations.

    Expressing limitations on the value of aproperty this way is an example for

    defining redundant constraints in the

    language specification. It poses somerisk of introducing an error causing

    inconsistency but if supported on the UI,

    can significantly increase usability.

    Variables can also be bound to skinattributes. For example, if the magnitude

    property of a vector component is bound

    to the width property of the vector skin(visualized as an arrow), the value of

    these properties are synchronized: if the

    user resizes the arrow on the canvas, themagnitude property gets changed as

    well. Similarly, when a new magnitude

    value is set through the properties panel,

    the width of the arrow reflects the valuechange accordingly. Bondable skin

    attributes should be declared in the skin

    along with the transformation functions

    getting and setting the value from thehost (component) side.

    ReferenceTypeis for expressing relations

    between components. The targetTypeattribute specifies which type the

    reference can point to, the visualizedAs

    attribute tells the UI renderer how thereference instance should be visualized.

    The framework is going to be shipped

    with some essential visualization

    methods such as ports with wires andcontainment. Library developers will be

    able to build their own visualizers and

    import them as plugins.

    SetType defines a collection of

    properties based on a member

    PropertType specified in the

    memberType attribute. The size of theset can be limited with the value of the

    maxSize, which is used by lightweight

    constraint checking similarly to

    ValidRanges specified forVariableTypes.

    Properties can be grouped with definingPropertyGroup structures.

    PropertyGroups are usually semanticallytransparent but useful for controlling

    visibility and organizing the presentation

    of the properties on the ComponentInspector Panel(CIP).

    Fig. 6. Model elements for describing visual

    languages.

    4.2 Component and Property

    Visualization

    The UI code of the framework is writtenusing jQuery [20] and custom-built

    jQuery plugins. There is a set of built-in

    controls provided, but for greaterversatility library developers have the

    possibility to extend the basic visual

    functionality and to import their custom

    UI functions.Component Skins are implemented as

    external assets. Designers can use

    standard HTML technologies (includingJavaScript and CSS) to implement skins.These assets are processed as templates

    by the component visualizer engine to

    render components on the drawingcanvas. The context and the id of the

    host component object are passed down

    to the skin template. This facilitates

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    8/11

    462

    implementing hooks and event handlers

    (such as on_AddTo, on_AfterAdded,

    on_render, on_select etc.) in skinspecific JS code and also can be utilized

    for tailoring the visual appearance of agiven component instance through CSS

    rules. The definition of bondable skinattributes along with the value-

    transformation functions usually takes

    place in the on_AddTo event hander.Controls for transforming and interacting

    with components can be added in the

    on_select or on_render handler. There

    are a few common controls shipped withthe framework (rotation, scaling etc.).

    Custom controls along other language

    specific utility functions can be importedin the library JS code.

    Fig. 7. A UI mockup showing built-in controls

    for rotating and resizing components.

    The visualizer engine provides a genericsolution for direct manipulation of

    component property values through the

    CIP. If a property is configured to be

    inspectablein the language specificationand has a Widget assigned, it gets

    rendered on the CIP. There arenumerous widgets offered by the

    framework for the most common valuetypes (TextField, SingleSelect,

    MultipleSelect, TextArea, CheckBox).

    Grouping can be used to maintain cleanand easily interpretable visual listings of

    properties.

    4.3 Visibility and Access Control

    With utilizing the hiddenFor and

    readOnlyFor attributes in the languagespecification, designers can define

    access control rules. These attributes can

    be set for ComponentTypes,PropertyTypes and PropertyGroups. The

    attribute values can be single user role

    identifiers or list of identifiers separated

    with comma. Write access tocomponents and properties is primarily

    handled in the client but also guarded on

    the server side. Visibility is entirelycontrolled on the remote end: the server

    filters and compiles the content being

    pulled down according to the credentialsof the actual user. It must be noted, that

    if some parts of the model or language

    specification are not visible for the client

    side, only the server module can docomplete validation.

    4.4 Constraint Management

    All the user operations affecting

    property values and altering component

    states are logged and managed by theOperationManageron the client side. A

    user-operation is basically a series of

    basic predefined actions and handled asa transaction: after each operation,

    lightweight constrain checking is

    triggered; if there is a constraint

    violation, a warning message is returnedas response and the operation gets rolled

    back. Lightweight constraint checking

    can also be invoked under the hoodbefore a possible value or state change.

    Essential rules for lightweight constraint

    checking can be conveniently defined in

    the library descriptor (see description ofPropertyTypes above). Custom rules and

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    9/11

    463

    validation can be attached to properties

    as JavaScript code. Although, these

    snippets have access to the property- andcomponent-registry, and can implement

    robust verification, developers shouldpay attention to the usability factors:

    massive, resource-intense validation,including remote mechanisms should

    rather be specified in the libraries

    onVerification event handler attributethan as lightweight constraints. Code

    placed in onVerification is called when

    the diagram or model is saved or

    synchronized with the storage.

    4.5 Libraries

    Diagram notation- and DSML

    specifications should be deployed as

    library packages. Each library packagehas to contain an XML-based descriptor

    of ComponentTypes, PropertTypes and

    related artifacts (such as Quantities,

    Constraints, etc.) using the meta-language we introduced above. Skins are

    included in library packages as

    standalone HTML files. Custom CSS

    and JavaScript files containing plugin-codes and other assets (images etc.) can

    be imported in the library descriptor and

    should also be placed somewhere in thedirectory structure of the library

    package.

    Fig. 8.Contents of the library package.

    4.6 Client-side Support for Version

    Control and Collaboration

    Operations logged by the

    OperationManager are used as deltas by

    collaboration and version controlfacilities running on the server. The

    client side is intended to permitconnection to the server module through

    a comet interface. This interface willallow the server to synchronize

    operations among multiple clients

    working on the same model or diagramcontinuously.

    4.7 Server-side infrastructure

    Above we introduced the concept of

    lightweight constraints. In some cases

    these constraints are expressed indirectlyin a redundant manner (for example

    using the validRanges attribute).

    However, the normal manner of defining

    lightweight constraints is to provideconstraint functions written in JavaScript

    for ComponentTypes and

    PropertyTypes. These functions can bevery complex and can manipulate on

    very large datasets. The size of the

    dataset, and this way, the cost of running

    a constraint function can depend ondynamic attributes, such as the size or

    state of the given model instance.

    Therefore, deciding if a constraintshould be checked remotely or locally

    can change over time: fore example a

    function, which earlier was designed tobe a lightweight constraint but turns out

    to run slow under certain conditions will

    need to be re-deployed to the server-side

    and invoked as part of the less-frequentcomplete model validation. If the server

    side infrastructure were capable of

    executing JavaScript code, languagedesigners would not have to deal with

    translating their constraints from one

    programming language to the other.

    This led us to change one of our designdecisions: originally we were planning

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465

    The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    10/11

    464

    to use mainly Python frameworks on the

    server-side but now we are currently

    experimenting with available JavaScripttechnologies. Our new server-side

    infrastructure concept is based on V8[21] with services written in Node JS

    [22] and Express [23] using MongoDBin the backend.

    5 CONCLUSIONS AND FUTURE

    WORK

    There is an increased need for cloud-

    based, collaborative diagramming andmodeling environments in engineering

    and engineering education today. It is

    our goal to design and build a genericframework, which could provide a

    foundation for developing such

    environments.Our preliminary design work discovered

    that usability, user experience,

    extendibility and flexibility are the key

    attributes of these applications. Amongother design challenges, we found some

    of these attributes being in conflict with

    modeling concepts, such as constraint

    checking. To overcome the challengeswe designed a browser-based modeling

    framework, introduced new concepts

    and implemented a generic meta-modelfor authoring visual languages.

    The framework is currently under

    development. Implementation is carriedout in two phases. In the first phase, the

    initial version of the HTML-JavaScript

    core was implemented; it is being

    integrated into the systems described insection 3. In parallel with this, the design

    of the server-side module is getting

    finalized, which will be implemented inphase 2.

    Evaluations of experiments with

    working, high fidelity prototypes show

    positive results. Although some UIelements need to be fine-tuned for better

    touch screen usability, our general

    concept and approach appear to be

    feasible for building basic diagrams. Weare looking for ways to address and

    improve the user interface and theoverall user-experience. An educational

    application built on the client sidearchitecture of the framework is going to

    be tested and evaluated in real classroom

    experiments during the upcomingmonths.

    We made progress on designing the

    server-side infrastructure. Our focus

    moved towards utilizing newlyavailable, high performance JavaScript

    server technologies. Using JavaScript on

    both ends will increase flexibility andease the development of new visual

    languages with complex semantics.

    Acknowledgements. This research was

    funded in part by the National Science

    Foundation (NSF) under award 817486.

    Capitalize the first letter of each word.Use a bold font.

    6 REFERENCES

    1. Tsintsifas, A.: A Framework For The

    Computer Based Assessment Of Diagram-

    Based Coursework. Loughborough

    University (2002).

    2. Lohse, G.L., Biolsi, K., Walker, N., Rueter,

    H.H.: A Classification Of Visual

    Representations. Commun. ACM. 37, 3649

    (1994).

    3. NassiShneiderman Diagram,

    http://en.wikipedia.org/wiki/Nassi%E2%80

    %93Shneiderman_diagram.

    4. House Of Quality,

    http://en.wikipedia.org/wiki/House_of_Quality.

    5. Sztipanovits, J., Karsai, G.: Model-

    Integrated Computing. Computer. 30, 110 -

    111 (1997).

    6. Van Deursen, A., Klint, P., Visser, J.:

    Domain-Specific Languages: An Annotated

    Bibliography. SIGPLAN Not. 35, 2636

    (2000).

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

  • 7/27/2019 ARCHITECTURAL FRAMEWORK FOR GENERIC MODELING AND DIAGRAMMING IN THE CLOUD

    11/11

    465

    7. Omnigraffle,

    http://www.omnigroup.com/products/omnig

    raffle.

    8. Microsoft Visio,

    http://office.microsoft.com/en-us/visio/.

    9. GME: Generic Modeling Environment,http://www.isis.vanderbilt.edu/Projects/gme/

    .

    10. Jay, A.: Five Best Online Diagramming

    Tools,

    http://www.smashingapps.com/2010/01/18/f

    ive-best-online-diagramming-tools.html.

    11. Altmanninger, K., Seidl, M., Wimmer, M.:

    A Survey On Model Versioning

    Approaches. IJWIS. 5, 271-304 (2009).

    12. Schneider, C., Zndorf, A.: Experiences In

    Using Optimisitic Locking In Fujaba.

    Softwaretechnik Trends. 27, (2007).

    13. Brosch, P., Langer, P., Seidl, M., Wimmer,

    M.: Towards End-User Adaptable ModelVersioning: The By-Example Operation

    Recorder. Proceedings Of The 2009 ICSE

    Workshop On Comparison And Versioning

    Of Software Models. P. 5560. IEEE

    Computer Society, Washington, DC, USA

    (2009).

    14. Tolosa, J.B., Gayo, J.E.L., Prieto, A.B.M.,

    Nez, S.M., Pablos, P.O. De: Interactive

    Web Environment For Collaborative And

    Extensible Diagram Based Learning.

    Computers In Human Behavior. 26, 210 -

    217 (2010).

    15. Roselli, R.J., Howard, L., Brophy, S.: AComputer-Based Free Body Diagram

    Assistant. Computer Applications In

    Engineering Education. 14, 281290 (2006).

    16. Howard, L.: CAPE: A Visual Language For

    Courseware Authoring. Second Workshop

    On Domain-Specific Visual Languages. P.

    2002 (2002).

    17. Howard, L.: The Elms Learning Platform,

    http://w3.isis.vanderbilt.edu/Projects/VaNT

    H/Index.htm.

    18. Bose, G.: Affordance In Elearning,

    http://elearning.kern-

    comm.com/2006/09/affordance-in-elearning/.

    19. User-Centered Design,

    http://en.wikipedia.org/wiki/User-

    centered_design.

    20. Jquery: The Write Less, Do More, Javascript

    Library, http://jquery.com/.

    21. V8 Javascript Engine,

    http://code.google.com/p/v8/.

    22. Node JS,http://nodejs.org/

    23. Express, http://expressjs.com/

    International Journal of Digital Information and Wireless Communications (IJDIWC) 1(2): 455-465The Society of Digital Information and Wireless Communications, 2011(ISSN 2225-658X)

    http://code.google.com/p/v8/http://code.google.com/p/v8/http://nodejs.org/http://nodejs.org/http://nodejs.org/http://nodejs.org/http://code.google.com/p/v8/