Towards Collaboration on Accessible UML Models



Similar documents
On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages

Development of Tool Extensions with MOFLON

The BPM to UML activity diagram transformation using XSLT

CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology

Integrity 10. Curriculum Guide

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Tool Support for Model Checking of Web application designs *

Generating Aspect Code from UML Models

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

COCOVILA Compiler-Compiler for Visual Languages

Jos Warmer, Independent

Selbo 2 an Environment for Creating Electronic Content in Software Engineering

Implementing reusable software components for SNOMED CT diagram and expression concept representations

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

VDM vs. Programming Language Extensions or their Integration

A Business Process Services Portal

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

Scenario-based Requirements Engineering and User-Interface Design

Intelligent Retrieval for Component Reuse in System-On-Chip Design

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation

Simplifying e Business Collaboration by providing a Semantic Mapping Platform

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Component visualization methods for large legacy software in C/C++

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

How To Design An Information System

Rational Team Concert. Guido Salvaneschi Dipartimento di Elettronica e Informazione Politecnico di Milano salvaneschi@elet.polimi.

Model Driven Testing AGEDIS Architecture Interfaces and Tools

UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts

Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object

Towards collaboration between sighted and visually impaired developers in the context of Model-Driven Engineering

An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

FIPA agent based network distributed control system

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations

Evaluating OO-CASE tools: OO research meets practice

Towards Collaborative Requirements Engineering Tool for ERP product customization

WebSphere Business Modeler

Foundations of Model-Driven Software Engineering

Automatic Test Data Generation for TTCN-3 using CTE

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

Textual Modeling Languages

Basic Unified Process: A Process for Small and Agile Projects

A QTI editor integrated into the netuniversité web portal using IMS LD

The Specific Text Analysis Tasks at the Beginning of MDA Life Cycle

SignalDraw: GUI Tool For Generating Pulse Sequences

A Workbench for Prototyping XML Data Exchange (extended abstract)

SysML Modelling Language explained

How to Build Successful DSL s. Jos Warmer Leendert Versluijs

Business Process Discovery

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

Chap 1. Introduction to Software Architecture

Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework

MOTION Modeling and Testing for System and Service Solutions. ModelBus. Automation, Integration and Collaboration in Development Processes

BPMN PATTERNS USED IN MANAGEMENT INFORMATION SYSTEMS

Editors Comparison (NetBeans IDE, Eclipse, IntelliJ IDEA)

Increasing Development Knowledge with EPFC

JastEMF: Reference Attribute Grammars for EMF-based DSLs

11 Tips to make the requirements definition process more effective and results more usable

Development Process Automation Experiences in Japan

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Representing XML Schema in UML A Comparison of Approaches

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

Recovering Business Rules from Legacy Source Code for System Modernization

The value of modeling

Usability Issues in Web Site Design

Efficient Management of Tests and Defects in Variant-Rich Systems with pure::variants and IBM Rational ClearQuest

CIM to PIM Transformation: A criteria Based Evaluation

UML PROFILING AND DSL

Rotorcraft Health Management System (RHMS)

Configuring Firewalls An XML-based Approach to Modelling and Implementing Firewall Configurations

Java (12 Weeks) Introduction to Java Programming Language

Computing Concepts with Java Essentials

Fraunhofer FOKUS. Fraunhofer Institute for Open Communication Systems Kaiserin-Augusta-Allee Berlin, Germany.

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Analysis of the Specifics for a Business Rules Engine Based Projects

Université du Québec à Montréal. Financial Services Logical Data Model for Social Economy based on Universal Data Models. Project

Meta-Model specification V2 D

The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao.

A Brief Analysis of Web Design Patterns

Modeling the User Interface of Web Applications with UML

Requirements Definition and Management Processes

A Model-based Software Architecture for XML Data and Metadata Integration in Data Warehouse Systems

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Modeling Systems - External and Internal Behavior Models

Quality Assurance of Software Models within Eclipse using Java and OCL

Service Level Agreements based on Business Process Modeling

Transcription:

