Institut für Informatik III, Universität Bonn, c/o 2001, 24.04.2014Präsentation Agenten, Objekte, Komponenten - Agenten, Objekte, Komponenten - ein Paradigma-Vergleich.

Slides:



Advertisements
Ähnliche Präsentationen
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Advertisements

Objektorientierte Programmierung
Objektorientierung Auffassung der Software als eine Sammlung
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Kapselung , toString , equals , Java API
Warum Objektorientierung?
Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java
Datenbankzugriff im WWW (Kommerzielle Systeme)
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
XDoclet ETIS SS05.
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
1 WS 2012 Software-Engineering II Aspektorientierung.
RDF-Schema Seminar: „Semantic Web“ André Rosin,
DVG Einführung in Java1 Einführung in JAVA.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
OO Analyse und Entwurf für Anwender
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
UML Begleitdokumentation des Projekts
Forschungszentrum Informatik, Karlsruhe Objektorientierte Systeme unter der Lupe Markus Bauer Oliver Ciupke.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Diplomarbeit Thema: Untersuchungen zur Spezifikation und Realisierung von Interoperabilitätskonzepten (hauptsächlich) CORBA-basierter Multiagentensysteme.
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.
Entwurf und Realisierung einer digitalen Bibliothek zur Verwaltung von Notenhandschriften Dipl.-Ing. Temenushka Ignatova Datenbank- und Informationssysteme,
Einführung in die Agenten-Technologie
Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Architekturen und Techniken für computergestützte Engineering Workbenches.
Architekturen und Techniken für computergestützte Engineering Workbenches.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
Beschreiben Sie das Szenario wenn ein ORB einen Server aktiviert und eine Objektimplementation aufruft. Activate Server impl_is_ready Activate Object (GetID.
Beschreiben Sie eine Web Interaktion mittels Java Applets.
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
Management- und Web Services- Architekturen
Vom Geschäftsprozess zum Quellcode
EPROG Tutorium #4 Philipp Effenberger
Von UML 1.4 zu UML 2.0 InfoPoint vom Mittwoch
Arbeitsbereich „Rechnernetze und verteilte Systeme“
Objektorientierung.
Objektorientierte Modellierung mit UML
ATLAS2000 Modellintegration in digitalen Atlanten Konzepte und Lösungsvorschläge am Beispiel ATLAS2000.
Klassen und Klassenstruktur
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Dipl.-Inform. Med. Anton Brass Helmholtz Zentrum München IBMI München,
Unified Modeling Language UML
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
->Prinzip ->Systeme ->Peer – to – Peer
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
Vortrag - Diplomarbeiten (HS I)
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
MDA – Model Driven Architecture
Sichtbarkeit einschränken
Objektorientierte (OO) Programmierung
Objektorientierte Programmierung Was ist das eigentlich ?
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
 Präsentation transkript:

Institut für Informatik III, Universität Bonn, c/o 2001, Präsentation Agenten, Objekte, Komponenten - Agenten, Objekte, Komponenten - ein Paradigma-Vergleich Vortrag im Rahmen des Forum Bauinformatik 2001 München, 12. Oktober 2001 Dipl.-Inform. Sascha Alda Institut für Informatik III

Institut für Informatik III, Universität Bonn, c/o 2001, Paradigmen in der Software Technik Der Begriff Paradigma In der Software Technik bezeichnet man ein Paradigma als eine Menge von Regeln, um ein realweltliches System auf ein Computer Model abzubilden, bzw. zu modellieren. Abstraktion von unwesentlichen Details Aufteilung des Systems in Softwaretechnische Artefakte Vorstellung und Vergleich des 1.Objektorientiertem Paradigma 2.Agentenorientiertem Paradigma 3. Komponentenorientiertem Paradigma

Institut für Informatik III, Universität Bonn, c/o 2001, Objektorientierung Grundlegende Eigenschaften Wohlunterscheidbare Entität aus Domänenwelt. Zusammenfassung von Methoden (=Verhalten) und Daten Kapselt Zustand Zustand (nur) durch Methoden änderbar Object X a void a ( ); b string b ( boolean ); char a ; Weitere Konzepte Vererbung Generalisierung Aggregation Polymorphismus Objekt Modelle Basismodel Statisches Model Dynamisches Model Unterstützung O.O. durch... Programmiersprachen (Java, C++, ADA, Eiffel, Smalltalk) Modellierungssprachen (UML, OMT, Booch) Datenbanken (OO-DB) CASE Tools (Together) X public class X extends Object { private char a; a public void a ( ); b public string b ( boolean b ); }

Institut für Informatik III, Universität Bonn, c/o 2001, IntelligenteAgenten Environment Sensor Input Action Output Autonomie ProaktivitätReaktivität Charakter Agenten Technologie Agents can be seen as a computer system, that is situated in some environment, and that is capable of autonomous action within this environment in order to meet its design objectives. (Wooldridge) Mobilität Kommuni- kation Dynamisch Deterministisch Lernfähig- keit

Institut für Informatik III, Universität Bonn, c/o 2001, Vergleich von Agent und Objekt 2.Agent: Kapselung von Wissen und Zielen (Absichten) sowie Operationen –Wissen kann zur Laufzeit erweitert werden (Agent kann lernen) Objekt : Kapselung von Daten sowie Operationen –Lernfähigkeit zur Laufzeit bei Objekten vollkommen unerwünscht 1.Agent = Entität (=Subjekt, aktives Objekt) Objekt = Entität aus einer realen Domänenwelt 3.Agenten System i.d.R. schwieriger zu entwickeln als Objekt System –Berücksichtung von Konsistenz-, Koordinations- u. Sicherheitsaspekte

Institut für Informatik III, Universität Bonn, c/o 2001, Vergleich von Agent und Objekt 5. Ein Objekt darf nicht autonom handeln. Ein Objekt agiert nur nach Input oder Anforderung von einem anderen Objekt 4. Agent kann den Request zur Ausführung einer Operation ablehnen, ein Objekt kann dies nicht: (Objekt System) (Agenten System) 6. Ein Agent besitzt seinen eigenen Kontroll Prozess (Thread). In einem Objekt System gibt es einen Kontroll Prozess

Institut für Informatik III, Universität Bonn, c/o 2001, Kaum unterstützende (standardisierte) Technologien bei Agenten (z.B. Programmiersprachen, Modellierungsmethoden, Tools) => Rückgriff auf Technologien von anderen Paradigmen, z.B. JAVA: Agent AutonomieReaktivität Kommunikation (Java-)Objekt ThreadEvents RMI realisiert duch Mobilität Java Archive Files Serialisierbarkeit Bedeutung von Java für Agententechnologie I

Institut für Informatik III, Universität Bonn, c/o 2001, Bedeutung von Java für Agententechnologie II Nachteile Kein Versenden und Rekonstruktion aktiver Informationen –genauer Ausführungsstatus (z.B. Programmzähler, Stack,...) Keine Möglichkeit für den Host, Ressourcen zu verwalten u. zu begrenzen –Systemüberlastung durch fremden Code Keine Zugriffsrechte auf Public Methoden

Institut für Informatik III, Universität Bonn, c/o 2001, Komponenten Technologie Kompositionseinheit l Abgeschlossenheit l Eindeutig definierte Schnittstellen l Kontextabhängigkeiten Adaptivität l Konfigurierbarkeit l Austauschbarkeit zur Laufzeit Mobilität l Plattformunabhängigkeit l Serialisierbarkeit Skalierbarkeit l Räumliche Verteilung l Transparenz Flexibilität l Unabhängigkeit (von konkreten Komponenten) l ereignisbasiertes Kommunikationsmodell l Verbindungen zur Laufzeit

Institut für Informatik III, Universität Bonn, c/o 2001, Vergleich Komponenten und Agent Viele Übereinstimmungen von Eigenschaften zwischen Agent und Komponente, z.B. –Mobilität –Kommunikationsmodell –Anpassbarkeit –Verteiltheit Auch hier: Bessere Unterstützung der Komponententechnologie durch: –Programmiersprachen, z.B. Java (-->JavaBeans) –Werkzeuge zur Komposition und Anpassung von Komponenten –Standardisierte Komponentenmodelle etc.

Institut für Informatik III, Universität Bonn, c/o 2001, Zusammenhang zwischen Paradigmen Objekt- Orientierung Dynamische Aspekte Agenten- Technologie Wiederver- wendbarkeit Kompo- nenten- Technologie Basistechnolgie => Paradigmen vermischen sich

Institut für Informatik III, Universität Bonn, c/o 2001, Backup Folien

Institut für Informatik III, Universität Bonn, c/o 2001, Bedeutung von Java für Agententechnologie II Vorteile –Plattformunabhängigkeit –Dynamisches Laden von Klassen –Serialisierbarkeit –Threads –Sicherheit Nachteile –kein Versenden und Rekonstruktion aktiver Informationen –genauer Ausführungsstatus (z.B. Programmzähler, Stack,...) –Keine Möglichkeit für den Host, Ressourcen zu verwalten u. zu verwalten –Systemüberlastung durch fremden Code –Keine Zugriffsrechte auf Public Methoden

Institut für Informatik III, Universität Bonn, c/o 2001, Objektorientierung - Motivation zur Komponententechnik Das objektorientierte Paradigma ermöglicht es, wiederverwendbare, integrierbare Software Systeme zu entwickeln Trotzdem Feststellung: –Viele Beziehungen zwischen Objekten –Umfangreiche, wenig standardisierte Schnittstellen. => verringert den Grad der Integration und der Wiederverwendbarkeit

Institut für Informatik III, Universität Bonn, c/o 2001, Client Server ACL Einsatz der Paradigmen - Ein Beispiel Client-Server Communication Agent Komponente

Institut für Informatik III, Universität Bonn, c/o 2001, Objektorientierung als Basistechnologie Einsatz der Komponententechnologie zur Realisierung von verteilten, anpassbaren, flexiblen Systemen. Bedarfsgerechter, pragmatischer Einsatz der Agententechnologie. Beispiele: 1.Konflikterkennung und -beseitigung durch stationäre Agenten 2.Verbesserung von DB Queries an verteilte Datenquellen => Reduzierung der Netzbelastung durch mobile Agenten Move the computations to the data rather than the data to the computations Einsatz der Paradigmen