Modelling the Railway Control Domain rigorously with a UML 2.0 Profile



Similar documents
Compliance and Requirement Traceability for SysML v.1.0a

i. Node Y Represented by a block or part. SysML::Block,

Mapping between Levels in the Metamodel Architecture

UML PROFILING AND DSL

Towards a Common Metamodel for the Development of Web Applications

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

1. Visual Paradigm for UML

Model-Driven Development: A Metamodeling Foundation

(Refer Slide Time: 01:52)

A UML 2 Profile for Business Process Modelling *

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Intoduction to SysML

Scenario-driven Testing of Security-related Domain-specific Language Models

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

FHIM Model Content Overview

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Towards an automated testing framework to manage variability using the UML Testing Profile

Development of Tool Extensions with MOFLON

A When and How to Use Multi-Level Modelling

Model-Driven Development - From Frontend to Code

An MDA Approach for the Development of Web applications

Software Engineering. System Modeling

MDA Transformations Applied to Web Application Development 1

CHAPTER 2 LITERATURE SURVEY

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

What is a metamodel: the OMG s metamodeling infrastructure

Foundations of Model-Driven Software Engineering

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

7. Classification. Business value. Structuring (repetition) Automation. Classification (after Leymann/Roller) Automation.

A Classification of Model Checking-based Verification Approaches for Software Models

MDA Support for Military Medical Crisis Information Systems (MMCIS)

Rules and Business Rules

today 1,700 special programming languages used to communicate in over 700 application areas.

A terminology model approach for defining and managing statistical metadata

Introducing Formal Methods. Software Engineering and Formal Methods

Sofware Requirements Engineeing

Core Components Data Type Catalogue Version October 2011

Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)

Int. J. Business Process Integration and Management, Vol. 2, No. 2,

Course Name: Course in JSP Course Code: P5

Business Process Modelling Languages, Goals and Variabilities

Modeling the User Interface of Web Applications with UML

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

Generating Enterprise Applications from Models

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations

Generating Web Applications from Process Models

Definition and Generation of Data Exchange Formats in AUTOSAR

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

Representing XML Schema in UML A Comparison of Approaches

MDA and Analysis of Web Applications

How To Write A Train Control System

Modeling Radio-Frequency Front-Ends Using SysML: A Case Study of a UMTS Transceiver

System Behaviour Analysis with UML and Ptolemy. Scope and goals

Systematic Management of Variability in UML-based Software Product Lines

Process Modeling Notations and Workflow Patterns

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

Design by Contract beyond class modelling

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Business Process Modeling and Standardization

Preserving Architectural Choices throughout the Component-based Software Development Process

Specification and Analysis of Contracts Lecture 1 Introduction

On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling

Teaching Object-Oriented Concepts with Eclipse

Ontologies for Software Engineering and Software Technology

System Modeling / Class Diagra Diagr m a Week 6

Modelling with Papyrus: Domain-Specific Modelling Languages using UML Profiles

Model Transformations from Requirements to Web System Design

Kirsten Sinclair SyntheSys Systems Engineers

Chapter 7. UML-BASED WEB ENGINEERING An Approach Based on Standards 7.1 OVERVIEW

Chapter 10. Practical Database Design Methodology. The Role of Information Systems in Organizations. Practical Database Design Methodology

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

Production Rule Representation

On translating UML models into graph transformation systems $

Information Management Metamodel

An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications

Transcription:

Modelling the Railway Control Domain rigorously with a UML 2.0 Profile Kirsten Berkenkötter Ulrich Hannemann Germany kirsten,ulrichh@informatik.uni-bremen.de

Outline Outline 1. Context 2. Railway Control Systems Domain 3. Domain-specific Languages and UML 4. RCSD Profile 5. Behaviour 6. Validation and further development steps 7. Conclusion

Context Model based development of railway control systems Develop Platform - Independent Model (PIM) of the Railway Control Domain as UML 2.0 Profile Transform UML model into a behavioral model: Timed State Transition Systems and SystemC Generation of code out of SystemC model Validation, verification and test

