Group-oriented Modelling Tools with Heterogeneous Semantics Niels Pinkwart COLLIDE Research Group University of Duisburg, Germany
IT & CSCL mainly based on: Computer-mediated communication -Sharing of resources -Distribution of material -Digital archives Usually: No semantic processing of the information Another tendency: Mind tools “Computational objects to think with” Collaborative discovery learning
New / Current challenge: “Computational objects to think with” in a collaborative framework allowing co-learners to synchronously -Construct and elaborate external representations -Make use of the semantics embedded in these representations -Discuss and share their work flexibly Core Problems: Hard-coded interpretation schemes are not really the aim The degree of semantics / structure differs and is domain-dependent (from “formal” to “informal”)
Examples for domain-specific languages: Petri nets System dynamics Visual programming languages UML Formal semantics Discussion elements Partial / No formal semantics Hand-written comments Idea: “Plug-In” semantics and interpretation schemes in a generic collaborative environment
Aims : External definition of semantically enriched languages The possibility of flexibly mixing these languages “Multi-functional and multi-representational tools” “Extension of paper&pencil” … and all this with co-operation support Main Advantage: Work without loosing domain or social context Usage scenarios: Networked ubiquitous (mobile) environments Presentations & collaborative work
Principles of Cool Modes (Collaborative Open Learning, Modeling and Designing System) shared workspace environment workspaces consist of different layers which can contain “solid” objects (synchronizeable visual representations) flexible co-operation modes “Palettes”: The language plug-ins offer the objects to work (or: think!) with encapsulate the domain dependent semantics are externally defined
Co-operation support in Cool Modes (bases on MatchMaker TNG) by Workspace by Layer by Element …
Co-operation support in Cool Modes Example: layer-wise coupling
Domain-dependent Elements - Definition Reference frames define the domain-dependent elements and their relations (nodes and edges) offer the possibility for simulations, modelling, … (local and global algorithms) have a visual interface themselves (Palette) can at runtime be added / removed (“plug-in”)
Domain-dependent Elements - Definition Nodes Model – used for synchronization (Serializable) View – (JComponent) Controller – event processing (generic & domain-dependent) Edges similar to nodes additionally: rule-sets (e.g. in Petri Nets)
Domain-dependent Elements - Definition Cool Modes framework Ref. FramePalette Edges Nodes Workspace defines shown in offers used in consults for interpretation Semantic EventHandler includes knows
Domain-dependent Elements – Interpretation principles 1.Reference Frames define the semantic relations and are responsible for objects in one domain “understanding” each other 2.They provide event-driven rules ( domain ontology ) 3.Events generated through user actions contain the changed models as parameter 4.There are generic “local” and “global” events 5.Specific domain-dependent events can be freely defined
Domain-dependent Elements – Global events Fired upon a change in a workspace Typical listener: reference frame itself Event types: Adding, Removing and Moving Nodes/Edges Element presence / absence (“Are required elements available?”) Spatial relations in a workspace (“Are items arranged correctly?”) Algorithms of the abstract graph structure (e.g. connectivity checks) Checking and modifying node/edge models (e.g. for running simulations)
Domain-dependent Elements – Global events Fired upon a change in a workspace Typical listener: reference frame itself Event types: Adding, Removing and Moving Nodes/Edges Element presence / absence (“Are required elements available?”) Spatial relations in a workspace (“Are items arranged correctly?”) Algorithms of the abstract graph structure (e.g. connectivity checks) Checking and modifying node/edge models (e.g. for running simulations)
Domain-dependent Elements – Local events Fired upon a change in a node or edge model Typical listeners: nodes Event types: Adding and Removing Edges, Changing Models Local graph algorithms and model changes (e.g. in Petri Nets) Context-based feedback (e.g. for hints or “lightweight” corrections)
Current and future development Applications Stochastics exploration Interaction analysis Extension of the MatchMaker communication server “undo/redo” logging and replay Integration of mobile devices - “lightweight clients” Extended use of XML (not only for storage) SOAP interfaces for synchronization
Niels Pinkwart web: