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 – 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 <>. – 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 Model. Libary (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
Simple Profile Example • <> package • metaclass from appropriate metamodel • extention definition • stereotype definition • tag definitions (stereotype attributes) <> package Use. Case. Details <> UML: : Use. Case 1 <> Use. Case. Def Precondition : Charstring Action. Sequence : 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
A (Very) Incomplete ASN. 1 Profile
Profile
Model Library
Example Module Example. ASN 1 Module : : = BEGIN EMPLOYEES : : = SEQUENCE OF PERSON : : = SEQUENCE { name Visible. String, age INTEGER, car CAR, house HOUSE } CAR : : = SEQUENCE { license. No INTEGER, manufacturer Visible. String } HOUSE : : = SEQUENCE { address Visible. String } END
Example. Module
Example Application
Example Application, cnt
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