an asn.1 profile anders ek motivation / scenarios profile basics a draft asn.1 profile example...

18
An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Upload: juan-daley

Post on 27-Mar-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

An ASN.1 Profile

Anders Ek

Motivation / ScenariosProfile Basics

A Draft ASN.1 ProfileExampleSummary

Page 2: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Motivation: Usage Scenarios

• Access to ASN.1 module from UML models

• Visualization of ASN.1 Modules

• Design of ASN.1 Modules

Page 3: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Accessing ASN.1 Modules

• Precond:– ASN.1 module exist– Application design using UML– Need to use type definitions

• Actions:– Import the ASN.1 module into UML as a

package– Access the ASN.1 types from the UML code

Page 4: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Visualization of ASN.1 Module

• Precond– Complex ASN.1 modules exists– Need to understand the modules

• Actions– Import ASN.1 modules into UML– Use UML graphics (mainly composition

hierarchies in class diagrams) to explain & understand the module.

Page 5: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Design of ASN.1 Modules

• Precond:– No existing ASN.1 module– Need to produce one– Like UML graphics!!

• Actions– Design using UML class diagrams– Tag with ASN.1 concepts– Generate the ASN.1 module

Page 6: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Motivation: Summary

• Accessing ASN.1 type defs from UML models

• Visualization of ASN.1 Modules

• Design of ASN.1 Modules

Page 7: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Profile Definition Basics

• Purpose:– To define how to associate extra information with model

elements in a UML model.

• Basics– A ’profile’ is a UML package stereotyped by <<profile>>.– A profile contains stereotypes that define

• tagged values (the attributes of the stereotype)

• what model element to extend (the ’extends’ relation to a metaclass)

– Often includes a ModelLibary (package with data types)– A profile contains constraints that give static semantics– A profile typically comes with dynamic semantics usually

• informally definined

• implemented as tool feature, often a code generator

Page 8: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Simple Profile Example

• <<profile>> package• metaclass from

appropriate metamodel

• extention definition• stereotype definition• tag definitions

(stereotype attributes)

<<profile>> package UseCaseDetails

<<stereotype>>

UseCaseDefPrecondition : Charstring

ActionSequence : Charstring

Alternatives : Charstring

Postcondition : Charstring

<<metaclass>>UML::UseCase

1

Page 9: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Using the Profile

• Apply the profile–activate addin–load & use model

profile

• Select ’Tagged values...’ for a use case

Page 10: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Profiles Summary

• Extends UML

• Stereotypes / tagged values

• Model library

• Semantics– Constraints– Dynamic semantics

Page 11: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

A (Very) Incomplete ASN.1 Profile

ASN1Profile<<profile>>

ASN1ModelLibrary

Page 12: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Profile

SEQUENCE<<stereotype>>

::UML::Class<<metaclass>> 0..10..1

CHOICE<<stereotype>>

0,,10,,1

'SEQUENCE OF'<<stereotype>>

constraint: String0..10..1

::UML::Package<<metaclass>>

ASN1<<stereotype>>

0..10..1

Must hav e exactlyone attribute called'base' with a

Page 13: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Model Library

VisibleString<<datatype>>

'BIT STRING'<<datatype>>

REAL<<datatype>>

BOOLEAN<<datatype>>

INTEGER<<datatype>>

Page 14: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Example ModuleExampleASN1Module ::= BEGIN

EMPLOYEES ::= SEQUENCE OF PERSON

PERSON ::= SEQUENCE {

name VisibleString,

age INTEGER,

car CAR,

house HOUSE

}

CAR ::= SEQUENCE {

licenseNo INTEGER,

manufacturer VisibleString

}

HOUSE ::= SEQUENCE {

address VisibleString

}

END

Page 15: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

ExampleModule

PERSON<<SEQUENCE>>

name: VisibleStringage: INTEGER

EMPLOYEES<<SEQUENCE OF>>

base

CAR<<SEQUENCE>>

licenceNo: VisibleStringmanuf acturer: VisibleString

car

HOUSE<<SEQUENCE>>

address: VisibleString

house

Page 16: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Example Application

sys

s<<signal>>

p:PERSON

pi

i<<interface>>

signal s ()

Page 17: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Example Application, cnt

Idle

s(p)

INTEGER i;i = p.age;

PERSON p;

Idle

Page 18: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary

Summary

• Purpose– Usage of ASN.1 modules in UML applications– Visualization / Design

• Profile– Stereotypes / tagged values etc– Constraints– Semantics

• Issues– Information classes and objects– Inline type definitions– Parametrized classes– Values and value syntax