Search

Tool Chain

Tool Chain

Base Line Tools

Bottom-Up Technologies for Reuse (BUT4Reuse)

logo but4reuseAdopting Software Product Line (SPL) engineering principles demands a high up-front investment. BUT4Reuse is a tool-supported framework that leverages existing similar software products to automate relevant tasks for extractive SPL adoption (i.e., feature identification and location, mining feature constraints, extraction of reusable assets, feature model synthesis and visualisations to support domain experts). The envisioned users of this generic and extensible framework are SPL adopters as well as integrators of novel techniques and algorithms. BUT4Reuse tool is built on Eclipse and several validation studies were already conducted.

Video Tutorial

Tutorial Slides


Eclipse Capra

Eclipse CapraEclipse Capra is an open source traceability management tool. It provides features for the creation, maintenance, and visualisation of traceability links between artifacts. Via a meta-model, the semantics of these traceability links can be customised. Out of the box, Capra supports models in UML, SysML, AADL, EAST-ADL, or AUTOSAR created in, e.g., Eclipse Papyrus, Eclipse EATOP, or ARTOP, feature models created in FeatureIDE, documents created in Microsoft Office or Google Docs, bug reports and tasks in JIRA, Bugzilla, and others, source code in Java, C, C++, Python, and others, as well as tests and builds in Hudson and Jenkins. Via a flexible API, Eclipse Capra can be easily extended to cover additional artifacts. Eclipse Capra detects inconsistencies in the traceability links and notifies the user. It offers several visualisation options, including traceability matrices as requested by standards like ISO 26262.

Video Tutorial

Tutorial Slides


EASy-Producer

EASy LogoEASy-Producer is a prototypical toolset for the development of Software Product Lines (SPL) and variant-rich software ecosystems. EASy stands for Engineering Adaptive Systems and describes the easy development, management, and combination of SPLs with this tool. For this purpose, EASy-Producer integrates efficient techniques for the reduction of complexity with support for the composition and partial instantiation of products. Based on these techniques, the tool supports state-of-the-art principles for large-scale and complex SPLs: multi-staged product configuration, multi-dimensional variability modeling, and Multi-Software Product Lines (MSPL). Essential properties of EASy-Producer are its Integrated Variability Modeling Language (IVML) for homogeneous variability modeling even in MSPL-scenarios, a Variability Instantiation Language (VIL) supporting heterogeneous implementation techniques. The DSL-based approaches are augmented with interactive support for configuration and instantiation that are more easily accessible to non-experts.


KernelHaven

KernelHavenLogoKernelHaven is an open infrastructure for Software Product Line (SPL) experiments. The infrastructure supports the rapid experimentation with different algorithms by means of a plug-in architecture. Each plug-in therefore realizes an individual extraction mechanism (like code block, asset-mapping, or variability model information) or an analysis (dead code, feature effects, etc.). This plug-in mechanism supports the exchange of components used for a specific experiment, e.g., to perform smaller experiments using a lightweight approach in the beginning and to switch to a more detailed experiment for final results. KernelHaven automatically takes care of the documentation and archiving of these experiments and ensures their reproducibility. Further, plug-in developers and researchers benefit from the infrastructure’s build-in capabilities: parallelization for performance improvements and caching of (intermediary) results for future analyses. As a starting point for future experiments, KernelHaven already provides some existing tools as plug-ins and, thus, makes these tools more easily accessible.


Jittac

Jittac is a tool for checking consistency between the intended software architecture and the implementation of a system.  It provides this functionality “just-in-time” which means that developers get instant feedback regarding potential violations of the architecture introduced by their code modifications. Jittac is realized as plugin for Eclipse. For further information, please contact This email address is being protected from spambots. You need JavaScript enabled to view it.

Video Tutorial

Tutorial Slides


MES Model Examiner® DRIVE (MXAM)

MXAMpMES Model Examiner® (MXAM) automates guideline compliance verification and correction of Simulink®, Embedded Coder®, TargetLink®, and ASCET models, as well as Excel tables. This is done using general and company-specific modeling guidelines and data rules, thus combining optimum safety and quality with one of an organization’s most indispensable commodities: the individual expertise of its developers.


MES Test Manager® (MTest)

MTestMES Test Manager® (MTest) helps customers maximize the level of automation in requirements-based testing of Simulink®, TargetLink®, and Embedded Coder® models. MTest automates all test activities for module and integration testing and supports all simulation types, from model-in-the-loop to processor-in-the-loop simulation. This saves the customer time and provides assurance that all tests have been rigorously performed both before and after code generation.


MES M-XRAY® (M-XRAY)

M XRAYMES M-XRAY® (M-XRAY) helps customers analyze models and assess the distribution of complexity within Simulink®, Stateflow®, and TargetLink® models. It supports structured refactoring of models by detecting clones, and evaluating the inner dependencies of subsystems. MES M-XRAY lets customers find complex, and hence error-prone model parts and keep model complexity low. MES M-XRAY is the first choice for complexity analysis of Simulink, Stateflow®, Embedded Coder®, and TargetLink® models, using proven methods for calculating model metrics.

Tutorial Slides


Modelio

