Title: An ASN.1 Profile Anders Ek
1An ASN.1 ProfileAnders Ek
- Motivation / Scenarios
- Profile Basics
- A Draft ASN.1 Profile
- Example
- Summary
2Motivation Usage Scenarios
- Access to ASN.1 module from UML models
- Visualization of ASN.1 Modules
- Design of ASN.1 Modules
3Accessing 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
4Visualization 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.
5Design 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
6Motivation Summary
- Accessing ASN.1 type defs from UML models
- Visualization of ASN.1 Modules
- Design of ASN.1 Modules
7Profile 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
ltltprofilegtgt. - 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
8Simple Profile Example
- ltltprofilegtgt package
- metaclass from appropriate metamodel
- extention definition
- stereotype definition
- tag definitions (stereotype attributes)
ltltprofilegtgt package UseCaseDetails
1
ltltstereotypegtgt UseCaseDef
Precondition Charstring ActionSequence
Charstring Alternatives Charstring Postcondition
Charstring
9Using the Profile
- Apply the profile
- activate addin
- load use model profile
- Select Tagged values... for a use case
10Profiles Summary
- Extends UML
- Stereotypes / tagged values
- Model library
- Semantics
- Constraints
- Dynamic semantics
11A (Very) Incomplete ASN.1 Profile
12Profile
13Model Library
14Example 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
15ExampleModule
16Example Application
17Example Application, cnt
18Summary
- 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