his is a draft version of the full paper to be presented at the AI4VIP workshop colocated with MuC'15. owards Collaboration on Accessible UML Models Stephan Seifermann, Henning roenda Software Engineering, FZI Research Center for Information echnology, Karlsruhe Abstract he Unified Modeling Language (UML) is one of the most used software description languages. Its graphical syntax, however, impedes visually impaired people from taking part in discussions. Editors for textual and graphical UML syntaxes exist but lack advanced support for collaborative editing. In this paper, we describe our plans on implementing a collaborative editing environment consisting of an accessible textual UML editor with state-of-the-art user support and consistency preservation mechanisms for real-time collaboration. We present our ideas to discuss their completeness or identify additional accessibility features. An industrial software engineering team that includes visually impaired engineers will evaluate our results continuously. 1 Introduction Models are well known in the software engineering domain. hey are used to model the structure, behavior, or interaction in a software system. he most commonly used modeling language is the Unified Modeling Language (UML) (OM 2011). Users of other domains have picked up the modeling approach as well. hey often use the UML or languages based on the UML such as EAS-ADL (EAS-ADL Association 2013) or AUOSAR (AUOSAR Development Corp. 2013) in the automotive or SysML (OM 2012) in the systems engineering domain. Commonly, users read and edit models using graphical representations. raphical representations provide a good overview of a system and improve comprehensibility. Unfortunately, these representations are not accessible for visually impaired people. Human assistants often bridge the gap and translate the model into a textual representation, which is accessible. his process takes time and impedes real-time collaboration scenarios. Additionally, it is error-prone on updates and personnel-intensive. here are approaches on textual representations of UML with limited coverage of the implemented UML diagram types. hey usually do not provide feature-rich, accessible

owards Collaboration on Accessible UML Models 2 editors, which are necessary for effective interaction with the model. he transfer between graphical and textual representation is often limited to one direction ignoring the changes on the other side. his prohibits collaborative editing. In this paper, we present our realization approach of an accessible UML editor that enables the collaboration on UML models in an accessible way. he accessibility will be achieved by a textual syntax, and versatile assistive reading and editing capabilities. Model hronization mechanisms enable collaboration. he implementation will be based upon the commonly used Eclipse integrated development environment (IDE), which s core parts are accessible (Eclipse 2013). Our results will be published as open source on ithub (Cooperate Project eam 2015). We present our approach in order to discuss the completeness and gather ideas for additional accessibility features. he remainder of this paper is structured as follows: Section 2 presents our approach for accessible interaction via a feature-rich textual UML editor. In Section 3, we describe the collaborative editing support via model hronization. Section 4 discusses related work. In Section 5, we conclude and outline future work. 2 Accessible Interaction with UML Models Reading and editing requires interaction. UML defines an abstract syntax and a graphical concrete syntax. An abstract syntax describes what information a model contains and how it is stored. A concrete syntax describes how the information is presented to users. An example is provided in Figure 1. We address accessibility by providing a concrete syntax mapping from model elements to structured text. An assistive editor complements the syntax. he following shows why a textual representation is accessible and discusses the implementation of necessary editor features for accessible interaction. Figure 1 Representation of a Java method in concrete Java and abstract JaMoPP (Heidenreich, et al. 2009) syntax Existing accessibility tools such as screen readers or braille displays can access textual syntax. We complement this by mapping domain-specific abbreviations, e.g. structured text, to special audio outputs for screen readers. Existing textual concrete syntaxes are limited in at least one of the categories: completeness, comprehensibility, or accessibility. For instance, miming graphical elements such as arrows with a minus and a greater symbol affects accessibility. he XML Metadata Interchange (XMI) serialization of UML models is another

owards Collaboration on Accessible UML Models 3 inaccessible syntax: It is complete but it is not meant to be editable for humans because of the verbose XML syntax. An accessible textual concrete syntax must be concise, and allow omission of information. he latter is important to support common UML usage in discussions, in which information such as types of attributes is omitted or deferred. We plan to compare twelve existing syntaxes, determine best and worst practices, and create a new accessible syntax. Half of them are mentioned in related work. An editor must support two use cases, which are not disjoint but have different focuses: modeling from scratch and modifying an at least partially existing model. When modeling from scratch, the user focuses rather on creating than on modifying a model. We identified three major assistive features that have a considerable impact on efficient accessible editing: code completion, accessible error reporting and refactoring support. Code completion provides keywords and identifiers of elements that are syntactically allowed at the current cursor position. hereby, users do not have to know and type the exact name of keywords or elements, which increases efficiency and leads to syntactically correct models. Human-readable references instead of technical identifiers such as randomly generated unique identifiers ease the understanding and memorization. roupings of the code completion suggestions make suggestions more accessible in case of a large list because it is not necessary to read not-intended entries. he exact grouping depends on the UML diagram type and on the context. Real-time error reporting allows fast fixing of issues and prohibits subsequent errors. he Eclipse IDE already provides an error view and mechanisms to show errors in text editors. We reuse this feature but improve the accessibility: If an error is detected, a non-intrusive audio notification will be issued in addition to the usual Eclipse mechanisms. he user can ignore this notification or can listen to the full error message via a shortcut. Shortcuts also simplify the navigation between error view and the corresponding model part. Additionally, the errors are separated into syntactic and semantical errors. Semantic errors are violated constraints. he separation is indicated in the error description and the audio feedback. Refactorings allow the fast execution of common edit operations. he editor for the concrete textual syntax supports existing general refactorings such as renaming of identifiers as well as modeling-specific refactorings such as changes on a method s signature. Besides the provided refactorings, custom refactorings will be possible via extension mechanisms. When modifying an existing model, the user spends more time on reading and understanding. Navigation and customization of the current view heavily support this. he editor will provide adjusted features of the Eclipse IDE to achieve this. For instance, links from model elements to their declaration allow fast navigation as known from programming language editors. We envision a modeling-specific search. Instead of type selection, the search executes predefined common queries such as finding all classes that implement a selected interface in a class diagram. hese queries are accessible via context menus and a search dialogue. In addition to searches, commonly used jumping shortcuts such as jumping to a base class are available in context menus. Focused reading is also supported by reducing visible information using folding techniques. Shortcuts allow to fold and unfold information at the current position and indicate availability of these operations via audio feedback.

