On a Buzzword: Hierachical Structure David Parnas.

Slides:



Advertisements
Ähnliche Präsentationen
Benutzerorientierte Designprinzipien für die Microsoft-Guidelines
Advertisements

Integrations- und Funktionstests im Rahmen des V-Modelles
Vorgehensmodell - Wasserfallmodell
Wissensanalyse von Aufgaben mit TKS Eine Methode zur Problemlösung
Datenbanken Einführung.
Frame-Logik Eine Einführung Andreas Glausch.
On the Criteria to Be Used in Decomposing Systems into Modules
Designing Software for Ease of Extension and Contraction
PC-Cluster.
Claas J. Cornelius - Ogg-on-a-chip - MDCT MDCT Funktionsweise und Limitierende Faktoren.
Kapitel 4 Datenstrukturen
Anwendungsverteilung und räumliche Ausdehnung
Architektur, Design oder Implementation? Ulrich Schulz, Sebastian Ordyniak.
Seminar “Kognitionspsychologie meets Ethnologie” SS 2007
von Reaktionen und chemischen Suppen
Seminar zum pi-Kalkül betreut von Andreas Rossberg
Abhängigkeitsbeziehung
DNS – Domain Name System
Mathematische Grundlagen
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Access 2000 Datenbanken.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Der Supermarkt: Eine beispielhafte Erklärung für die fünf untersten Schichten des Semantic Web Protocol Stack Nicola Henze.
Netzwerke Peer-to-Peer-Netz Client-Server Alleinstehende Server
Entwicklung verteilter eingebetteter Systeme - Einführung
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Duo- und Quad Prozessor-Architektur
CPLD/FPGA-Programmierung mit E-blocks. Wozu die CPLD/FPGA-Programmierung untersuchen? Zusammenhang zur modernen Digitalen Elektronik Verschwinden der.
Don`t make me think! A Common Sense Approach to Web Usability
Mit 3 Schichte zum Erfolg
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Effiziente Algorithmen
§3 Allgemeine lineare Gleichungssysteme
Sesame Florian Mayrhuber
Institut für Theoretische Informatik
Portabilität Seminar aus Softwareentwicklung: Programmierstil Christine Schiestl WS 02 / 03.
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Bonn-to-code.net Nutzung von.NET User Controls in Legacy Code Sascha Lehmann
UML-Kurzüberblick Peter Brusten.
Thread Synchronisation in JAVA
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Clean Code Software-Entwicklung als Handwerkskunst Thomas Nagel, November 2011.
Mathematik 1. Studienjahr Modul M1: Elemente der Mathematik
Objectives Verstehen was unterDelegate verstanden wird
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
David Lorge Parnas and Paul C
Rechnersysteme: Halbzeit Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Daten und Information.
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
Mehrbenutzerzugriff auf GIS-Daten
xRM1 Pilot Implementierung
HORIZONT 1 SmartJCL ® Der einfache Weg zur fehlerfreien JCL neue Version 3.2 HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel.
Datenbanken im Web 1.
2.3 Implementierung von Prozessen
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Middleware in Java vieweg 2005 © Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme.
Rules of Play - Game Design Fundamentals by Katie Salen and Eric Zimmerman Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung.
KLIMA SUCHT SCHUTZ EINE KAMPAGNE GEFÖRDERT VOM BUNDESUMWELTMINISTERIUM Co2 online.
Objektorientierte (OO) Programmierung
Meine Themen: Entwicklung der EDV EDV-Möglichkeiten PC-Komponenten
Human Plant Interfaces MakeyMakey Workshop by Florian Weil - Potsdam
Uduvudu: a Graph-Aware and Adaptive UI Engine for Linked Data UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG WS 2015/2016.
Objektorientierte Programmierung Was ist das eigentlich ?
Marco Schamberger, Dennis Naumann, Christian Wackernagel
מבוא למערכות מחשב ואסמבלי
 Präsentation transkript:

On a Buzzword: Hierachical Structure David Parnas

Einleitung hierarchische Struktur Sinnbild für gute Software es gibt nicht die hierarchische Struktur Was bedeutet hierarchische Struktur ? Unterschiede und Gemeinsamkeiten Vor- und Nachteile

Allgemeine Eigenschaften Struktur bezieht sich auf teilweise Beschreibung eines Systems als eine Ansammlung von Teilen mit Beziehungen untereinander hierarchisch: Relation R(a,b) um Level zu definieren

Allgemeine Eigenschaften Relation R(a,b) um Level zu definieren: 1. Level 0 ist Menge von Teilen a, so dass es kein b gibt mit R(a,b) 2. Level i ist die Menge von Teilen a, mit a) es gibt ein b auf Level i-1 mit R(a,b) b) falls R(a,c), dann ist c auf Level i-1 oder niedriger

Allgemeine Eigenschaften ist nur möglich falls der R repräsentierende Graph kreisfrei ist hierarchische Struktur enthält aber keinerlei Information jedes System kann so eingeteilt werden also muss genauer spezifiziert werden, worauf sich die Hierarchie bezieht

The Program Hierarchy die Teile eines Systems sind Unterprogramme, die wie Prozeduren aufgerufen werden Relation uses USES(p i,p j ): p i ruft p j und gilt als inkorrekt, wenn p j nicht korrekt funktioniert -> hierarchische Struktur

The Program Hierarchy – Wozu ? das aufrufende Programm braucht die interne Struktur des gerufenen nicht kennen u.u. lower level Programme können auch genutzt werden, wenn higher level Programme noch nicht fertig sind

Die Habermann Hierarchie um das System halbwegs unabhängig von der Zahl und der Geschwindigkeit der Prozessoren zu machen, wurde es als Menge parallel sequenzieller Prozesse designed alle Aktivitäten des Systems waren in Prozessen organisiert

Die Habermann Hierarchie Folge von Ereignissen innerhalb eines Prozesses leicht vorhersagbar Abfolge von Ereignissen unterschiedlicher Prozesse nicht vorhersagbar Prozesse tauschen Aufgaben und Informationen aus

Die Habermann Hierarchie Relation gives work to beide vorgestellten Hierarchien fallen zusammen parallele Prozesse, geben nur Aufgaben an Prozesse gleicher oder niederer Level muss aber nicht immer so sein

Hierarchical Structures Relating to Resource Ownership and Allocation Objekte sind Prozesse, Relation ist allocated a memory region to Nachteil: schlechte Nutzung der Ressourcen, falls einige Prozesse zu wenig haben, während andere zu viel haben Anfragen nach neuen Ressourcen müssen u.U. den ganzen Weg durch die Hierarchie, bis sie beantwortet werden

Protection Hierarchies die Daten, die am wichtigsten für das Betriebssystem sind, werden von den inner ring procedures kontrolliert diese haben unbeschränkten Zugriff auf Programme und Daten des outer ring der outer ring umfasst Daten, die nur wenige user betreffen und daher weniger sensibel sind Hierarchie: can be accessed by

Hierarchies and Top Down Design Methodology Intention: mit einer Beschreibung des user interface beginnen und in kleinen Schritten zur Implementation gelangen top bedeutet sichtbar für den Nutzer Aber: einige low level functions sind verfügbar (load, store) einige high level Funktionen nicht (restart system)

Hierarchical Structures and Decomposition into Modules Relation part of Gruppe von Unterprogrammen ist Teil eines Moduls, Gruppen von Modulen sind Teile eines größeren offensichtlich kreisfrei sogar kreisfrei, wenn Programme oder Module Teil mehrerer Module sein können

Levels of Language high level language vs. low level language inkonsistent besser: less efficient than has a bigger grammar than has a bigger compiler than

Zusammenfassung Hierarchische Strukturen können sehr verschieden sein es gibt Vorteile gegenüber unstrukturiertem Design aber immer auch Nachteile präzisere Definitionen nötig