Generating Protocol Software from CPN Models Annotated with Pragmatics

Kent Inge Simonsen, Lars M. Kristensen, Ekkart Kindler

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Abstract

Model-driven software engineering (MDSE) provides a foundation for automatically generating software based on models that focus on the problem domain while abstracting from the details of underlying implementation platforms. Coloured Petri Nets (CPNs) have been widely used to formally model and verify protocol software, but limited work exists on using CPN models of protocols as a basis for automated code generation. The contribution of this paper is a method for generating protocol software from a class of CPN models annotated with code generation pragmatics. Our code generation method consists of three main steps: automatically adding so-called derived pragmatics to the CPN model, computing an abstract template tree, which associates pragmatics with code templates, and applying the templates to generate code which can then be compiled. We illustrate our method using a unidirectional data framing protocol.
Original languageEnglish
Title of host publicationFormal Methods: Foundations and Applications : 16th Brazilian Symposium, SBMF 2013, Brasilia, Brazil, September 29 - October 4, 2013, Proceedings
PublisherSpringer
Publication date2013
Pages227-242
ISBN (Print)978-3-642-41070-3
ISBN (Electronic)978-3-642-41071-0
DOIs
Publication statusPublished - 2013
Event16th Brazilian Symposium on Formal Methods (SBMF 2013) - Brasilia, Brazil
Duration: 29 Sept 20134 Oct 2013
http://cbsoft2013.unb.br/en/sbmf-en

Conference

Conference16th Brazilian Symposium on Formal Methods (SBMF 2013)
Country/TerritoryBrazil
CityBrasilia
Period29/09/201304/10/2013
Internet address
SeriesLecture Notes in Computer Science
Volume8195
ISSN0302-9743

Fingerprint

Dive into the research topics of 'Generating Protocol Software from CPN Models Annotated with Pragmatics'. Together they form a unique fingerprint.

Cite this