ebook img

Software-Entwicklung für Kommunikationsnetze PDF

269 Pages·2002·14.63 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Software-Entwicklung für Kommunikationsnetze

Xpert * press Springer-Verlag Berlin Heidelberg GmbH Die Reihe Xpert/press des Springer-Verlags vermittelt Professionals in den Bereichen Betriebs- und Informationssysteme, Software Engineering und Programmiersprachen aktuell und kompetent relevantes Fachwissen über Technologien und Produkte zur Entwicklung und Anwendung moderner Informations technologien. Axel Pink Heinz Koßmann Software- Entwicklung für Kommunikationsnetze in Zusammenarbeit mit Manfred Broy mit Beiträgen von Edeltraud Kargl Michael Lagally Thomas Schimper 54 Abbildungen und 11 Tabellen Jgfl Springer Dr. Axel Pink, Dr. Heinz Koßmann, Edeltraud Kargl, Michael Lagally, Thomas Schimper Siemens AG, Hofmannstr. 51, D-81359 München [email protected], [email protected], [email protected], [email protected], [email protected] Professor Manfred Broy TU München, Institut für Informatik, Arcisstr. 21, D-80290 München [email protected] Die Deutsche Bibliothek - CIP-Einheitsaufnahme Software-Entwicklung für Kommunikationsnetze / von Axel Pink.... - Berlin ; Heidelberg ; New York; Barcelona ; Hongkong ; London ; Mailand ; Paris ; Singapur; Tokio : Springer, 2002 (Xpert.press) ISBN 3-540-43265-5 ISBN 978-3-642-62792-7 ISBN 978-3-642-56147-4 (eBook) DOI 10.1007/978-3-642-56147-4 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbe sondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungs anlagen bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Verviel fältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Straf bestimmungen des Urheberrechtsgesetzes. http://www.springer.de © Springer-Verlag Berlin Heidelberg 2002 Ursprünglich erschienen bei Springer-Verlag Berlin Heidelberg New York 2002 Softcover reprint of the hardcover 1st edition Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in die sem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutzgesetzgebung als frei zu be trachten wären und daher von jedermann benutzt werden dürften. Text und Abbildungen wurden mit größter Sorgfalt erarbeitet. Verlag und Autor können jedoch für eventuell ver bliebene fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Satz: Computer to film von PostScript Daten der Autoren Umschlaggestaltung: KünkelLopka Werbeagentur, Heidelberg Gedruckt auf säurefreiem Papier SPIN 10866937 - 33/3142YL - 5 4 3 2 1 0 Vorwort Computerwerdenzunehmendintechnischenundsozialen Systemen hoherKomplexitliteingesetzt. BeispielesindKommunikationsnetze, Flugleitsysteme, Gesundheitssysteme, Finanzdienstleistungen oder Borsen. Dabei handeltes sich immerwenigerurn isolierteComputer in Rechenzentren, die groBe Datenmengen verarbeiten oder hohe Rechenleistungerbringen, sondernzunehmendurnComputer, die im Verbundmitanderen,d.h. inNetzwerken,zusammenarbeiten. Diesfuhrt dazu, daB sich dieFunktionen derSystemezunehmend auf Netzwerke verteilen; d.h., Teilfunktionen werden auf unter schiedlichen Computern des Netzwerks koordiniert ausgefuhrt. Die Folge davon ist, daB die eingesetzten Software-Systeme aufgrund der computertibergreifenden Schnittstellen heterogen und komplex sind. Unbeeindruckt von dieser technisch bedingten Komplexitlit erwarten die Anwender der Systeme selbstverstandlich eine hohe VerfugbarkeitundQualitatderFunktionen. Die Fortschritte in der Computerentwicklung fuhren dazu, daB Rechengeschwindigkeit und Kapazitlit der Speicher stlindig steigen, so daB immerumfangreichereFunktionen inSoftwarerealisiertwer den konnen. Standard-ComputerderverschiedenenHerstellerbieten zunehmend Software fur anwendungsspezifische Basisfunktionen, deren Verwendung die Software-Herstellung beschleunigt. Gleich zeitig steigen die Anforderungen der Systembetreiber, die sich nur durch neue Dienste, d.h. neue Funktionen ihrer Systeme, in immer ktirzerenAbstandengegenWettbewerberbehauptenkonnen. Entsprechend dazu haben Kommunikationsnetze wahrend ihrer Entwicklungmehrere Phasen durchlaufen. Zunachstwurdedie elek tromechanische Steuerung durch Computer-Software zur Effizienz steigerung nachgebildet. Uber die ursprtingliche Aufgabe hinaus erOffnetederComputeralsNetzknotendieMoglichkeit,weitere Ser vices daraufaufbauend einzufuhren. Ein aktuelles Beispiel sind im Rahmen der Integration von Telefonnetz und Internetdie sogenann ten "Converged Services". Der zusatzliche Freiheitsgrad, der sich daraus ergibt, daB diese neuen Anwendungen Hardware-tibergrei fend agieren, erhohtdieKomplexitatbetrachtlich. Vorworl -- V - Alles in allem steigen die Anforderungen an die Software-Ent wicklung hinsichtlich FunktionaliHit, Marktorientierung, Qualitat, KostenundZeit. DieSoftware-EntwicklungmuBaufdieseSituationreagieren: • Sie muB kostengiinstig sein, da die Technologieentwicklung konkurrenzfahigseinmuB unddurchPreisverfallgepragtist, • sie muB schnell sein, da die Systembetreibereinem hohen Kon kurrenzdruckausgesetztsind, • sie mu13 marktorientiert sein, was bedeutet, daB auch iiberra schende Marktanforderungen in laufenden Entwicklungen zu berucksichtigensind, und • sie muB flexibel sein hinsichtlich Austausch von Computer Plattformen. Welche Faktoren der Software-Entwicklung konnen zur Erreichung dieserZielebeitragen? Drei Faktoren spie1en entscheidende Rollen. Es werden Experten benotigt,dieGrundlagenwieProgrammerstellungundProgrammve rifikation beherrschen. Prozesse zur Regelung der Entwicklungsta tigkeitenvonderPlanungbiszurUbergabeandenKundensindnot wendig. Diese Punkte sind aber nicht Software-spezifisch, sondem gelten auch fUr andere technische Disziplinen der industriellen Produktentwicklung. Es gibt allerdings einen Aspekt, in dem sich die Software-Ent wicklung von der Entwicklung anderer technischer Produkte unter scheidet. DerUnterschied liegt imProduktselbst, namlich in der in neren Struktur, den Eigenschaften des Zusammenwirkens der Struk turelemente und der Wirkungsweise nach auBen. Die KomplexWit dieser statischen und kausalen Zusammenhange ist so darzustellen, daB sie minimiert werden kann und dadurch in der nachfolgenden Implementierung beherrschbar wird. An dieser Stelle liegen die Schwierigkeiten: Die innereKomplexitateines Software-Systems ist schwer zu fassen. Zudem fehlen geeignete Darstellungsmittel zur Kommunikation derZusammenhange. Dies macht es fUr die Imple mentierung schwierig, aile Probleme, die sich aus der Komplexitat ergeben, zu erkennen und in geeigneter Form zu losen. Verscharft wirddasProblemdadurch, daBaufgrundderSchwierigkeitenbeider Darstellung der inneren Struktur die Tatigkeit des Modellierens bei Softwareleichtervemachlassigtwirdals beianderenProdukttypen. EinewesentlicheRolle bei derBeherrschungder Software-Kom plexitat spielt die Software-Architektur. Sie stellt die Regeln und MethodenfUr die SystementwicklungzurVerfUgung. Erganztdurch einen einfachen, aber wirkungsvollen Entwicklungsproze13, der die VI • Vorwort • • Implementierung lenkt, sind die Grundlagen fUr eine erfolgreiche Produktentwicklunggeschaffen. Die angesprochenen Anforderungen an modeme Software-Tech nik bilden die Motivation fUr dieses Buch. Grundlage sind die prak tischen Erfahrungen aus einer Reihe von Software-Projekten aus demBereich der Telekommunikation. Telekommunikationssoftware zeichnet sich als Embedded Software durch ihre Funktionalitat, ihren Umfang und die Vielzahl komplizierter Schnittstellenaus. Die spezifischenEigenschaftensind([Jung1998]): _ Echtzeitverarbeitung, parallele AbJaufe, zeitkritisches Antwort verhalten _ auBerstgroBerUmfang _ hohe Komplexitat durch auf verschiedene Prozessortypen ver teilteFunktionalitatmitenggekoppelten Schnittstellen _ hoheLeistungsfahigkeitbezuglichdesDurchsatzes _ hohe Qualitatsanforderungen (Zuverlassigkeit, Stabilitat, Ver- fUgbarkeitsowiefehlertolerantes Verhalten). Dieses Buch beschreibt Prinzipien und Methoden der Entwicklung groBer Software-Systeme aus dem Bereich der Telekommunikation, die sich in der Praxis bewahrthaben. Es werden praktische Anwen dungen von Architektur inErganzungzum Buch"Applied Software Architecture" [Hofin2000] beschrieben.DietheoretischeFundierung der Darstellung der Architekturelemente wird in einer Kooperation mit Prof. Broy, Institut fUr Informatik der Technischen Universitat Munchen, weiterentwickelt. Nicht betrachtet werden die speziellen Designaspekte der Implementierung selbst, da diese schon ausfiihr lich in Buchem wie "Entwicklung von Software-Systemen" [Balz1982] dargestelltsind. Zielgruppe Angesprochen werden sollen Studenten der Software-Technik und Software-Entwickler, die an Aufgabenstellungen mitobigerCharak teristik arbeiten. Die praxisgerechte Darstellung der relevanten Zu sarnmenhange zwischen den verschiedenen Reprasentationen eines Software-Systems soli ihnen bei der Strukturierung ihrer Aufgaben helfen. Dartiber hinaus fmden Software-Manager, die sich mit dem Einsatz neuer Technologien in der Software-Entwicklung beschafti gen, Hinweise, mitwelchen Mitteln eineIntegration in die Entwick lungsprojekte moglich wird. Nicht zuletzt soli das Werk neuen Mitarbeitem und werdenden Software-Entwicklem, die noch nicht mit derPraxis und den Prinzipien derEntwicklunggroBerSoftware Systemevertrautsind, denZugangzuihrenAufgabenerleichtem. Vorwort -- VII - Inhaltsverzeichnis Einleitung 1 1 DasWesen vonSoftware 5 1.1 PrinzipderSpeicherprogrammierbarkeitoderdieschnelle AnderbarkeitaufgrunddesBaumaterials 6 1.2 KomplexeAufgabenstellungenoderVerlustder Anschaulichkeit 8 1.3 Fazit 9 2 Dynamikin derSoftware-Entwicklung ll 2.1 Leistungsdynamik 11 2.2 Technologiedynamik 12 2.3 Teamdynamik 12 2.4 Anforderungsdynamik 13 2.5 Fazit 15 3 Software-Architektur 17 3.1 BedeutungvonArchitekturinderSoftware-Entwicklung.17 3.2 Architekturals BrtickezwischenSystemund Computerprogramm .21 3.3 Hardware-Konfiguration 25 3.4 Fazit 27 4 BeispieleinerSoftware-Architektonik 29 4.1 Aufgabenstellung 29 4.2 EntwurfeinerSoftware-ArchitektonikfurPINT-Services.31 4.2.1 Basisaufbau 32 Inhaltsverzeichnis -- IX - 4.2.2 Einschub: ArchitekturelementeinderNotationCOSPEL.35 4.2.3 ReaktionszeitundDurchsatz 37 4.2.4 Standardschnittstellen 46 4.2.5 OffeneSchnittstellen 48 4.2.6 Verfugbarkeit. 51 4.2.7 Versionsentwicklung 55 4.2.8 PrototypderSoftware-ArchitektonikfurPINT-Services 58 4.2.9 BewertungderSoftware-ArchitektonikdesPINT- Gateways 60 4.3 Fazit 61 5 Zeit-undKostenschatzungen 65 5.1 GrundsatzlicheszurZeit-undKostenschatzung 65 5.2 ProduktivitatinderSoftware-Entwicklung 66 5.3 DasmodifizierteAron-Modellunddas Cocomo-Modell..68 5.4 VergleichmitEinzelangabenaus derLiteratur 74 5.5 FunctionPoints 75 5.6 AktivitatsorientierteAufwandsschatzung 75 5.7 Fazit 76 6 Architekturfaktoren,Prozedurzur Entscheidungsfindung 79 6.1 Checkliste 80 6.2 Bewertungsmatrix 84 6.3 Fazit 85 7 WechselwirkungzwischenArchitekturelementenund Implementierung 87 7.1 StrukturierungssichtenfureinSoftware-System 87 7.2 AuswirkungderStrukturaufdasLaufzeitverhalten 89 7.3 DurchstichzurBetriebsmittelabschatzung 91 7.4 Fazit 92 8 Vonden KomponentenzurSchicht 93 8.1 OrdnungaufKomponenten 93 8.2 KonstruktionvonSchichten 97 8.3 SchichtenmodellfurInternetSupplementaryServices 99 8.4 Architekturregeln 100 8.5 EWSD-Serviceschichtung 101 8.6 Fazit 103 x • Inha/tsverzeichnis • • 9 AufteilungdesSoftware-Systemsaufeinverteiltes Computersystem 105 9.1 Betriebsmittelzuordnung 105 9.2 GraphentheoretischerLosungsansatz 107 9.3 Fazit 110 10 Ausfiihrenvon Programmen 111 10.1 ProgrammeundihreRealisierungdurch Programmiersprachen .111 10.2 ProzessealskonkurrierendeAusfuhrungseinheiten l13 10.3 Synchronitat,Asynchronitatund ihrZusammenwirken...116 10.4 ProzeBkonzeptinCHILL 119 10.5 AbhangigkeitzwischenProgrammierspracheund Betriebssystem 122 10.6 AuswahlkriterienfureineProgrammiersprache 123 10.7 Fazit 125 11 FormaleGrundlagederArchitekturelemente 127 11.1 SemantikderSignalmodelle 127 11.2 SemantikderKomponentenmodelle 132 11.2.1 SemantikdesProtokollautomaten 136 11.2.2 Semantikdes asynchronenInterfaces 138 11.2.3 SemantikdessynchronenInterfaces 138 11.2.4 Semantikdes Service 138 11.3 EinfuhrunginCOSPEL 139 11.3.1 BegriindungundPrinzipien 139 11.3.2 Service 140 11.3.3 Komponente 142 11.3.4 Applikation 143 11.4 SprachbeschreibungCOSPEL 145 11.4.1 HinweisezurMetasprache 145 11.4.2 COSPEL-Spezifikation 146 11.4.3 Applikation 146 11.4.4 Komponente 149 11.4.5 Service 152 11.4.6 SynchroneundasynchroneInterfaces 155 11.4.7 Protokollautomat 158 11.4.8 Channel 160 11.4.9 Signaturen(FormaleParameter) 161 11.5 BeispielmitsynchronenundasynchronenSchnittstellen.161 11.6 Click-to-Dial-BeispielinCOSPEL. 164 11.7 Fazit 173 Inhaltsverzeichnis • XI • •

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.