Domain-specific Languages and UML Domain-specific Languages and UML UML: + Wide-spectrum approach with semantic variation points + Various tool support + Well-known by software developers Domain-specific languages: + Domain-specific + Own tool support necessary + Well-known by domain experts

Domain-specific Languages and UML Domain-specific Languages and UML Profiles combine both approaches: + Railway domain notation can be used by domain experts + UML notation can be used by software experts + Syntax strictly defined by OCL constraints + Semantics defined by transformation to Timed State Transition System

Domain-specific Languages and UML Capabilities Capabilities of profiles: + Introduce new syntax + Introduce new constraints + Introduce new semantics + Introduce further information, e.g. transformation rules + Define new primitives and/or enumerations

Domain-specific Languages and UML UML Metalevels MOF 2.0 UML 2.0 RCSD Profile UML 2.0 Model Class Level RCSD Model Class Level UML 2.0 Model Object Level RCSD Model Object Level

Railway Control Systems Domain Domain Example G20.0 S20 G23.1 G20.1 W102 G23.0 W119 G20.2 G20.3 G22.9 G24.3 ROUTE4: S22 G23.1 ROUTE 2 S21 G23.1 W100 G24.2 S22 G24.1 G24.0 TRAM MAINTENANCE SITE ROUTE 0: S20 G21.1 ROUTE 1: S20 G25.1 G29.9 G30.0 G22.9 G25.0 G25.1 G30.1 W101 ROUTE 5: S22 G21.1 ROUTE 3: S21 G25.1 G20.9 G20.8 W103 G21.0 G22.2 W118 G22.1 G22.3 G21.1 G22.0 S21

Railway Control Systems Domain Elements Track Elements Sensors Signals Automatic Train Runnings Route Definitions

Railway Control Systems Domain Railway Control Systems Domain Track Elements + Form a track network + Maximal number of trains + Optional fixed speed limit + Segments + Crossings + Points

Railway Control Systems Domain Railway Control Systems Domain Segments end1 + Two ends end2 + Can be sinks or sources of track networks

Railway Control Systems Domain Railway Control Systems Domain Points + Single points + Single slip points and double slip points + One train maximal at each point in time end2 end3 end1 end3 end1 end3 end1 end4 end2 end4 end2

Railway Control Systems Domain Railway Control Systems Domain Sensors + Determine locations of trains + Connect track elements to a network + Each sensor is exit sensor of one track element and exit sensor of the next one + Sensors are locations of all signals and automatic train runnings

Railway Control Systems Domain Railway Control Systems Domain Signals + Signal GO and STOP + Signal speed limits (optionally) + Signal directions LEFT, RIGHT, STRAIGHT (optionally)

Railway Control Systems Domain Railway Control Systems Domain Routes + Routes are series of sensors + Specific point positions are required + Each route has a start signal + Conflicting routes are known

The RCSD Profile The RCSD Profile How to cook a profile + Each stereotype extends a class in the UML metamodel + Associations can be subsetted but not added + Attributes can be added + Constraints can be added + Semantics can be added + Notation can be added

The RCSD Profile The RCSD Profile Primitives and Literals Track Network Elements Associations Instances Route Definitions

The RCSD Profile The RCSD Profile Primitives and Literals + Identification numbers for sensors, signals, points... + Points in time + Intervals + Literals for each primitive type <<primitive>> TimeInstant <<primitive>> Duration <<primitive>> RouteId <<primitive>> AutoRunId <<primitive>> SignalId <<primitive>> PointId <<primitive>> SensorId

The RCSD Profile The RCSD Profile Track Network Elements + Segments + Crossing + Single and slip points + Sensors + Signals + Automatic train runnings

The RCSD Profile The RCSD Profile <<metaclass>> Class 0..1 TrackElement 0..1 Sensor Segment Crossing Point SinglePoint SlipPoint 0..1 Signal 0..1 AutomaticRunning

The RCSD Profile The RCSD Profile Signal stereotype: + Signal is an extension of Class + Associations are not restricted + No new attribute + Constraints are used to specify properties and their types, e.g. id with type SignalID + Semantics are not added + No new notation

