Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Andreas Svendsen is active.

Publication


Featured researches published by Andreas Svendsen.


model driven engineering languages and systems | 2008

The Future of Train Signaling

Andreas Svendsen; Gøran K. Olsen; Jan Endresen; Thomas Moen; Erik Carlson; Kjell-Joar Alme; Øystein Haugen

Producing the source code for a railway interlocking system based on the description of a station has traditionally been a multistage manual process. We show how this process can be automated and made less error-prone by introducing model-driven development (MDD). This paper addresses the experience of developing a Domain Specific Language (DSL) to describe railway stations, Train Control Language (TCL), and tools to support this language. In the railroad domain where there are extreme safety requirements, it is essential to show that consistency and completeness can be assured. We address how the model is used to generate several different representations for different purposes. We look at advantages and challenges with our approach, and we discuss improvements to existing technologies to support our case better.


software product lines | 2010

Developing a software product line for train control: a case study of CVL

Andreas Svendsen; Xiaorui Zhang; Roy Lind-Tviberg; Franck Fleurey; Øystein Haugen; Birger Møller-Pedersen; Gøran K. Olsen

This paper presents a case study of creating a software product line for the train signaling domain. The Train Control Language (TCL) is a DSL which automates the production of source code for computers controlling train stations. By applying the Common Variability Language (CVL), which is a separate and generic language to define variability on base models, we form a software product line of stations. We discuss the process and experience of using CVL to automate the production of three real train stations. A brief discussion about the verification needed for the generated products is also included.


SDL'11 Proceedings of the 15th international conference on Integrating System and Software Modeling | 2011

Standardizing variability --- challenges and solutions

Franck Fleurey; Øystein Haugen; Birger Møller-Pedersen; Andreas Svendsen; Xiaorui Zhang

Any modeling language can be said to model variability, but our concern is how variability can be expressed generically and thus be standardized on its own and not as an add-on or profile to other languages. In product line engineering feature modeling has been applied to express variants of product models. This paper shows how the Common Variability Language can be designed to enhance feature modeling and automate the production of product models from a product line model.


WIT Transactions on the Built Environment | 2010

Formalizing Train Control Language: Automating Analysis of Train Stations

Andreas Svendsen; B. Møller-Pedersen; Øystein Haugen; Jan Endresen; Erik Carlson

The Train Control Language (TCL) is a domain-specific language that allows automation of the production of interlocking source code. From a graphical editor a model of a train station is created. This model can then be transformed to other representations, e.g. an interlocking table and functional blocks, keeping the representations internally consistent. Formal methods are mathematical techniques for precisely expressing a system, contributing to the reliability and robustness of the system through analysis. Traditionally, applying formal methods involves a high cost. This paper presents a formalization of TCL, including its behavior expressed in the constraint solving language Alloy. We show how analysis of station models can be performed automatically. Analysis, such as simulation of a station, searching for dangerous train movements and deadlocks, is used to illustrate the approach.


WIT Transactions on the Built Environment | 2008

Train Control Language – Teaching Computers Interlocking

Jan Endresen; Erik Carlson; Thomas Moen; Kjell-Joar Alme; Øystein Haugen; Gøran K. Olsen; Andreas Svendsen

This paper describes how computer specialists are rarely trained in the world of tracks and trains, while signaling experts are rarely computer specialists. This paper is about bridging the gap between trains and computers with a specially designed language that enables the signaling experts to create consistent train interlocking systems. The language is supported by tailored tools created with open source technology on the development platform Eclipse. From the formal definition of the language in the form of a metamodel, a graphical editor is generated. The systems created with that graphic editor are then transformed for several purposes that are internally consistent. The editor makes sure that the systems conform to the language, and the language makes sure that the systems conform to the way interlockings are designed. The transformations then produce interlocking tables and even actual code automatically from the graphically created model.


model driven engineering languages and systems | 2011

Towards evolution of generic variability models

Andreas Svendsen; Xiaorui Zhang; Øystein Haugen; Birger Møller-Pedersen

We present an approach for evolving separate variability models when the associated base model is altered. The Common Variability Language (CVL) is a generic language for modeling variability in base models. The base models are oblivious to the associated variability models, causing additional challenges to this association when the base models are maintained. Assuming that a base model has been changed, we suggest using CVL to record this change. Further analysis of this CVL model reveals the impact of the change, an may in some cases result in automatic evolution of the variability model corresponding to the changed base model. We illustrate and discuss the approach using an example from the train domain.


model driven engineering languages and systems | 2011

Specifying a testing oracle for train stations --- going beyond with product line technology

Andreas Svendsen; Øystein Haugen; Birger Møller-Pedersen

This paper presents an approach for automatically generating a testing oracle for train stations. Based on a model of a train station and a formal definition of the behavior of the station, Alloy is used to generate all positive traces from a given situation. By specifying the precondition (test input), a simulation of the station model gives all legal train movement from this state, which defines the testing oracle. This oracle can be used for checking the result of testing the implementation of the station by comparing the train movement from the test with the legal train movement specified by the oracle. We suggest a prototype implementation based on the Train Control Language and give an example oracle for a typical test-case. Furthermore, we elaborate on the benefits of using product line technology, given by the Common Variability Language, to reduce the analysis effort necessary to obtain the oracle for product models.


european conference on modelling foundations and applications | 2011

Analyzing variability: capturing semantic Ripple effects

Andreas Svendsen; Øystein Haugen; Birger Møller-Pedersen

This paper shows how to incrementally analyze how variability described in the Common Variability Language (CVL) affects the semantics of a model in a domain-specific language (DSL). CVL is a generic language for modeling variability. Using Alloy for definition of semantics we perform analysis to capture the elements in the model, which are semantically affected by applying the variabilities specified by the CVL model. An extension to the CVL editor is provided to automate the analysis. To illustrate the approach, we combine CVL with the Train Control Language (TCL) to capture how the semantics of TCL models are affected when applying CVL to them. We show how the analysis can be applied e.g., for testing.


asia-pacific software engineering conference | 2011

Using Variability Models to Reduce Verification Effort of Train Station Models

Andreas Svendsen; Øystein Haugen; Birger Møller-Pedersen

We show how the effort needed to verify a transformed base model can be reduced by analyzing the definition of the modification. The Common Variability Language (CVL) is a generic language for modeling variability, where a CVL model describes the increment from one base model to another (transformed) base model. Assuming that a property of the base model has been verified, we use the CVL model to reduce the effort needed to verify the property of the transformed model. Based on the CVL model, we narrow down the set of traces required to be verified, including the increment and the cascading effects. We apply CVL to several models of the Train Control Language (TCL) to illustrate how the effort of verifying safety properties of transformed train station models can be reduced.


SDL'11 Proceedings of the 15th international conference on Integrating System and Software Modeling | 2011

Synthesizing software models: generating train station models automatically

Andreas Svendsen; Øystein Haugen; Birger Møller-Pedersen

This paper presents an approach for automatic synthesis of software models. Software models are increasingly being used for representing software applications at a high abstraction level, and source code can usually be generated from these models. Creating application models can be a tedious task, and thus the presented approach automates this task. Based on a formal definition of the domain-specific language (DSL) and user-defined properties, we generate intended application models. These models can then be subject to further manual extensions or used as is. The approach is illustrated by a DSL from the train domain, and the automatic synthesis of train station models.

Collaboration


Dive into the Andreas Svendsen's collaboration.

Researchain Logo
Decentralizing Knowledge