32 research outputs found

    Performance Prediction Upon Toolchain Migration in Model-Based Software

    Get PDF
    Changing the development environment can have severe impacts on the system behavior such as the execution-time performance. Since it can be costly to migrate a software application, engineers would like to predict the performance parameters of the application under the new environment with as little effort as possible. In this work, we concentrate on model-driven development and provide a methodology to estimate the execution-time performance of application models under different toolchains. Our approach has low cost compared to the migration effort of an entire application. As part of the approach, we provide methods for characterizing model-driven applications, an algorithm for generating application-specific microbenchmarks, and results on using different methods for estimating the performance. In the work, we focus on SCADE as the development toolchain and use a Cruise Control and a Water Level application as case studies to confirm the technical feasibility and viability of our technique

    Assessing the Quality of Tabular State Machines through Metrics

    Full text link

    SCCharts: Language and Interactive Incremental Compilation

    Get PDF
    Safety-critical systems are a subclass of reactive systems, a dominating class of computer systems these days. Such systems control the airbags in our cars, the flaps of an aircraft, nuclear power plants or pace makers. Software for these systems must be reliable. Hence, a language and tooling is needed that allows to build and maintain reliable software models. Furthermore, a reliable compiler is required to obtain decent machine-understandable and executable code from highly abstract models. This thesis presents SCCharts, a Statecharts-based synchronous and visual modeling language for specifying and designing safety-critical systems and for deriving their implementations. It elaborates on why a control-flow oriented and synchronous language is desirable and how incremental language features are chosen to flatten learning curve. It presents an interactive incremental model transformation based compilation approach termed SLIC. It shows how SLIC helps in supporting both, the modeler and the tool smith for building reliable models and maintaining a reliable compiler, respectively. A SLIC-based compiler for SCCharts including its high-level model transformations is presented. Furthermore, practicality aspects of the KIELER SCCharts language and tooling implementation complete the considerations to validate the proposed approach.Sicherheitskritische Systeme sind eine Unterklasse von reaktiven Systemen, welche heutzutage eine der wichtigsten und grĂ¶ĂŸten Klasse von Computersystemen darstellt. Solche Systeme kontrollieren die Airbags unserer Autos, die Landeklappen eines Passagierflugzeugs, Kernkraftwerke oder Herzschrittmacher. Software fĂŒr solche Systeme muß absolut zuverlĂ€ssig sein. Daher werden Computersprachen und Werkzeuge benötigt, die es erlauben, zuverlĂ€ssige Softwaremodelle zu erstellen und zu warten. Weiterhin braucht es zuverlĂ€ssige Kompiler, die aus solchen abstrakten Modellen korrekten maschinenlesbaren und ausfĂŒhrbaren Code erzeugen. Mit SCCharts prĂ€sentiert diese Arbeit eine zustandsmaschinenbasierte und synchrone Modellierungssprache fĂŒr den Entwurf und zur Implementierung sicherheitskritischer Systeme. Es wird betrachtet, warum sich dafĂŒr eine kontrollflußorientierte und synchrone Sprache besonders gut eignet und welche Wahl inkrementeller Sprachbestandteile die Lernkurve senken können. Die Arbeit zeigt, wie ein als SLIC bezeichneter, interaktiver, inkrementeller und auf Modelltransformationen basierender Kompilierungsansatz sowohl dem Modellierer dabei helfen kann, zuverlĂ€ssige Modelle zu erstellen, als auch den Werkzeugentwickler darin unterstĂŒtzt, einen zuverlĂ€ssigen Kompiler bereit zu stellen. Es wird ein auf SLIC basierender SCCharts Kompiler inklusive seiner high-level Modelltransformationen vorgestellt. Weiterhin wird der vorgestellte Ansatz mit Hilfe der beispielhaft umgesetzten KIELER SCCharts Sprach- und Werkzeugimplementierung auf seine PraktikabilitĂ€t hin ĂŒberprĂŒft

    Reactive probabilistic programming

    Get PDF
    International audienceSynchronous modeling is at the heart of programming languages like Lustre, Esterel, or SCADE used routinely for implementing safety critical control software, e.g., fly-bywire and engine control in planes. However, to date these languages have had limited modern support for modeling uncertainty-probabilistic aspects of the software's environment or behavior-even though modeling uncertainty is a primary activity when designing a control system. In this paper we present ProbZelus the first synchronous probabilistic programming language. ProbZelus conservatively provides the facilities of a synchronous language to write control software, with probabilistic constructs to model uncertainties and perform inference-in-the-loop. We present the design and implementation of the language. We propose a measure-theoretic semantics of probabilistic stream functions and a simple type discipline to separate deterministic and probabilistic expressions. We demonstrate a semantics-preserving compilation into a first-order functional language that lends itself to a simple presentation of inference algorithms for streaming models. We also redesign the delayed sampling inference algorithm to provide efficient streaming inference. Together with an evaluation on several reactive applications, our results demonstrate that ProbZelus enables the design of reactive probabilistic applications and efficient, bounded memory inference

    Mutation Testing Advances: An Analysis and Survey

    Get PDF

    Actes des SixiÚmes journées nationales du Groupement De Recherche CNRS du Génie de la Programmation et du Logiciel

    Get PDF
    National audienceCe document contient les actes des SixiÚmes journées nationales du Groupement De Recherche CNRS du Génie de la Programmation et du Logiciel (GDR GPL) s'étant déroulées au CNAM à Paris du 11 au 13 juin 2014. Les contributions présentées dans ce document ont été sélectionnées par les différents groupes de travail du GDR. Il s'agit de résumés, de nouvelles versions, de posters et de démonstrations qui correspondent à des travaux qui ont déjà été validés par les comités de programmes d'autres conférences et revues et dont les droits appartiennent exclusivement à leurs auteurs

    A mutational analysis of the roles of cytoplasmic domains of the gonadotropin-releasing hormone receptor in coupling and internalization

    Get PDF
    The G protein-coupled receptor (GPCR) family is the largest group of homologous proteins in the human genome. GPCRs are of prime physiological and medical importance as the actions of a wide range of hormones and drugs are mediated by these receptors. The gonadotropin-releasing hormone (GnRH) receptor is a member of the GPCR family, and plays a central role in the reproductive system. GnRH analogues are used therapeutically in a number of human disorders. All GPCRs contain 7 largely α-helical transmembrane domains. An arginine residue located at the cytosolic boundary of the third transmembrane domain is conserved in all members of the rhodopsin-like subfamily of GPCRs, and is nearly always preceded by an acidic residue (DR motif). This arginine has been proposed to play a critical role in receptor activation. In this thesis, the effects of mutating these residues (AspÂč³⁞ and ArgÂčÂłâč respectively, in the mouse GnRH receptor) to neutral amide residues, on coupling of the mouse GnRH receptor, were examined. In addition, the relationship of coupling to internalization in these mutant receptors was explored

    Interaction and Interdependency of Software Engineering Methods and Visual Programming

    Get PDF
    Visual Programming Languages and Visual Programming Tools incorporate non-procedural coding mechanisms that may duplicate, or perhaps even conflict with, the analysis and design mechanisms promulgated by the mainstream Software Engineering methodologies. By better understanding such duplication and conflict, software engineers can take proactive measures to accommodate and, ideally, eliminate them. Better still, there may be opportunities for synergy that can be exploited if one is looking for them. This research explored, documented and classified the interactions and interdependencies, both positive (synergies) and negative (conflicts), between two closely related and rapidly evolving Computer Science subdisciplines: software engineering and visual programming. A literature search was conducted to surface, evaluate, and build upon (where appropriate) recent and ongoing research in this area. A mechanism was created to capture observations of conflicts and synergies. This capture mechanism was applied to an experimentation test bed that was established to provide concrete examples of gaps, overlaps, conflicts, and synergies. In this regard, two relatively simple applications, one data-base oriented and one algorithm oriented, were designed and implemented using multiple software engineering methods and multiple visual tools/languages. A software prototype, which bridges one of the gaps discovered during the research, was built to underscore the importance of eventually merging Computer Aided Software Engineering and visual development tools. The overall results as well as anticipated trends and developments in the area of software engineering and visual programming were summarized. The synergy/conflict observations, in conjunction with the literature search results, were used to develop strategies and guidelines for successfully using visual programming languages and tools in concert with sound software engineering methods
    corecore