Upload
edgar-norton
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
Network Solutions / Communication ServicesSiemens Atea
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 1
SEESCOA – Embedded SW in ICN NS/CS
SW Developmentin
Network Solutions &Communication Services
Jos Huybrighs (ICN NC SD)
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 2
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
ICN NS/CS: Development Domains
Enterprise systems: Inter-PBX Signaling Protocol Conversion PSTN/ISDN Signaling Protocol Conversion Telecommuting DECT
VPN PBX-to-PBX signaling tunneling through
PSTN/ISDN/Internet/Intranet Carrier systems:
VPN combined with VoIP: VPN-IP Residential Gateway
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 3
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Facts and Figures
ICN NS/CS Number of SW designers: 30 > 5 years experience: 20 OO experience: 90% Architects / System Designers: 3 SW/HW Integration specialists: 4
Development split (effort) HW (including layout, mechanical eng.): 10% SW: 90%
Team organization HW: 1 person SW: 8..15 persons
Development Cost versus Total Cost Total Cost = Development Cost x
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 4
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Enterprise Applications + VPN
Up0
Wireless DomainDECT
Up0
Leased Line
Inter-PBX Signaling
PSTN/ISDN
ProtocolConversion
VPN: PNE
signaling
CDGWirelessServer
DECT/LineInterface
PSTN/ISDN
PSTN/ISDN Domain
TelecommutingServer
TelecommutingClient
S0 Card
OTO
Up0
ECG
ProtocolConversion
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 5
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Enterprise Applications:DECT Line Card (CMI)
HW: Motorola 683xx RTOS: COSMOS (own Siemens RTOS) SW: All own development, ‘C’ Main characteristics:
Protocol handling towards DECT basestations (ISDN-like) DECT handset signalling conversion to Optiset protocol (stimulus)
Tools: Greenhills Cost Constraints:
Memory size Issues:
Hard real-time constraints during initialization Multi-site development
Cost (Siemens Atea): 10 developers 30 PY
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 6
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Enterprise Applications:VPN (PNE)
HW: AMD ELAN RTOS: Own asynchroneous method schedular SW: Mostly own development, except C++ Booch Components, C++ Main characteristics:
Inter-PBX protocol handling (30 channels) Bearer/Signaling separation and tunneling over a number of data transport
networks (x.25, IP, modem, in-band). Remote management using proprietary protocols.
Tools: OMT Modeling: StP Cadul
Cost constraints: Not really
Issues: 1st OO/C++ project Testability Hard real time constraints in some type of applications (e.g. in-band tone
detection) Cost: 30 PY
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 7
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Enterprise Applications:Protocol Conversion (CDG)
HW: Intel 80188 RTOS: COSMOS SW: All own development, ‘C’ Main characteristics:
Signaling protocol conversion between different inter-PBX protocols Remote management using proprietary protocols.
Tools: Microsoft C, Linker/Locator (Intel) Intel ICE
Cost constraints: Not really
Issues: More or less hard real time constraints, depending on protocols
Cost: 20 PY
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 8
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Enterprise Applications:Protocol Conversion - ECG
Based on the PNE platform Reuse of hardware and software
Main characteristics: Signaling protocol conversion between ‘old’ PSTN protocols and
ISDN. Cost constraints:
Not really Issues:
More or less hard real time constraints when capturing incoming line signals
Cost: 10 PY
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 9
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
VPN-IP
PBXPBX PBXPBX
PBXPBX
Q-SIG/DPNSS1
ClarentIP Gateway
ClarentIP Gateway
ClarentIP Gateway
PSR -PrivateSignaling Router
PSR -PrivateSignaling Router
PSR -PrivateSignaling Router
PSR -PrivateSignaling Router
PSR
PSR
VoIP / H323
InternetInternetAccessAccess
ISDN / PSTN
ManagedIP-network
EDSS1
EDSS1
Q.SIG/DPNSSTunneling
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 10
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
VPN-IP: Characteristics
VPN-IP Based on PNE platform and functionality Main characteristics:
Idem as PNE, but transport of voice and data over IP VoIP through external Clarent gateway PNE hardware doesn’t have Ethernet interface - Special V.24
interface needed to the external VoIP gateway to pass signaling through an IP network.
Cost constraints: none Issues: relatively straightforward Cost: 5 PY
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 11
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Residential Gateway
Residential Gateway
(MGCP) Local LAN
POTS phonesPOTS Fax Wireless
VoIP Gateway
Gatekeeper
Cable, xDSL, Ethernet
PSTN
...
Local PCs
Carrier IP Multimedia Network Call AgentFeature Server
Small PBX ?
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 12
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Residential Gateway: Characteristics
HW: Infineon Tricore platform (RISC/DSP) RTOS: VxWorks or Infineon’s RTOS SW
Own (all C++): Telephony SW Other (buy): IP components (DHCP, SNMP, etc..)
Main characteristics: Decomposed gateway architecture with external Call Agent (master/slave) Remote management using open protocols (SNMP). Security issues: kerberos tickets, encryption (IPSec), SNMPv3
Tools: Rational Rose RealTime for UML modeling, Active Object services and
iterative development Visual C++ (simulation environment) Tasking toolset or Tornado (GNU) on the target No ICE
Cost constraints: Very hard: < $200
Issues: we are still learning, but IP routing has to be fast Cost (estimate): 20 PY
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 13
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Why OO?
Drivers are: Speedup product development
Flexible, extensible and reusable architectures are fundamental Better way to deal with complexity
OO provides abstractions to keep complexity under control Better manageable development process
Better division of labor
Important issues: Disciplined analysis and design process is needed. Evolutionary and more iterative development will reduce risks
However, we are not there yet!
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 14
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
How do we do Project Management?
Effort estimation: It is still largely based on experience Metrics needed!
Staffing. How? Project leader who knows about OO Experts who have already done at least 2 OO projects Architect Team workers
Required skills: Prio1: Training in OO modeling (abstraction, ..).
Methodology: OMT (past projects), UML (new projects) Then: Training in OO language.
C++ because of real-time critical products.
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 15
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
How do we do Project Management?
Process Issues: Based on PPR/PPG The final goal however is: INCREMENTAL DEVELOPMENT
That’s how developers work! Progress Tracking:
We set the following milestones: Requirements OOA/D Component Test Integration Test
It turns out that tracking is easier due to better division of labor.
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 16
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Product Cycle:1. Definition Phase System Definition and Requirements Capturing
This is key to develop quality software Documentation:
FDB1: business case FDB2: requirements specification FDB3: user interface issues FDB4: system specification
Definition phase ends with a “go/no-go” statement and the definition of 1 or more product packages/releases.
Current Definition Cycle doesn’t support appropriate OO modeling during system definition / analysis.Lack of resources/budget don’t allow upfront Use Case modeling and OO Analysis.
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 17
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Product Cycle:2. Realization Phase: Step 1 Start with Specification
Design starts with the specification documents from the Definition Cycle (FDB1..FDB4).
FDB3/4 from Definition Cycle don’t provide enough detail to serve as an unambiguous functional specification.Therefore: we introduce an additional specification step:
Create a Functional Specification Output document: FDB5 Formal inspection.
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 18
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Product Cycle:2. Realization Phase: Step 2 OO Analysis
Deals with: Architecture Analysis Modeling = “Ideal World Modeling”
Ignores platform, single or multi processor system, .. Important: come up with a software architecture which is robust,
extensible, and resistant to changes in functionality. Analysis = Teamwork
But, don’t involve too many! Analysis Documentation:
Through OMT/UML Case tool for creating the models Informal inspection
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 19
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Product Cycle:2. Realization Phase: Step 3 OO Design
Deals with: Adding details to the logical and physical architecture Design of interfaces, data structures, state machines, .. Identification of new and existing reusable components, patterns,
frameworks Consider test strategy
Design = Teamwork Design Documentation:
Expanded and completed models, created by case tool Design document: FDB6 Test Concept Document: FDB8
Formal inspection
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 20
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Product Cycle:2. Realization Phase: Step 4 Implementation
Principle: “Code a little, Test a little” Documentation: Source Files Inspections:
No systematic code reading Code reading is however important for ‘newcomers’.
There is no implementation description document. It doesn’t make too much sense.
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 21
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Product Cycle:2. Realization Phase: Step 5 Component Test
Local, designer test using: Stubs, and/or TestManager test scenarios generator
Debugging and Testing Tools: TestManager, Debugger, Heap Checker
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 22
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Product Cycle:2. Realization Phase: Step 6 Design Integration Test
Test Specification: FDB10 Formal inspection Test itself:
Simulation test, through TestManager scenarios Real, lab tests with the actual system
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 23
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Product Cycle:2. Realization Phase: Step 7 System Test
Feature Integration Test Regression Test Load/Stress Test Tests are done by a separate team (no developers)
Field Trials
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 24
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Experience with:OO Implementation Knowing C++ is not enough.
OO Modeling must be learned. Keep it simple
Restrict C++ to the basics Don’t use compiler specific features Set-up and use programming guideline and rules. Make them
part of the software development methodology Reuse common design patterns
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 25
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Experience with:Patterns Try to make use of existing patterns
The ‘GOF’ Book The ‘Siemens’ Book
Create ‘own’ patterns. We currently have the following: Interface Classes: restrict visibility of classes Smart Pointers: reference counting on heap objects (derived
from documented C++ concepts) Asynchronous C++ method invocation Interworking ports and distributed objects (comparable with
concept of ‘proxy’ agents) Finite State Machines: objectification of states and events
They are hard to design They become stable after being used in +/- 3 projects
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 26
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Experience with:Frameworks We have built a number of frameworks:
Generic OSI 7-layer framework Access communication layers through ‘Service Access Points’ and
standard OSI primitives Currently applied for:
X.25 EDSS1 (ISDN Layer3) LAP-D WinSocket (TCP/IP) Q.SIG
Operation and Maintenance Agent with ‘Manageable Objects’ They are very hard to design
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 27
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Experience with: Reuse Component Reuse
We have a library of domain-specific components Areas: Foundation, system, containers, signalling and inter-object
messaging, fsm, devices, interrupt handling, .. Do-able
But, ‘Reuse Mindset’ is needed, It takes at least 3 tries to create a reusable component
Key to success: documentation and distributionPrinciple: intranet
Subsystem Reuse Hard to do because of application specific details Patterns and Frameworks must help in facilitating this kind of reuse.
Reuse, must be planned and taken into account at the project level.
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 28
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Our Experience with: OO Testing Old, well-known practices still apply
Design for testability Add tracepoints throughout the application Perform component and integration test etc.
BUT
Finding, and solving errors in OO systems tend to be harder
There are no ‘globals’ which makes it difficult to locate the path to an error
Objects are continuously created and destroyed and so don’t leave any marks
Siemens Atea, ICN NS/CS - Solution Development Jos Huybrighs, 3 march. 1999, Slide 29
SEESCOA – Embedded SW in ICN NS/CS
Network Solutions / Communication ServicesSiemens Atea
Important Issues For Us
Documentation How and when Separate from design? Is Rose RealTime the solution?
Metrics Effort estimation still too much based on experience and ‘just
guessing’