Blind software professionals can work as software developers by reading and writing source code (taking advantage of assistive products such as screen readers). However, they can seldom access the graphical diagrams that are used in Software and Services Engineering to depict software models. The software tools employed to work with these models heavily limit sensory interaction modalities, as they employ a purely graphical notation, and require the use of a mouse to navigate through their contents. In consequence, they are not accessible by blind individuals. As a result, they encounter limitations to carry out such engineering activities, effectively restraining the access of blind ICT professionals to skilled jobs as a software/systems engineer, and hampering their career development.
In this context, the GRACES project aims at qualifying blind individuals, not only as mere software developers (coders) but also as Software and Service Engineers thanks to the provision of access to graphical models’ information in an accessible fashion, which fosters their progress to highly skilled jobs, the improvement of their communication with peers at their workplace, their training in the ICT area, etc. With that aim, the GRACES project has developed a software-based assistive technology to help blind software engineers access software models (which are usually represented through visual diagrams) in their workplace. This software tool:
- Presents SSE models to blind individuals, using the most appropriate, accessible, sensory modalities, according to the content features and their functional capacities.
- Deals with the types of software models which provide the highest value to its users (viz. UML class diagrams).
- Allows blind persons to potentially create/edit models to be shared with sighted individuals.
- Is interoperable with relevant products, namely general-purpose assistive technologies (e.g. screen readers) already used by blind individuals, and mainstream modelling tools already used by sighted software engineers.
- Is ready for extension (e.g. for translation to other natural languages, application to other types of diagrams such as BPMN or IE), thanks to a modular architecture.
GRACES is focused on interoperability, so that all users can, regardless their capacities and preferences, use their preferred modelling tools. To this aim, GRACES takes advantage of the existence of standardized semantic representation formats of diagrams e.g. XMI (XML Metadata Interchange), from which different presentations can be generated, depending on the capacities of the user: a graphical presentation by a mainstream modelling tool and a screen-reader-accessible hypertext representation generated by the GRACES tool. This concept fits indeed the general accessibility principle of separating presentation from semantics.
GRACES is implemented on top of several Eclipse technologies.
The Model-to-Text (M2T) subsystem that implements the Inspect Model use case is an Eclipse plugin, which allows converting the contents of an XMI-serialized UML structural model into an HTML page with a natural language description of that model. The transformations are written in the Model to Text Transformation Language MOFM2T. MOFM2T is an OMG-defined language to execute transformations from a model to a text-based format: it is usually employed to generate, from a given model, source code in a programming language; in our case, we use it to generate descriptions of the model in natural language (from within a controlled set of possible constructions). In particular, our tool uses Acceleo as the implementation of MOFM2T.
The Text-toModel (T2M) subsystem that implements the Create Model use case consists of 1) an XText parser generator of the GRACES DSL and 2) a QVTo transformation to generate the UML model. XText (an Eclipse plugin) is a generator of parsers which, not only generate an Abstract Syntax Tree from an input text file, but they also create an instance of the metamodel corresponding to the DSL. That intermediate model created by the XText-based parser is then manipulated by another tool (Eclipse QVTO), to apply QVT (Query-View-Transformation) transformations and generate the final UML model. By applying QVTo transformations, the GRACES tool translates the intermediate model generate dby XText into a UML model (which is semantically equivalent to the original textual description input by the user) and serializes it as an XMI file, available to any other user to have it imported in their favourite, mainstream modelling tool.
The talk would provide first a motivational part, explaining the need for this tool and its philosophy (and, what not, that software engineers can be blind), and then the it would present the prototype of the tool created in the GRACES project (see "Objective of the Presentation")
Only basic UML knowledge is required. Knowledge of the tools on top of which GRACES is implemented is useful to grasp the intricacies of the creation of GRACES, but not necessary to understand it as a user. (See "Attendee pre-requisites")