Leonardo Montecchi

Associate Professor at NTNU / IDI
Information Systems and Software Engineering (ISSE)


Coding Conventions Specification Language Open Source

Coding Conventions Speciication Language

The Coding Conventions Specification Language (CCSL) is a domain-specific language for the specification of coding conventions. It is used to specify coding rules (like those from SEI CERT) in a structured, machine-readable, way.

The tool includes code generators that are able to automatically derive checkers to verify the specified rules on Java code. The particularity of this tool is that, given any valid CCSL specification, checkers can be automatically generated and updated, without the need to specify complex queries on the Abstract Syntax Tree of the programming language.

The approach has been first introduced in this paper. Based on the CCSL language and infrastructure, an approach to perform fault injection in Java source code has also been proposed.

TMDL Framework / TAME Open Source

TMDL Framework

The TemplAte Modeling Framework (TAME) implements the TMDL Framework, a tool to simplify the specification and composition of complex performability models.

The approach is based on the concept of model templates, which are essentially a parameterized abstracted version of a model in a specific formalism. The interfaces and composition rules are specified using the Template Models Description Language (TMDL). From a template, concrete instances can be automatically derived by specifying values for its parameters.

The idea has been introduced and formalized in this paper. The tool is being developed as a set of plugins for the Eclipse platform.

CHESS State-Based Analysis (CHESS-SBA) Open Source

CHESS State-Based Analysis (CHESS-SBA)

The CHESS "State-Based Analysis" plugin is part of PolarSys CHESS, an open source methodology and tool for the development of high-integrity embedded systems. The CHESS methodology was devised and implemented initially in the CHESS project, later extended in the CONCERTO project, and then further developed within other projects.

This plugin performs quantitative dependability analysis using a variant of the Stochastic Petri Nets formalism, starting from models specified in the CHESS ML language. The plugin is able to automatically compute system-level dependability metrics, based on dependability properties of individual components, and a description of the system, software, and/or hardware architecture.

The whole CHESS Framework is released as open source and it is now an Eclipse project under the PolarSys Working Group. Our plugin, CHESS-SBA, is also available on GitHub, jointly with an extensive wiki documenting how to use it.

CHESS Statistical Trace Analyzer Open Source

CHESS Statistical Trace Analyzer

This software is used to analyze the statistical properties of run-time execution traces of different variables related to an execution platform. Its application domain is real-time safety-critical systems. It is used to analyze key variables like release jitter, execution time, etc., and devise probabilistic upper bounds, which are guaranteed to be respected with a given given coverage.

This tool has been developed within the CONCERTO project and it is released as open source. A precompiled binary is also available here, packaged as a runnable jar.

© 2017-2022 Leonardo Montecchi