180 likes | 341 Views
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. Accessing ASN.1 Modules. Precond: ASN.1 module exist
E N D
An ASN.1 ProfileAnders 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
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
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.
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
Motivation: Summary • Accessing ASN.1 type defs from UML models • Visualization of ASN.1 Modules • Design of ASN.1 Modules
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
<<metaclass>> UML::UseCase Simple Profile Example • <<profile>> package • metaclass from appropriate metamodel • extention definition • stereotype definition • tag definitions (stereotype attributes) <<profile>> package UseCaseDetails 1 <<stereotype>> UseCaseDef Precondition : Charstring ActionSequence : Charstring Alternatives : Charstring Postcondition : Charstring
Using the Profile • Apply the profile • activate addin • load & use model profile • Select ’Tagged values...’ for a use case
Profiles Summary • Extends UML • Stereotypes / tagged values • Model library • Semantics • Constraints • Dynamic semantics
Example Module ExampleASN1Module ::= 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
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