owards Collaboration on Accessible UML Models 4 3 Collaborative Editing of UML Models he UML is often used during discussions to communicate problems or develop ideas in a collaborative and iterative way. raphical representations exclude visually impaired people. Using the concrete textual syntax proposed in the last section solves this problem only if a) every team member is familiar with it, and b) the changes are hronized between all team members. In this section, we describe how our editor solves both of these problems. We address a) by providing consistency preservation between concrete syntaxes. Each team member can choose the syntax freely. here are two fundamental approaches to keep concrete syntaxes consistent: hronization, and a common model (see Figure 2). Abstract Syntax M M + Concrete Syntax Meta Level Instance Level E 1 E 1 E 3 E 3 Serializing Parsing Serializing Parsing rammarbased Editing rammarbased Editing E M uses Editor Model raphical extual M 1 M 2 M 3 M 4 M 5 M + 5 Figure 2 Methods for keeping concrete syntaxes consistent On the meta level, the concrete syntaxes and are based on the abstract syntax M and M + respectively. M + extends M and allows storing layout information for model elements. he common model approach shown on the right side circumvents inconsistencies by simply using the same model M + 5 as data source for all concrete syntaxes. his model contains all information across concrete syntaxes and is directly edited via so-called projectional editors E 3 and E 3. he editor(s) can use the syntax definition and even at the same time. Projectional editors ensure consistency by grammar-based editing. hey limit free text editing by providing templates and predefined edit operations in case of complex changes. he hronization approach shown in the rest of Figure 2 keeps separate models for every concrete syntax editor and hronizes changes between them. extual editors E 1 using a parsing and serializing approach can be used alongside with graphical editors E 1 using grammar-based editing. he hronization requires a considerable effort for defining the mapping between M 1, M 2, M 3, M 4, M 5, and M + 5. We favor this approach because of less

owards Collaboration on Accessible UML Models 5 editing restrictions, and reusability of existing (graphical) editors. he hronization will be based on a bijective mapping function for model and layout elements to prohibit information loss and ensure completeness. Layout information between different concrete syntaxes cannot be mapped as indicated by missing arrows between and E 1 in Figure 2. Enabling concurrent real-time editing addresses b). All team members can use their own favorite (accessible) editors. We plan to build on the hronization framework ModelBus (Fraunhofer FOKUS 2014), which already covers the hronization of graphical layout information. We plan to use the Eclipse Shared Editing project (he Eclipse Foundation 2007) for textual layout hronization. he hronization will take place after every complete change automatically. A change is complete if the syntax is valid after editing. In case of concurrent editing conflicts on the same elements, a standard resolution strategy such as last commit wins will be applied. Additionally, we plan to integrate the modeling environment Enterprise Architect 1, which is often used in industry, via the same hronization mechanism. A major problem for visually impaired people is tracing hronized changes from other team members. o make collaborative editing accessible, our editor provides a list of incoming changes that is updated automatically in real-time. A non-intrusive audio notification indicates a new entry. Shortcuts provide the navigation between the change list and affected model locations. he change list contains a comprehensive textual. 4 Related Work here are two common approaches to make UML models accessible: extual editors and haptic approaches. extual editors pass the information to assistive techniques such as screen readers and braille displays. Haptic approaches use special devices to make graphical information touchable or combine navigation devices with audio output. PlantUML (PlantUML 2015) aims for generating graphical diagrams from textual descriptions. It supports a wide range of diagrams and is already used to make the UML accessible by users of the BlindUML user group (BlindUML 2015). he examined Netbeans editor supports syntax highlighting but does not provide linking between elements, or text completion. Mixing model and layout information slows down comprehension. Syntaxes that meme programming languages such as extuml (Chaves 2015), Umple (Lethbridge 2014), or UMLraph (Spinellis 2003) are developer-oriented. he editor support, however, is poor compared to common programming editors: Neither UMLraph, nor yuml (Harris 2015) have dedicated editors. None of the remaining editors provides linking. Additionally, the Umple editor does not provide text completion. 1 http://www.sparxsystems.eu/enterprisearchitect/newedition/