The RCSD Profile The RCSD Profile Track Network Elements Typical constraints: + ownedattribute->one(a a.name->includes( signalid ) and a.type.name->includes( SignalId ) and a.upperbound() = 1 and a.lowerbound() = 1 and a.isreadonly = true) + ownedattribute->one(a a.name->includes( sensor ) and a.upperbound() = 1 and a.lowerbound() = 1 and a.outgoingassociation. oclistypeof(signalassociation))

The RCSD Profile The RCSD Profile Associations + SensorAssociations between sensors and track elements + SignalAssociations between sensors and signals + AutoRunAssociations between automatic train runnings and sensors

The RCSD Profile The RCSD Profile Associations <<metaclass>> 0..1 Association SignalAssociation 0..1 SensorAssociation 0..1 AutoRunAssociation

The RCSD Profile The RCSD Profile Instances + Segment, crossing, single point, and slip point instances + Sensor, signal, and automatic train running instances + Domain-specific notation for each instance, e.g. signals Sig1 S1 S2 Sig2

The RCSD Profile The RCSD Profile AutomaticRunningInstance SensorInstance 0..1 0..1 <<metaclass>> InstanceSpecification 0..1 0..1 SegmentInstance CrossingInstance 0..1 SinglePointInstance 0..1 SlipPointInstance 0..1 SignalInstance 0..1 0..1 SignalLink SensorLink 0..1 AutoRunLink

The RCSD Profile The RCSD Profile SignalInstance stereotype: + SignalInstance is an extension of InstanceSpecification + Associations are not restricted + No new attribute + Constraints are used to specify that SignalInstance is an instance of Signal + Semantics are given by transformation rules + Notation is added with respect to track layout diagrams

The RCSD Profile The RCSD Profile Instances Typical constraints: + slot->one(s1 s1.definingfeature.name->includes( signalid ) and s1.value->size()= 1 and s1.value->first().oclistypeof(literalsignalid))

The RCSD Profile The RCSD Profile Route Definitions + Sequence of sensor ids + Sequence of point positions (point id + position) + Sequence of signal settings (signal id + setting) + Sequence of route conflicts (route id + conflict kind)

The RCSD Profile The RCSD Profile <<metaclass>> Class 0..1 SignalSetting 0..1 PointPosition 0..1 RouteConflict 0..1 Route <<enumeration>> RouteConflictKind noallocation stopsignal <<metaclass>> InstanceSpecification 0..1 RouteInstance

Behaviour Timed State Transition Systems + Variables: Properties of all elements of rail network + Additional time variable: t + State: mapping variables to values + Transitions: instances of patterns for types of elements

Behaviour Transition Examples (w101.reqstate w101.actstate w101.reqt ime + w101.deltat t) w101.actstate = w101.reqstate (w101.reqstate w101.actstateandw101.reqt ime + w101.deltat > t) w101.actstate = F AILURE t = t + 1

Behaviour Controller Model Additional local variables Route dispatcher registers route requests Route controller control points and signals of resp. route Safety monitor checks actual state Safety conditions are instances of patterns for track elements Transitions of controller are also instances of patterns for routes and track elements

Validation and further development steps UML Specification Environment (USE) Validation results for the example: + Compliance of RCSD profile to UML implicitly shown (for this example) + Class diagram is compliant to RCSD profile + Object diagram is compliant to RCSD profile

Validation and further development steps Validation with USE Further results: + USE supports efficient error tracing for constraints + Quality of OCL constraints has been improved + Profile must be modeled once + Class and object diagrams can be translated to USE automatically

Validation and further development steps Verification of behavioural model Timed State Transition Systems represented in SystemC Safety conditions generated automatically Controller model generated in SystemC Bounded model checking of model against safety conditions SystemC model is already executable code

Conclusion Conclusion + Efficient modeling of RCSD models + Models can be described explicit enough for transformation and verification + Validation of static properties with USE + Compliance of UML and profile models can be shown + Automated generation of safety conditions + Automated generation of controller model