18-11-2008 these materials are prepared only for the students enrolled in the course distributed...
Post on 24-Dec-2015
216 Views
Preview:
TRANSCRIPT
18-11-2008
• These materials are prepared only for the students enrolled in
the course Distributed Software Development (DSD) at the
Department of Computer Science and Engineering,
University of Mälardalen, Västerås, Sweden and at the Faculty
of Electrical Engineering and Computing, University of Zagreb,
Croatia (year 2003/2004).
• For all other purposes, authors’ written permission is needed!
• The purpose of these materials is to help students in better
understanding of lectures in DSD and not their replacement!
NOTICE!
28-11-2008
Selected Topics in Software Engineering -
Distributed Software Development
38-11-2008
ASN1 to CSV convertergenerator
ASN2CSV project team
48-11-2008
About project
• Telecommunication industry
• Might be used in a real enviroment
• Customer: Ring Datacom
58-11-2008
Telecommunication
• Switching elements produce calls information – Call Detail Records (CDR)
• CDR's are collected and distributed to other systems, like billing system
• Usually, CDR's are encoded in ASN1 BER
68-11-2008
Problem
• Different CDR formats (ANS1 grammars)
• Convert to some common format (CSV) in order to use in different systems
• Develop decoder for each encountered ANS1 grammar or...
78-11-2008
Task
• To make an automated CDR to CSV converter for any encountered ANS1 grammar
88-11-2008
Requirements
• Multiple platforms
• Speed
• Reliability
• Well tested and debugged
98-11-2008
ASN1
• Abstract Syntax Notation One
• X.400 electronic mail, X.500 and LDAP directory services, H.323 (VoIP), BACnet and SNMP, ...
108-11-2008
ASN1
• Data types: boolean, null, integer, real, enumerated, bit string, octet string, ...
• Data constructs: choice, sequence, set, sequence of, set of
118-11-2008
ASN1 ExampleSGSN-R6-CDR
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
BCDDirectoryNumber ::= OCTET STRING
CallDuration ::= INTEGER
CallEventRecord ::= CHOICE
{
sgsnPDPRecord [20] SGSNPDPRecord,
sgsnSMORecord [23] SGSNSMORecord,
sgsnSMTRecord [24] SGSNSMTRecord
}
128-11-2008
BER
• Basic Encoding Rules
8 7 6 5 4 3 2 1
Class P/C Number
Class Bit 8 Bit 7
Universal 0 0
Application 0 1
Context-specific 1 0
Private 1 1
BER Example61 82 e5 fe-5f 29 01 02-5f 25 01 01-5f 26 05 48 a..._).. _%.._&.H
52 56 56 49-5f 24 05 53-56 4e 53 4d-5f 27 07 30 RVVI_$.S VNSM_'.0
30 30 39 30-36 36 5f 1f-0e 32 30 30-38 30 39 31 009066_. .2008091
39 32 30 34-34 35 33 5f-2d 05 2b 30-32 30 30 62 9204453_ -.+0200b
82 e5 bb 64-45 5f 22 08-29 34 00 11-30 96 30 7f ...dE_". )4..0.0.
55 0e 32 30-30 38 30 39-31 39 32 30-33 34 30 34 U.200809 19203404
5f 2d 05 2b-30 32 30 30-53 01 00 58-01 00 7f 2e _-.+0200 S..X....
05 5f 2b 02-32 31 56 0b-33 38 36 34-31 30 30 31 ._+.21V. 38641001
33 33 33 5f-23 04 4d 53-43 36 64 45-5f 22 08 29 333_#.MS C6dE_".)
34 00 11 35-11 71 1f 55-0e 32 30 30-38 30 39 31 4..5.q.U .2008091
39 32 30 33-34 30 31 5f-2d 05 2b 30-32 30 30 53 9203401_ -.+0200S
01 00 58 01-00 7f 2e 05-5f 2b 02 32-31 56 0b 33 ..X..... _+.21V.3
38 36 34 31-30 30 31 33-33 33 5f 23-04 4d 53 43 86410013 33_#.MSC
36 64 45 5f-22 08 29 34-00 11 34 32-97 2f 55 0e 6dE_".)4 ..42./U.
8-11-2008
148-11-2008
CSV
• Comma Separated Values
• value1,value2,value3
• value1,,value3
• value1,value can contain spaces,value3
• value1,”north, south”,value3
• value1,”some ””important”” data”,value3
CSV Example2, 38641001333, , 293400113096307, , 20080919203404, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
2, 38641001333, , 293400113511711, , 20080919203401, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
2, 38640441000, , 293400113432972, , 20080919203400, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
2, 38640441000, , 293400113426717, , 20080919203354, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
2, 38640441000, , 293400113445415, , 20080919203350, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
2, 38640441000, , 293400113343858, , 20080919203347, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
1, 38640441000, , 293400113210345, , 20080919203347, +0200, 0, , , 0, 22, , , 182, HRVVI, SVNSM, 0009066,
1, 38640441000, , 293400113445415, , 20080919203343, +0200, 0, , , 0, 22, , , 182, HRVVI, SVNSM, 0009066,
2, 38641001333, , 293400110348422, , 20080919203340, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
1, 38640441000, , 293400113343858, , 20080919203337, +0200, 0, , , 0, 22, , , 182, HRVVI, SVNSM, 0009066,
2, 385910401, , 293400113158588, , 20080919203336, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
1, 38640441000, , 293400113432972, , 20080919203335, +0200, 0, , , 0, 22, , , 182, HRVVI, SVNSM, 0009066,
2, 38640441000, , 293400113338805, , 20080919203335, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
2, 38640441000, , 293400113555638, , 20080919203332, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
2, 393492000200, , 293400113555103, , 20080919203331, +0200, 0, , , 0, 21, , , , HRVVI, SVNSM, 0009066,
8-11-2008
Project Plan 1/2
Name Period Availability
Guido Di Campli (@MDH) 2008-10-28 to 2009-01-15 50%
Giovanni Piemontese (@MDH) 2008-10-28 to 2009-01-15 50%
Paolo D’Amelio (@MDH) 2008-10-28 to 2009-01-15 50%
Ivan Škugor (@FER) 2008-10-28 to 2009-01-15 50%
Željko Knežević (@FER) 2008-10-28 to 2009-01-15 50%
Željko Krpetić (@FER) 2008-10-28 to 2009-01-15 50%
8-11-2008
• The customer is Ring Datacom• The project leader is Ivan Škugor • The team leader in MDH is Guido Di Campli
16DSD
Project Plan 2/2
Responsability Member
eSNACC modification and testingGuido Di Campli (@MDH)
Giovanni Piemontese (@MDH)
Paolo D’Amelio (@MDH)
Project managment, Communication Ivan Škugor (@FER)
Documentation, SVN, Converter generator
Željko Knežević (@FER)
Converter generator, GUI Željko Krpetić (@FER)
Project Responsability
17DSD8-11-2008
18
Communications
• Communication– Skype– MSN– Google group– E-mail
• Common language: English
8-11-2008
Work handling 1/2
From ASN.1 to CVS file converter V0.1 documentation:
“The General ASN.1 parser generation project can be divided into two subprojects that can be carried out independently providing that the interface between the two modules is clearly defined. The first part or module is a standalone GUI application that takes as an input an ASN.1 grammar and generates a configuration file for the ASN.1 to CSV file converter according to the choices made by the application user.
This configuration file is used by the second module – the ASN.1 to CSV file converter that accepts a binary ASN.1 BER encoded file (conformant to the grammar in question) and generates a CSV text file with the values defined in the control file.”
19DSD8-11-2008
Work handling 2/2
• Subproject 1: GUI + Converter
• Subproject 2: eSNACC modification and testing
8-11-2008
Project
Subproject 1
Subproject2
20DSD
Risks
8-11-2008 21DSD
Estimation Time
8-11-2008 22DSD
ASN.1 CSV converter generator
238-11-2008 DSD
ASN.1 CSV converter generator
1. Select output format options in user friendly GUI
2. Generate ASN.1 decoding routines by ESNACC
3. Generate a main program (ANSI C) according to configuration file
4. Compile with ANSI C compiler for target platform
248-11-2008 DSD
top related