owards Collaboration on Accessible UML Models 6 Earl rey (Mazanec and Macek 2012) provides a syntax for class, sequence, and state diagrams with an editor that supports syntax highlighting, linking, code completion, and folding. Its syntax and editor are optimized for sighted people. he editor has no special features for accessibility such as audio output. It does not support hronization and collaborative editing. his holds true for all other editors as well except for Umple. edub (Horstmann, et al. 2004) is a haptic approach and allows navigating through the hierarchical representation of UML class, use case, sequence, and state diagrams via joystick. Editing is not supported and the representation of the hierarchy cannot be adjusted. Metatla, et.al. (Metatla, et al. 2012) use a similar approach enabling collaborative editing. Unfortunately, the accessible hierarchical representation in the public available prototype could not be activated. actile displays provide a haptic representation of graphical information. Loitsch and Weber (Loitsch and Weber 2012) stated that resolution and size constraints severely limit the displayable amount of information compared to graphics. Editing is not yet supported. 5 Conclusion his paper showed our plans on implementing an accessible editing environment for UML models. Section 2 showed that a textual concrete syntax integrated in a state-of-the-art editor allows the accessible interaction with UML models. he editor s following features need adjustments for accessibility: ext completion, real-time error reporting, and modelingspecific refactorings will support the modeling from scratch. Linking, outline views, predefined common queries, and folding will support modifying existing models. Section 3 sketched the intended support for collaborative editing of UML models in teams. We showed alternatives and opted for a solution based on a distributed editing environment consisting of multiple hronized editor instances. he hronization between textual and graphical editors allows free tool selection for each team member based on their specific needs. he presented accessibility features such as change histories, or audio notifications will specifically support visually impaired people. Our next step is the detailed evaluation of the twelve existing textual syntaxes for UML with respect to accessibility impediments. In parallel, we will survey language workbenches that support implementing the features mentioned in the previous sections. he most promising workbench is used for the implementation of the sketched solution. In the midterm, the hronization mechanisms between graphical and textual editors will be implemented. Acknowledgements his work is funded by the erman Federal Ministry of Labour and Social Affairs under grant 01KM141108.

owards Collaboration on Accessible UML Models 7 References AUOSAR Development Corp. AUOSAR - Automotive Open System Architecture v4.2. 2013. http://www.autosar.org/specifications/release-42/ (accessed June 9, 2014). BlindUML. BlindUML User roup. 2015. https://groups.yahoo.com/neo/groups/blinduml (accessed June 09, 2015). Chaves, R. extuml oolkit. 2015. http://abstratt.github.io/textuml/readme.html (accessed June 09, 2015). Cooperate Project eam. Cooperate Project. 2015. https://github.com/cooperate-project. EAS-ADL Association. EAS-ADL Domain Model Specification v2.1.12. 2013. http://www.east-adl.info/specification/v2.1.12/html (accessed June 9, 2015). Eclipse. Accessibility. 2013. https://wiki.eclipse.org/accessibility (accessed June 8, 2015). Fraunhofer FOKUS. "ModelBus User uide." 2014. https://www.modelbus.org. Harris,. Create UML diagrams online in seconds, no special tools needed. 2015. http://yuml.me (accessed June 09, 2015). Heidenreich, Florian, Jendrik Johannes, Mirko Seifert, and Christian Wende. JaMoPP: he Java Model Parser and Printer. echnical Report, U Dresden, 2009. Horstmann, M., et al. "edub: Automatic Interpretation and Presentation of echnical Diagrams." CVHI'04. 2004. Lethbridge,. C. eaching modeling using Umple: Principles for the development of an effective tool. CSEE'14. 2014. 23-28. Loitsch, C., and. Weber. "Viable Haptic UML for Blind People." ICCHP'12. Springer Berlin Heidelberg, 2012. 509-516. Mazanec, M., and O. Macek. "On eneral-purpose extual Modeling Languages." DAESO'12. CEUR-WS.org, 2012. 1-12. Metatla, O., N. Bryan-Kinns, : Stockman, and F. Martin. "Cross-modal Collaborative Interaction Between Visually-impaired and Sighted Users in the Workplace." ICAD'12. eorgia Institute of echnology, 2012. 164-171. OM. Systems Modeling Language (SysML) v1.3. 2012. http://www.omg.org/spec/sysml/1.3/.. Unified Modeling Language (UML) v2.4.1. 2011. http://www.omg.org/spec/uml/2.4.1/. PlantUML. PlantUML. 2015. http://plantuml.sourceforge.net/ (accessed June 09, 2015). Spinellis, D. "On the declarative specification of models." Software, IEEE, 2003: 96-95. he Eclipse Foundation. R Shared Editing. 2007. https://wiki.eclipse.org/r_shared_editing (accessed June 10, 2015).