35 research outputs found

    Efficient development of complex statecharts

    Get PDF
    Modeling systems based on graphical formalisms, such as Statecharts, has become standard practice in the design of embedded devices. Using paradigms established so far often results in complex models that are difficult to comprehend and maintain. To overcome this, we present a methodology to support the easy development and understanding of complex Statecharts. Central to our approach is the use of secondary notations to aid readability. We employ an automated layout mechanism to transform any given Statechart to a Statechart Normal Form. The Kiel Integrated Environment for Layout is a prototypical modeling tool to explore our editing, browsing and simulation paradigms in the design of complex reactive systems. An empirical study on the usability and practicability of our Statechart editing techniques, including a Statechart layout comparison, indicates significant performance improvements in terms of editing speed and model comprehension compared to traditional modeling approaches

    Extended Version of Elucidative Development for Model-Based Documentation and Language Specification

    Get PDF
    Documentation is an essential activity in software development, for source code as well as modelling artefacts. Typically, documentation is created and maintained manually which leads to inconsistencies as documented artefacts like source code or models evolve during development. Existing approaches like literate/elucidative programming or literate modelling address these problems by deriving documentation from software development artefacts or vice versa. However, these approaches restrict themselves to a certain kind of artefact and to a certain phase of the software development life-cycle. In this paper, we propose elucidative development as a generalisation of these approaches supporting heterogeneous kinds of artefacts as well as the analysis, design and implementation phases of the software development life-cycle. Elucidative development allows for linking source code and model artefacts into documentation and thus, maintains and updates their presentation semi-automatically. We present DEFT as an integrated development environment for elucidative development. We show, how DEFT can be applied to language specifications like the UML specification and help to avoid inconsistencies caused by maintenance and evolution of such a specification

    Generating graphical and projectional editors

    Full text link
    En ingénierie dirigée par les modèles, les langages spécifiques au domaine (DSL) offrent des notations adaptées à un domaine précis pour représenter ses différents concepts. De nombreux outils permettent la définition de DSLs en explicitant les relations entre un concept et ses représentations. En fonction de la sémantique du domaine, l’ingénieur du langage peut choisir entre des notations textuelles ou graphiques. Les langages de modélisation graphique nécessitent une gestion de la position, la taille et la disposition des éléments visuels afin de maximiser leur expressivité visuelle. La plupart des éditeurs de modélisation manquent de support automatique pour gérer ces propriétés de la syntaxe concrète. Les éditeurs projectionnels permettent aux utilisateurs de se concentrer sur la conception de leur modèle en limitant les modifications de la syntaxe concrète. Cependant, bien qu’ils offrent de multiples notations, ces éditeurs ne permettent pas la création de langage graphique. Dans ce mémoire, nous proposons une nouvelle approche pour concevoir des éditeurs graphiques et projectionnels. Nous avons créé une extension d’un éditeur projectionnel orienté vers le web, Gentleman, qui nous a permis d’extraire différentes exigences. Au cours du mémoire, nous décrivons leurs impacts sur les projections et proposons des lignes directrices ainsi que des exemples d’implémentation. Comme l’édition projectionnelle demande une gestion spécifique de l’interaction, nous présentons différentes approches pour interagir avec les représentations graphiques utilisant les nouvelles informations disponibles dans les projections. Étant donné que la plupart des exigences se concentrent sur la disposition des projections, nous avons défini plusieurs algorithmes simples de disposition qui couvrent une large gamme de structures pouvant être retrouvées dans un éditeur graphique. Enfin, afin d’évaluer cette approche, nous avons exploré la génération de trois éditeurs graphiques et projectionnels pour différents domaines: les machines d’états, les diagrammes de séquences et les partitions de musique.In model-driven engineering, domain specific-languages (DSL) provide tailored notations towards a specific problem domain to represent its different concepts. Multiple tools allow the definition of DSL by specifying the relations between a concept and its representations. Depending on the semantics of the domain, the language engineer can choose between textual or graphical notations. Graphical modeling languages require proper management of position, size, and layout to maximize their visual expressiveness. Most modeling editors lack automated support to manage these graphical concrete syntax properties. It is a time-consuming effort that affects the understandability of the model. Projectional editors prevent end-users from modifying the concrete syntax so they can focus on the modeling task. However, while they offer multiple notations, these editors lack support for graphical languages. During this thesis, we propose a new approach to design graphical and projectional editors. We created an extension of a web-oriented projectional editor, Gentleman, that allowed us to extract different requirements. During the thesis, we describe their impact on the projections and propose guidelines and examples of implementation. Because projectional editing requires specific management of the interaction, we present multiple approaches to interact with the graphical representations, using the new information available in the graphics. Since most of the requirements were focusing on the disposition of the projection, we define multiple simple layout algorithms that cover a large range of structures that can be found in a graphical editor. Finally, we explore the generation of three graphical and projectional editors for different domains: statecharts, sequence diagrams, and music sheet

    UCAnDoModels: A Context-based Model Editor for Editing and Debugging UML Class and State-Machine Diagrams

    Get PDF
    © ACM 2019 Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected] face cognitive challenges when using model editors to edit and debug UML models, which make them reluctant to adopt modelling. To assist practitioners in their modelling tasks, we have developed effective and easy-to-use tooling techniques and interfaces that address some of these challenges. The principle philosophy behind our tool is to employ cognitive-based techniques such as Focus+Context interfaces and increased automation of modelling tasks, in order to provide the users with valid, relevant and meaningful contextual information that are essential to fulfil a focus task (e.g., writing a transition expression). This paper presents our approach, which we call User-Centric and Artefact-Centric Development of Models (UCAnDoModels), and discusses two usecase scenarios to demonstrate how our tooling techniques can enhance the user experience with modelling tools.NSERC CREATE 465463-2015 NSERC Discovery Grant 155243-1

    Über die Pragmatik der Graphischen Modellierung

    Get PDF
    Graphical models help to understand complex systems. However, with the user interaction paradigms established today, activities such as creating, maintaining or browsing graphical models can be very tedious. This thesis presents an approach to enhance productivity by focusing on the pragmatics of model-based design. The contribution includes an interpretation of the notion of pragmatics, orthogonal to syntax and semantics in Model-Driven Engineering (MDE). A proposal on pragmatics-aware modeling is given, employing sophisticated automated layout algorithms to close the gap between MDE and graph drawing theory. Thus, a view management logic presents customized views on models. These concepts get illustrated with the open source Kiel Integrated Environment for Layout Eclipse Rich Client (KIELER) with multiple applications including editing and simulation and shows how view management helps to tame complexity

    A web application user interface specification language based on statecharts

    Get PDF
    The Internet today has a phenomenal reach---right into the homes of a vast audience worldwide. Some organisations (and individuals) see this medium as a good opportunity for extending the reach of their computer systems. One popular approach used for such endeavours is to run an application on a server, using web technology for displaying its user interface (UI) remotely. Developing such a web-based UI can be quite tedious---it is a concurrent, distributed program which has to run in a hostile environment. Furthermore, the platform on which it is implemented (the web) was not originally intended for such usage. A web framework is a collection of software components which provides its users with support for developing and executing web-based UIs. In part, web frameworks can be seen as being analogous to interpreters: given a specification of a UI using a specification technique dictated by the framework, server components of the framework can present the UI using web technology. Topics related to web frameworks are scarce in the academic literature, but abound in industry and open discussion forums. Similarly, the designers of web frameworks seldom found their work on existing theory in the literature. This study is an attempt to bridge this gap. It is focused on two aspects of web frameworks: the specification technique a framework mandates, and how such a specification can subsequently be used to present a UI via web technology. As part of this study, a survey was conducted of 80 open source web frameworks. Based on the survey, a partial overview of the domain of web frameworks is given, covering what is seen as being typically required of a web framework and covering specification techniques that are used by existing frameworks. Two taxonomies are proposed of the strategies web frameworks use for specifying two aspects of web UIs. Using the web as platform implies adherence to certain (intended) architectural constraints. Web framework designers often strain against these constraints. However, another point of view is to recognise that the success of the web platform is made possible precisely because of its intended architecture. (And the success of the web is surely the principal motivation for using it for remote UIs in the first place.) With the bias of this viewpoint, a specification technique is proposed for web-based UIs. This technique is based on the well-known formalism of statecharts, with semantics explicitly defined in terms of the intended architectural components and constraints of the web. The design of a web framework for presenting a UI so specified is also proposed (based on the theoretical background given, as well as two prototype implementations which have been developed).Dissertation (MSc)--University of Pretoria, 2007.Computer Scienceunrestricte

    Fujaba days 2009 : proceedings of the 7th international Fujaba days, Eindhoven University of Technology, the Netherlands, November 16-17, 2009

    Get PDF
    Fujaba is an Open Source UML CASE tool project started at the software engineering group of Paderborn University in 1997. In 2002 Fujaba has been redesigned and became the Fujaba Tool Suite with a plug-in architecture allowing developers to add functionality easily while retaining full control over their contributions. Multiple Application Domains Fujaba followed the model-driven development philosophy right from its beginning in 1997. At the early days, Fujaba had a special focus on code generation from UML diagrams resulting in a visual programming language with a special emphasis on object structure manipulating rules. Today, at least six rather independent tool versions are under development in Paderborn, Kassel, and Darmstadt for supporting (1) reengineering, (2) embedded real-time systems, (3) education, (4) specification of distributed control systems, (5) integration with the ECLIPSE platform, and (6) MOF-based integration of system (re-) engineering tools. International Community According to our knowledge, quite a number of research groups have also chosen Fujaba as a platform for UML and MDA related research activities. In addition, quite a number of Fujaba users send requests for more functionality and extensions. Therefore, the 7th International Fujaba Days aimed at bringing together Fujaba developers and Fujaba users from all over the world to present their ideas and projects and to discuss them with each other and with the Fujaba core development team

    Fujaba days 2009 : proceedings of the 7th international Fujaba days, Eindhoven University of Technology, the Netherlands, November 16-17, 2009

    Get PDF
    Fujaba is an Open Source UML CASE tool project started at the software engineering group of Paderborn University in 1997. In 2002 Fujaba has been redesigned and became the Fujaba Tool Suite with a plug-in architecture allowing developers to add functionality easily while retaining full control over their contributions. Multiple Application Domains Fujaba followed the model-driven development philosophy right from its beginning in 1997. At the early days, Fujaba had a special focus on code generation from UML diagrams resulting in a visual programming language with a special emphasis on object structure manipulating rules. Today, at least six rather independent tool versions are under development in Paderborn, Kassel, and Darmstadt for supporting (1) reengineering, (2) embedded real-time systems, (3) education, (4) specification of distributed control systems, (5) integration with the ECLIPSE platform, and (6) MOF-based integration of system (re-) engineering tools. International Community According to our knowledge, quite a number of research groups have also chosen Fujaba as a platform for UML and MDA related research activities. In addition, quite a number of Fujaba users send requests for more functionality and extensions. Therefore, the 7th International Fujaba Days aimed at bringing together Fujaba developers and Fujaba users from all over the world to present their ideas and projects and to discuss them with each other and with the Fujaba core development team

    Construção de interfaces homem-computador : o uso de estadogramas na especificação e implementação de controle de interface

    Get PDF
    Orientador: Hans K. E. LiesenbergDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da ComputaçãoResumo: Existem várias técnicas para especificação e implementação do controle de interfaces homem-computador, i.e., técnicas para descrição e implementação da sintaxe permitida das ações do usuário, das reações do computador e como o diálogo (entre homem e computador) evolui ao longo do tempo. As técnicas, contudo, ainda apresentam inconvenientes. Este trabalho concentra-se na representação e implementação desta sintaxe. Estadogramas (statechart, neologismo já usado em outros trabalhos) apresentam indícios de serem adequados para descreverem este comportamento. São diagramas que estendem os diagramas de transição de estados convencionais e eliminam inconvenientes dos últimos. O uso dos Estadogramas no desenvolvimento de uma interface real permitiu identificar mudanças que tornam estes diagramas mais apropriados para este emprego específico. O uso mostrou que Estadogramas precisam de recursos para tratamento da apresentação de uma interface e de outras adaptações sugeridas. A observação do código gerado por uma ferramenta, que implementa Estadogramas, ainda permitiu identificar elementos desejáveis quanto a estrutura do código a ser produzida.Abstract: A variety of techniques exists for the specification and the implementation of human-computer interface control, i.e., techniques to describe and implement the sintax of user's actions, of the reactions of a computer and of how the dialogue between a user and a computer evolves along a period of time. These techniques, however, present some drawbacks. This work concentrates on representation and implementation of a dialogue sintax based on the statechart notation. A statechart seems suitable to describe this kind of behaviour. It extends state transition diagrams and overcomes some of the shortcomings of the later. The use of the statechart notation in the development of a realistic interface led to improvements wich have been made ill order to apply it specifically in this context. This use showed the need of some kind of supprted at the presentation level and some of changes of notation. The observation of the code generated by an already existing tool to implement statechart behaviour give us some insights as well about desired elements in relation to the structure of the generated code.MestradoMestre em Ciência da Computaçã

    Model-based operator guidance in interactive, semi-automated production processes

    Get PDF
    This contribution focuses on the task of guiding and supervision of technical processes realized by human operators. The review of publications of the last decades discloses that especially technical processes with strong interconnection of human operator and manufacturing process are not adequately addressed by the evolved automation approaches. Integrating human process knowledge and experience into the resulting automation system is still a major concern. Besides the introduction of automation in a handcrafting process that is increasing the overall system complexity, the design of the human-machine interface to the automation system is of central importance. Within this thesis, the trade-off between manual manufacturing and automation is addressed by a semi-automation approach. The application example is the no-bake molding process, a mold manufacturing process for casts that is traditionally handmade. Within this process the human operator plays a central role (i.e. knowledge and expertise), whereas the (intelligent) automation is carrying out physical operation, which is guided and supervised by the human operator. This is achieved by experimentally identified quality representing process variables that allow for in-process feedback to the human operator. Process guiding assistance is given using a formalization approach of the human-automation-interaction. By deducing situative information of interest from the resulting human-automation-system model with respect to the current process goal, the established process model is used for supervision and assistance of the overall process. The design of the human-machine-interface is based on a detailed analysis of the handcrafted process and is realized as a direct, intuitively usable, marker-based interaction technique. The integrated human-automation-system and the corresponding human-machine-interface with process guidance assistance functionality is initially evaluated. The results are discussed for the future work with respect to the individual, human operator-specific process understanding and process reproducibility.Diese Arbeit befasst sich mit Fachkraftaufgaben in der Führung und Überwachung von technischen Prozessen. Die Übersicht der Publikationen der letzten Jahrzehnte eröffnet, dass insbesondere technische Prozesse mit enger Verknüpfung von Mensch und Herstellungsprozess bei den entwickelten Automatisierungsansätzen nicht hinreichend berücksichtigt werden. Die Integration von Prozesswissen und -erfahrung in das resultierende Automatisierungssystem bleibt eine offene Fragestellung. Neben der Einführung von Automation in Handarbeitsprozesse, die die Komplexität des Gesamtsystems erhöhen, ist die Gestaltung der Mensch-Maschine-Schnittstelle zum Automatisierungssystem von zentraler Bedeutung. Der Konflikt zwischen Handarbeit und Automatisierung wird in dieser Arbeit durch die Einführung einer Teilautomatisierung gelöst. Das Anwendungsbeispiel ist das Kaltharzverfahren, ein traditionell in Handarbeit bewältigter Herstellungsprozess für Gussformen. In diesem Prozess spielt die Fachkraft eine zentrale Rolle (z. B. durch ihr Prozesswissen und ihre Expertise), während die (intelligente) Automatisierung –geführt und überwacht durch die Fachkraft– anfallende physische Aktionen ausführt. Dies wird durch experimentell ermit- telte qualitäts-beschreibende Prozessgrößen erreicht, die eine in-prozess Rückführung zum Bedienpersonal ermöglichen. Prozessführungsassistenz ist basierend auf die Formalisierung der Mensch-Automation-Interaktion gegeben. Durch die Bestimmung von situativen Informationen hoher Wichtigkeit aus dem resultierenden Mensch-Automation-System Modell bezogen auf das aktuelle Prozessziel, wird das bestehende Prozessmodell zur Überwachung und Prozessführungsassistenz des Gesamtprozesses genutzt. Die Gestaltung der Mensch-Maschine-Schnittstelle basiert auf einer detaillierten Analyse des Handarbeitsprozesses und ist als direkte, intuitiv bedienbare, markerbasierte Interaktionstechnik realisiert. Das integrierte Mensch-Automation-System sowie die zugehörige Mensch-Maschine-Schnittstelle inklusive Prozessführungsassistenzfunktionen wurden initial evaluiert. Die erzielten Ergebnisse werden hinsichtlich des individuellen, fachkraftabhängigen Prozesswissens und der Reproduzierbarkeit für den Ausblick diskutiert
    corecore