Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Programming

Framework für Zustandsorientierte Programmierung

Einsatz bei der Implementierung eines Service-Containers

Title: Framework für Zustandsorientierte Programmierung

Diploma Thesis , 2007 , 105 Pages , Grade: 1,0

Autor:in: Dipl. Wirt.-Inf. (FH) Christian Silberbauer (Author)

Computer Science - Programming
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

Mit Hilfe einer Sammlung von Zustandsklassen werden Attribute gekapselt und darüber funktional miteinander in Verbindung gebracht. Das Framework bietet insbesondere Unterstützung für das Lifecycle-Management von Services in Verteilten Systemen.

Excerpt


Inhaltsverzeichnis

1. Einleitung

2. Grundlegende Begriffsdefinitionen

2.1. Zustand

2.2. Framework

2.3. Design Patterns

3. Das SDS-Projekt

3.1. SDS Container

3.2. Zustände von SDS Components

3.3. Zustände von Services

3.4. Abhängigkeiten zu verschiedenen Komponentenzuständen

4. Motivation

5. Konzeption

5.1. Modell eines Zustandsobjekts

5.2. Transitionsalgorithmus

5.3. Elementare Arten von Zustandsobjekten

5.3.1. Einfache Zustandsobjekte

5.3.2. Aggregierte Zustandsobjekte

5.3.3. Maskierte Zustandsobjekte

5.3.4. Geschaltete Zustandsobjekte

5.3.5. Strebsame Zustandsobjekte

5.4. Zusammengesetzte Arten von Zustandsobjekten

5.4.1. Kombinierte Zustandsobjekte

5.4.2. Integrierte Strebsame Zustandsobjekte

5.4.3. Gemeinsame IS-Zustandsobjekte

6. Entwurf

6.1. Klasse StateBase (Grundversion)

6.2. Klasse State

6.3. Klasse AggregateState

6.4. Klasse MaskedState

6.5. Klasse SwitchedState

6.6. Klasse StrivingState

6.7. Klassen ComboState, ISState, SharedISState und CompositeState

6.8. Klasse MaskPool für ISState

6.9. TransitionMode und ActivityHandler für StateBase

7. Anwendung im SDS Container

7.1. ComponentManager

7.2. ServiceManager

7.3. Beispielszenarien für den LifecylceState

8. Mögliche Erweiterungen

8.1. Ein weiteres Zustandsobjekt: Das Funktions-ZO

8.2. Konfiguration der Zustandsobjekte mittels Annotations und XML

9. Die Zustandsorientierte Programmierung

Zielsetzung & Themen

Die Arbeit verfolgt das Ziel, ein flexibles Zustandsframework in C# zu entwerfen, das ein zustandsorientiertes Programmierparadigma unterstützt. Die Forschungsfrage konzentriert sich darauf, wie komplexe Abhängigkeiten zwischen Attributen in einem Service-Container (speziell dem SDS-Projekt von Siemens) durch die Kapselung in modularen Zustandsklassen deklarativ und wartbar umgesetzt werden können.

  • Entwicklung von Zustandsklassen zur Kapselung von Attributen
  • Implementierung eines Transitionsalgorithmus zur Zustandssteuerung
  • Anwendung von Design Patterns wie Observer, Strategy und Composite
  • Realisierung von Lifecycle-Management für verteilte Systemkomponenten
  • Konzeptuelle Trennung von Zustandslogik und Anwendungslogik

Auszug aus dem Buch

5.1. Modell eines Zustandsobjekts

Zustandsobjekte sind Objekte im Sinne der OOP. Sie sind Behälter für Zustände. Sie exponieren Zustände. Da es im Zusammenhang mit Zustandsobjekten nur so von Zuständen wimmelt, wird der Eindeutigkeit halber der Zustand eines Zustandsobjekts auch als exponierter Zustand bezeichnet. Die Zustände in einem Zustandsobjekt sind von einem bestimmten Zustandstyp. Zustandsobjekte sind parametrisiert durch einen Zustandstyp.

Ein Zustandstyp definiert eine Menge von zusammengehörigen Zuständen, die durch Transitionen miteinander verkettet sind. Technisch gesehen werden Zustandstypen üblicherweise durch Enumerationen, aber auch durch elementare Typen (double, int) abgebildet.

Zustandsobjekte besitzen zu jedem Zeitpunkt genau einen Zustand. Dieser wird durch einen sog. Transitionsalgorithmus (bzw. Zustandsübergangsalgorithmus) bestimmt. Der Transitionsalgorithmus ist durch die Art des Zustandsobjekts festgelegt. Er besitzt meist verschiedene Eingabegrößen. Durch jede Änderung einer Eingabegröße wird der Transitionsalgorithmus ausgeführt und ein oder mehrere Zustandsübergänge finden statt, wenn sich der neu ermittelte Zustand vom bisherigen Zustand unterscheidet.

Zusammenfassung der Kapitel

1. Einleitung: Einführung in das Programmierparadigma der Zustandsorientierung und Vorstellung des entwickelten Zustandsframeworks in C#.

2. Grundlegende Begriffsdefinitionen: Definition zentraler Begriffe wie Zustand, Framework und Design Patterns im Kontext der objektorientierten Softwareentwicklung.

