430 likes | 687 Views
Ontologien zur Erstellung und Verbreitung von Unternehmensmodellen Anforderungen, Herausforderungen, Erfolgsfaktoren. Ulrich Frank http://www.uni-koblenz.de/~iwi. Überblick. Unternehmensmodellierung mit MEMO Ebenen von Unternehmensontologien Offene Probleme der Unternehmensmodellierung
E N D
Ontologien zur Erstellung und Verbreitung von Unternehmensmodellen Anforderungen, Herausforderungen, Erfolgsfaktoren Ulrich Frank http://www.uni-koblenz.de/~iwi
Überblick • Unternehmensmodellierung mit MEMO • Ebenen von Unternehmensontologien • Offene Probleme der Unternehmensmodellierung • Kritische Anmerkungen zur Ontologieforschung • Hinweise für eine erfolgreiche Ontologieforschung in der Wirtschaftsinformatik
Berater Geschäftsführer Programmierer Motivation: Vermeidung von Mehrarbeit und Friktionen durch gemeinsame Sprache #include "mm_jsapi.h" /* Every implementation of a Javascript function must have this signature */ JSBool computeSum(JSContext *cx, JSObject *obj, unsigned int argc, jsval *argv, jsval *rval) { long a, b, sum; /* Make sure the right number of arguments were passed in */ if (argc != 2) return JS_FALSE;
Ziele generischer Bezugsrahmen Makroprozess Modellierungssprachen Mikroprozess angepasster Bezugsrahmen angepasste Ziele angepasster Makroprozess erweiterte/modifizierte/neue Modellierungssprachen angepasster Mikroprozess MEMO: Adaptierbare Methode Methode = + Vorgehensweise Struktur Bewertungskriterien MEMO-Kern Adaption(z.B.: E-Commerce)
Aspekte Aspekte Ressource Ressource Struktur Struktur Prozess Prozess Ziel Ziel Personal Technologie Personal Technologie SGE SGE Wertkette Wertsystem Wertkette Wertsystem Wettbewerbs-fähigkeit Wettbewerbs-fähigkeit Strategie Strategie Perspektiven Organisation Organisation Mitarbeiter Betriebsmittel Mitarbeiter Betriebsmittel Organisations-struktur Organisations-struktur Aufgabe Prozess Aufgabe Prozess Operative Ziele Operative Ziele Informations-system Informations-system Plattform Anwendung Plattform Anwendung Architektur Objektmodell Architektur Objektmodell Transaktion Workflow Transaktion Workflow Anforderung Metrik Anforderung Metrik Der MEMO-Bezugsrahmen Perspektiven
Start Stop Auftragsbearbeitung in Baustoffgrosshandel (1) <Sachbearbeiter> Auftrag abgelehnt Kunden informieren Menge nicht verfügbar <Sachbearbeiter> <Sachbearbeiter> Auslieferung an Wunschtermin nicht möglich <Fuhrparkleiter> Auftrag ablehnen Lieferfähgikeit klären Auftrageingegangen <Sachbearbeiter> Logistik klären Menge verfügbar Auftrag bestätigen Auslieferung möglich
Start OR Auftragsbearbeitung in Baustoffgrosshandel (2) <Sachbearbeiter> Menge nicht verfügbar <Sachbearbeiter> Auftrag ablehnen Lieferfähgikeit klären Menge verfügbar Auftrageingegangen <Fuhrparkleiter> <Sachbearbeiter> Auslieferung an Wunschtermin nicht möglich Logistik klären AND Auftrag bestätigen Auslieferung möglich
Metamodell der MEMO-OML (Ausschnitt) part of GenericClass BasicAttribute ClassFeature BasicService AssociationLink BasicInteraction linked via features specialised from Spezialisierungen dürfen nicht zyklisch sein A C1 C1 Attribute ObjectModel 1,* 1,1 RedefinedAttribute 0,* 0,* 0,* 1,1 Multiplicity InteractionLink 1,1 DeferredInteraction 1,1 0,* RedefinedInteraction
probability specifies Real 0,* 0,1 ProcessType BasicService Activity GenericClass Organisa-tionalUnit InputOutputSpec OutputSpec part of includes context for specifies 0,1 0,* 1,1 0,* 1,* 1,* MEMO-SML 1,1 1,* responsible for MEMO-OrgML composed of ValueChain A ComplexProcessType 0,* 0,* composed of 1,* 0,1 MEMO-OML 0,* 0,1 AggregatedUnit 0,* Position Integration der Sprachen durchgemeinsame Konzepte
Meta-Metamodell Instanz von Metamodelle MEMO-OML MEMO-SML MEMO-OrgML Objektmodelle als Rekonstruktionen Integriertes Objektmodell Sichten auf diverse dedizierte Werkzeuge Die MEMO-Spracharchitektur
Zustand Ausnahme Klasse Aggregation Spezialisierung Ereignis Generalisierung Strategie Workflow Ressource Geschäftsprozess Wertkette Rolle Organisationseinheit Elektronischer Zahlungsverkehr Prototypische Instanz Preisbildungs-mechanismus Prozesskosten Ebenen von Unternehmensontologien Grundlegende Konzepte Generische Anwendungskonzepte Speziellere Konzepte
Offene Probleme der Unternehmensmodellierung • Grenzen der Formalisierbarkeit • Unterscheidung von Abstraktionsebenen • Spezialisierung vs. Instanzierung • Spezialisierung von Prozesstypen • Semantische Friktionen zwischen Modellierung und Implementierung
Grenzen (?) der Formalisierbarkeit • zahlreiche Begriffe, die sich gegen funktional äquivalente Formalisierung sperren (intentionale Semantik, nicht überschaubare Varianz ...) • Beispiele: • Wettbewerbsfähigkeit • Kundenorientierung • ... • Gefahr: begriffsverzerrende Vereinfachungen • Beschränkung auf sinnvoll formalisierbare Begriffe als Alternative?
Unterscheidung von Abstraktionsebenen • gängige Unterscheidung in Meta- und Objektebene nicht immer hinreichend • alltagsweltlicher Sprachgebrauch durch Überladung von Begriffen (Abstraktionsebenen) gekennzeichnet • zusätzliches Problem: Systementwicklung sieht i.d.R. nur zwei Abstraktionsebenen vor
Product Name: String Description: String Product B Home_Electronics Weight: RealE_Consumption: Real... Product C Product D Product E Product F Product G TV Screen_Type: S_TypeScreen_Size: Real... CD_Player Range: IntegerOptical: Boolean... Product H Product I Beispiel: Modellierung von Produkten + product specific semantics + use of generalization allows for additional abstraction - introduction of new product type implies modification of schema/code - configurations of products not possible
Levels of Abstraction (1) language to define product types Meta instance of Type product type instance of particular product type Initialized Product Type
Product_Type Name: String Description: String Feature_Type Name: StringType: String includes 1,1 0,* Levels of Abstraction (1) language to define product types Meta instance of Type product type instance of particular product type Initialized Product Type
TV Length_Unit: StringWidth_Unit: StringHeight_Unit: StringHeight: RealWidth: RealLength: Realname: StringScreen_Size: RealFrequency: Integer Levels of Abstraction (1) language to define product types Meta instance of Type product type instance of particular product type Initialized Product Type
TV Length_Unit: StringWidth_Unit: StringHeight_Unit: StringHeight: RealWidth: RealLength: Realname: StringScreen_Size: RealFrequency: Integer Levels of Abstraction (1) language to define product types Meta instance of Type product type instance of particular product type Initialized Product Type different levels of abstraction
TV Length_Unit: ‚cm‘Width_Unit: ‚cm‘Height_Unit: ‚cm‘Height: 55Width: 80Length: 52name: Sony TS-88Screen_Size: 60Frequency: 100 Levels of Abstraction (1) language to define product types Meta instance of Type product type instance of particular product type Initialized Product Type
TV Length_Unit: ‚cm‘Width_Unit: ‚cm‘Height_Unit: ‚cm‘Height: 55Width: 80Length: 52name: Sony TS-88Screen_Size: 60Frequency: 100 Levels of Abstraction (1) language to define product types Meta instance of Type product type instance of particular product type Initialized Product Type redundant
Levels of Abstraction (2) Product Type product type specialized from Specialized Type product type
Internet-TV Length_Unit: StringWidth_Unit: StringHeight_Unit: StringHeight: RealWidth: RealLength: Realname: StringScreen_Size: RealFrequency: IntegerOS: String Levels of Abstraction (2) Product Type product type specialized from Specialized Type product type
Levels of Abstraction (3) Initialized Product Type product type ‚cloned‘ from Cloned Type product type
TV Length_Unit: ‚cm‘Width_Unit: ‚cm‘Height_Unit: ‚cm‘Height: 55Width: 80Length: 52name: Sony T-88Screen_Size: 60Frequency: 50 Levels of Abstraction (3) Initialized Product Type product type ‚cloned‘ from Cloned Type product type
Levels of Abstraction (4) Initialized Product Type product type ‚instance‘ of Particular Product Instance particular instance
Levels of Abstraction (4) Initialized Product Type product type ‚instance‘ of Particular Product Instance particular instance TV Length_Unit: ‚cm‘Width_Unit: ‚cm‘Height_Unit: ‚cm‘Height: 55Width: 80Length: 52name: Sony TS-88Screen_Size: 60Frequency: 100Serial: ‚AV-7392C‘
Problem • domain suggests multiple levels of abstraction • in some cases conflict between instantiation and specialisation relationships • common system architectures allow for two layers (schema, instance) only Consequences • no perfect solution feasible • instead: overloading of existing layers
Spezialisierung vs. Instanzierung • Differenzierung umgangssprachlich diffus: in beiden Fällen häufig „is a“ • formal allerdings eindeutig unterscheidbar • Problem: mitunter beides benötigt, Konzepte aber nicht orthogonal
GenericProcess startsAt: Time EndsAt: Time OrderManagement scheduledFor: Time CheckIn priority: Integer Abstraction 1: Generalisation • identify common properties of a set of classes • define superclass using these properties Example:
Generalisation - Evaluation + fosters re-use of concepts within subclasses + corresponds to a common way to organize knowledge - restricted to the introduction of concepts that can be specialized from existing ones - hence, lacks flexibility required for continous growth of knowledge within a KMS
ProcessType averageDur: Integer maxDur: Integer BasicProcessType AggProcessType Abstraction 2: Metaconcepts • define the concepts needed to specify a type composed of Example:
Instantiation - Evaluation + allows for introducing new concepts as instances of metaconcepts + corresponds to a specialized language - does not allow for the re-use of knowledge about features of instances - requires more levels of abstraction than usually available
<Clerk> Order denied Inform Customer Amount not available <Clerk> <Clerk> Start Stop <Head of logistics> Delivery at requested date not possible Deny order Determine ability to deliver Order arrived <Clerk> Determine logistics Amount available Confirm order Delivery possible Spezialisierung von Prozesstypen • wichtiges Konzept zur Förderung von Wiederverwendbarkeit und Wartbarkeit • einige Vorschläge zur Spezifikation von Spezialisierung in der Literatur • aber: bisher keine überzeugende Lösung
Friktion zwischen Modellierungs- und Implementierungssprachen – Beispiel: Spezialisierung
Generalisierung/Spezialisierung • scheinbar intuitives Konzept • aber: keine einheitliche Semantik • Alltagsweltliches Verständnis weicht in mitunter subtiler Weise von formaler Semantik bei Programmier- oder Datenbanksprachen ab. • Vor allem: Semantik gängiger Programmiersprachen unterscheidet sich zum Teil erheblich vom Alltagsverständnis
Dozent Student Programmierer Mitarbeiter Generalisierungshierarchie - Beispiel Person Wieso ist diese Generalisierung problematisch?
Studentischer Programmierer ProgrammierenderStudentischerMitarbeiter Studentischer Mitarbeiter Mehrfachvererbung Dozent Student Person Programmierer Mitarbeiter Was ist hier problematisch?
Problemursache • Kontra-Intuitive Semantik von Generalisierung/ Spezialisierung in gängigen Programmiersprachen: • Ein Objekt gehört immer genau einer (und nur einer) Klasse an • Alltagsweltliche Bedeutung: Klassenzugehörigkeit kann mit dem Kontext variieren. • Extensionale Klassenbegriffe in der Mathematik (Mengenlehre) oder Teilgebieten der Informatik (z.B. Datenbanken) erlauben ebenfalls, dass ein Objekt gleichzeitig mehreren Klassen zugehört.
Kritische Anmerkungen zur Ontologieforschung • das Sprachparadoxon • isoliert: in der Informatik weitgehend losgelöst von der (Referenz-) Modellierung • unzureichende Profilierung gegenüber alternativen Ansätzen (vor allem: Sprachen) • zentrales Problem: mangelnde Zielorientierung • ergo: keine überzeugenden Maßstäbe für Qualität und Erfolgskontrolle
Fazit: Erfolgsfaktoren für die Ontologieforschung • Kritik an Unzulänglichkeiten der Begriffsbildung in Fachdisziplinen, insbesondere im Bereich der konzeptionellen Modellierung • aber auch: Präsentation leistungsfähiger Lösungen • Ziele der Ontologieformulierung explizit machen, Ergebnisse daran messen • offener Wettbewerb alternativer Ontologiesprachen (impliziert kritischen, nachvollziehbaren Vergleich)