logo modeliosoftModelio is a comprehensive MDE workbench tool supporting the UML, BPMN and ArchiMate standards. Modelio adds modern Eclipse-based ergonomics to the solid modeling and generation know-how obtained with the earlier Softeam MDE workbench, Objecteering, which has been on the market since 1991. Modelio provides a central repository for the global model, which allows various languages (UML profiles) to be combined in the same model, abstraction layers to be managed and traceability between different model elements to be established. Modelio proposes various extension modules, enabling the customization of this MDE environment for different purposes and stakeholders such as Business Architects, System Architects and Developers. On top of Modelio, the Constellation provides collaborative modelling capabilities with a flexible management of modelling projects, editors access rights, model fragments as well as modelling add-ons.


Requirements Quality Suite (RQS)

RQS logoThe Requirements Quality Suite (RQS) is a set of tools and techniques to plan, define, measure, check, manage and improve the quality of requirements documents. The RQS Suite include Requirements Quality Analyzer (RQA) to perform quality control, and customize RQS according to policies and checklist. This is also the tool for generating reports for V&V meetings. Requirements Authoring Tool (RAT) helps authors while they write their requirements. Writing assistance and quality in real time. With Knowledge Manager (KM) you manage the knowledge bases and patterns that are the core of the semantic analysis.

Video Tutorial

Tutorial Slides


FeatureDashboard

FeatureDashboard, an open-source tool to extract features and their locations in different artifacts, calculate useful metrics for the features, and visualize the results. FeatureDashboard was designed to support developers recording feature information early and continuously, while obtaining immediate benefits through the different views that help browsing feature locations and keeping an overview understanding of the project.

Video Tutorial


FeDeV

The Feature Dependency Visualization (FeDeV) tool is a visualization application for analysis results based on the TomSawyer Visualization framework. The tool covers tabular lists for all data elements, some tree structures and interactive graphs to inspect the analysis results. The main focus of the tool is the visualization of dependencies of features, feature annotations, and variation points. FeDeV is able to import, inspect and stepwise explore the analysis results.

Video Tutorial

Tutorial Slides


ComAnI – Commit Analysis Infrastructure

comani logoThe Commit Analysis Infrastructure (ComAnI) enables the extraction of commits and the information about their changes to individual artifacts from software repositories. The main feature of this infrastructure is its configurability, which enables three different extraction variants (all commits, user-defined subsets of commits, and via the command line) from different version control systems. Further, ComAnI is an open infrastructure such that additional, third-party commit extractors realized as ComAnI plug-ins support other version control systems or different ways of extraction.

Video Tutorial

Tutorial Slides


FLiMEA – Feature Location in Models

FLiMEA is a tool implemented as a generic and extensible plugin for feature location in models. FLiMEA capitalizes on experts’ domain knowledge to boost the feature location process and produces model fragments that properly capture the reusable assets of the domain. The input to FLiMEA is a collection of product models created with a DSL conforming to MOF, where FLiMEA searches features in the form of model fragments basing on a textual similarity between a textual query (feature description) and the model fragment. Implemented with interchangeable components, FLiMEA support different techniques to preprocess the natural language, extract model fragments, and evaluate the relevance of these model fragments, in order to provide a flexible setup that leverages the powerful experts’ knowledge under different industrial scenarios.

Video Tutorial

Tutorial Slides


Configuration Mining

The Configuration Mining tool was developed as an internal tool at Robert Bosch GmbH in the context of the REVAMP2 project. Configuration Mining analyzes the existing product configurations of a software product line and uses data mining algorithms to derive from them new feature constraints. For example, if in every configuration feature B was only configured when feature A was present, the tool proposes the A=>B implication as a new feature constraint. The derived constraints can be used to create a new feature model, or to update an existing one. The Configuration Mining tool is therefore useful to support feature modeling during a reengineering activity on an existing software product line. The Configuration Mining tool is internal and hence not available for download. The provided presentation describes in detail the algorithms realized in the tool.

Tutorial Slides

 


VEXA

 The Variability Extraction and Analysis (VEXA) toolkit is a collection of complementary procedures to help with many different tasks of variability extraction, feature analysis, visualization and the calculation of user-defined metrics. Implemented as a plug-in for the "world’s leading Graph Database" Neo4j , the VEXA toolkit leverages the powerful graph storage and processing capabilities of Neo4j to enable detailed dependency analyses of source code artifacts (e.g., #ifdef variability in C/C++ code) and reveal intricate feature connections across project artefacts along with graph visualization possibilities.
In this tutorial we are going to explore VEXA's capabilities to calculate "Feature Effects" for the lwIP (lightweight IP) project - a widely used open-source TCP/IP stack - and use it as our case study.

Video Tutorial

Tutorial Slides

Tool Combinations

KernelHaven and FeDeV

We use KernelHaven to reverse engineer feature dependencies (~ constraints) from an open source Software Product Line (SPL), more precisely Linux. The reverse engineered dependencies may either be exported to an Excel workbook or be visualized in FeDeV, developed by ScopeSET. Further, we can analyze whether the implemented dependencies are inline to the architecture.

Video Tutorial

Tutorial Slides


Vexa and FeDeV

The Variability Extraction and Analysis (VEXA) toolkit is a collection of complementary procedures to help with many different tasks of variability extraction, feature analysis, visualization and the calculation of user-defined metrics. Implemented as a plug-in for the "world’s leading Graph Database" Neo4j , the VEXA toolkit leverages the powerful graph storage and processing capabilities of Neo4j to enable detailed dependency analyses of source code artifacts (e.g., #ifdef variability in C/C++ code) and reveal intricate feature connections across project artefacts along with graph visualization possibilities.

Video Tutorial

Tutorial Slides

Case Description