24
1 8-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!

NOTICE!

  • Upload
    torn

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

NOTICE!. - PowerPoint PPT Presentation

Citation preview

Page 1: NOTICE!

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!

Page 2: NOTICE!

28-11-2008

Selected Topics in Software Engineering -

Distributed Software Development

Page 3: NOTICE!

38-11-2008

ASN1 to CSV convertergenerator

ASN2CSV project team

Page 4: NOTICE!

48-11-2008

About project

• Telecommunication industry

• Might be used in a real enviroment

• Customer: Ring Datacom

Page 5: NOTICE!

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

Page 6: NOTICE!

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...

Page 7: NOTICE!

78-11-2008

Task

• To make an automated CDR to CSV converter for any encountered ANS1 grammar

Page 8: NOTICE!

88-11-2008

Requirements

• Multiple platforms

• Speed

• Reliability

• Well tested and debugged

Page 9: NOTICE!

98-11-2008

ASN1

• Abstract Syntax Notation One

• X.400 electronic mail, X.500 and LDAP directory services, H.323 (VoIP), BACnet and SNMP, ...

Page 10: NOTICE!

108-11-2008

ASN1

• Data types: boolean, null, integer, real, enumerated, bit string, octet string, ...

• Data constructs: choice, sequence, set, sequence of, set of

Page 11: NOTICE!

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

}

Page 12: NOTICE!

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

Page 13: NOTICE!

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

Page 14: NOTICE!

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

Page 15: NOTICE!

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

Page 16: NOTICE!

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

Page 17: NOTICE!

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

Page 18: NOTICE!

18

Communications

• Communication– Skype– MSN– Google group– E-mail

• Common language: English

8-11-2008

Page 19: NOTICE!

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

Page 20: NOTICE!

Work handling 2/2

• Subproject 1: GUI + Converter

• Subproject 2: eSNACC modification and testing

8-11-2008

Project

Subproject 1

Subproject2

20DSD

Page 21: NOTICE!

Risks

8-11-2008 21DSD

Page 22: NOTICE!

Estimation Time

8-11-2008 22DSD

Page 23: NOTICE!

ASN.1 CSV converter generator

238-11-2008 DSD

Page 24: NOTICE!

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