3. Das SDS-Projekt: Vorstellung des Siemens Distributed System, insbesondere des Service-Containers und dessen Anforderungen an das Lifecycle-Management.

4. Motivation: Analyse der Komplexität des Zustandshandlings im SDS-Container und Begründung für die Notwendigkeit eines flexiblen Zustandsframeworks.

5. Konzeption: Darstellung des konzeptionellen Modells eines Zustandsobjekts, des Transitionsalgorithmus und der verschiedenen Arten von Zustandsobjekten.

6. Entwurf: Detaillierte Beschreibung der Implementierung der Zustandsklassen im Framework unter Verwendung relevanter Design Patterns.

7. Anwendung im SDS Container: Demonstration der Integration der entwickelten Zustandsklassen in den ComponentManager und ServiceManager des SDS-Systems.

8. Mögliche Erweiterungen: Vorschläge zur Erweiterung des Frameworks, insbesondere durch Funktions-Zustandsobjekte und eine verbesserte Konfiguration mittels Annotations und XML.

9. Die Zustandsorientierte Programmierung: Zusammenfassende Einordnung des Frameworks in das Paradigma der zustandsorientierten Programmierung.

Schlüsselwörter

Zustandsorientierte Programmierung, C#, Framework, Zustandsobjekt, Lifecycle-Management, Transitionsalgorithmus, Service-Container, Entwurfsmuster, Observer-Pattern, Strategy-Pattern, Composite-Pattern, Komponenten, Software-Design, Middleware, Siemens Distributed System

Häufig gestellte Fragen

Worum geht es in dieser Diplomarbeit grundsätzlich?

Die Arbeit beschäftigt sich mit der Entwicklung eines Software-Frameworks in C#, das die zustandsorientierte Programmierung unterstützt. Dabei werden Attribute von Klassen in speziellen Zustandsobjekten gekapselt, um logische Abhängigkeiten zwischen ihnen funktional zu organisieren.

Was sind die zentralen Themenfelder der Arbeit?

Im Zentrum stehen das Lifecycle-Management von Softwarekomponenten in verteilten Systemen, die Anwendung von Design Patterns (wie Observer, Strategy, Composite) zur strukturierten Umsetzung von Zustandslogik sowie die Trennung von Kontrollfluss und fachlicher Funktionalität.

Welches primäre Ziel verfolgt der Autor?

Das Hauptziel ist die Entlastung der Anwenderklassen (z.B. ComponentManager) von komplexer Zustandsverwaltung. Durch das Framework soll das Zustandshandling flexibel, wartbar und modular gestaltet werden, um auf Änderungen der Systemanforderungen effizient reagieren zu können.

Welche wissenschaftliche Methode wird verwendet?

Es handelt sich um einen konstruktiven Ansatz der Informatik: Basierend auf einer Anforderungsanalyse für ein spezifisches System (SDS-Container) wird ein Framework konzipiert, entworfen und in Form einer Referenzimplementierung realisiert.

Was wird im Hauptteil der Arbeit behandelt?

Der Hauptteil gliedert sich in eine theoretische Fundierung der Zustandsorientierung, das konkrete Konzept der Zustandsobjekte (mit Transitionsalgorithmus), den technischen Entwurf der Framework-Klassen und schließlich die Anwendung dieser Konzepte im SDS-Service-Container.

Welche Begriffe charakterisieren die Arbeit am besten?

Die Arbeit ist geprägt durch Begriffe wie "Zustandsobjekt", "Exponierter Zustand", "Transition", "Strebsame Zustandsobjekte" (für Lifecycle-Steuerung), "Integrierte Zustände" sowie verschiedene Entwurfsmuster, die die Kommunikation zwischen Komponenten steuern.

Wie werden Zustandsübergänge bei komplexen Abhängigkeiten verhindert?

Hier kommen sogenannte "restriktive Zustandsobjekte" zum Einsatz. Diese können als Start- oder Stopp-Restriktionen fungieren und definieren Bedingungen, unter denen ein Zustandsübergang geblockt wird, falls beispielsweise eine abhängige Komponente noch nicht bereit ist.

Was ist das Besondere am "Integrierten Strebsamen Zustandsobjekt" (IS-Zustandsobjekt)?

Diese Objekte dienen der Steuerung von Komponentenlebenszyklen, bei denen Komponenten von anderen Komponenten abhängig sind. Sie bilden ein Netz, in dem sich die Zustände gegenseitig über Restriktionen beeinflussen, um sicherzustellen, dass ein System konsistent hochgefahren oder heruntergefahren wird.

Excerpt out of 105 pages  - scroll top

Details

Title
Framework für Zustandsorientierte Programmierung
Subtitle
Einsatz bei der Implementierung eines Service-Containers
College
University of Applied Sciences Regensburg
Grade
1,0
Author
Dipl. Wirt.-Inf. (FH) Christian Silberbauer (Author)
Publication Year
2007
Pages
105
Catalog Number
V85153
ISBN (eBook)
9783638894661
Language
German
Tags
Framework Zustandsorientierte Programmierung
Product Safety
GRIN Publishing GmbH
Quote paper
Dipl. Wirt.-Inf. (FH) Christian Silberbauer (Author), 2007, Framework für Zustandsorientierte Programmierung, Munich, GRIN Verlag, https://www.grin.com/document/85153
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  105  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint