an asn.1 profile anders ek motivation / scenarios profile basics a draft asn.1 profile example...
TRANSCRIPT
![Page 1: An ASN.1 Profile Anders Ek Motivation / Scenarios Profile Basics A Draft ASN.1 Profile Example Summary](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/1.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/2.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/11.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/13.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/14.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/15.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/16.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/17.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022082604/55153e01550346a87d8b5e0a/html5/thumbnails/18.jpg)
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