PreprintPDF Available

Verwirrende Informatik (Entwurf)

Authors:
Preprints and early-stage research may not have been peer reviewed yet.

Abstract

Dieser Artikel ist als Beitrag zu der Diskussion gedacht, das Begriffsnetzwerk, das den Kern der Informatik ausmacht, zu bestimmen. Dieses Begriffsnetzwerk steht in dem Spannungsfeld zum einen weitgehend in unserem alltagssprachlichen Verständnis verankert zu sein, aber zum anderen mittels des spezifischen informatischen Ansatz, sich auf das Unterscheidbare zu fokussieren, auch auf genuin informatischen Konzepten aufzubauen. Diese wechselseitige Beziehung birgt einerseits die Chance, einen entscheidenden Beitrag zu einem differenzierteren Verständnis unserer Welt zu leisten aber andererseits das Risiko unsere Alltagswelt mit falsch verstandenen informatischen Konzepten unnötigerweise erheblich zu verwirren. Für beides gibt es mittlerweile gute Beispiele. Die zentralen Begriffe sind meiner Meinung nach die der Zustandsfunktion, des Systems, der Unterscheidbarkeit und damit der Information, der Berechenbarkeit sowie eine ganze Reihe mathematischer Konzepte, allen voran das der Relation, der Funktion, der mathematischen Struktur und der Komposition. Der grundlegende Bezug zum Informationskonzept als Abstraktion vom Ununterscheidbaren macht die Informatik zu einer Strukturwissenschaft und bindet damit die Klarheit ihrer Begrifflichkeit letztlich an deren Bezug zur Mathematik. Was scheint verwirrend in der Informatik und was klärt diese Arbeit auf? Einerseits basiert alles in der Informatik auf dem Austausch von Informationen -- andererseits scheint dieser aber bei der Beschreibung von Operationen, wie sie in imperativen Programmiersprachen verwendet werden, gar keine Rolle zu spielen. Einerseits ist Informatik geprägt durch das Konzept der Berechenbarkeit, in dem Determinismus herrscht und in dem Zustand nur passager notwendig ist -- andererseits sind die Interaktionen zwischen komplexen Systemen ''auf gleicher Augenhöhe'' in der Regel nichtdeterministisch und zustandsbehaftet. Einerseits komponieren Systeme durch Interaktion zu Supersystemen -- andererseits auch wieder nicht. Einerseits scheint in der Informatik ein Modell etwas zu beschreiben -- andererseits scheint in der Informatik ein Modell etwas Beschriebenes. Einerseits scheint das Konzept der Semantik im Bereich der Berechenbarkeit überflüssig -- andererseits scheint die Informatik zu der Aufklärung von Semantik einen wesentlichen Beitrag liefern zu können. Neben der Aufklärung dieser und weiterer Verwirrungen ist es mir wichtig, das Bild zu vermitteln, dass eine wohlverstandene Informatik tatsächlich menschlicher wird. Mit ihr können wir aufzeigen, dass eben nicht die Berechenbarkeit die Welt mit ihrem Determinismus dominiert, sondern wir permanent große Vorteile aus ihrer Unberechenbarkeit, aus ihrer Nichtdeterminiertheit ziehen. Ganz konkret lässt die enge Verbindung des von ihr erarbeiteten Protokollkonzepts mit dem des Spiels den Entscheidungsbegriff näher bestimmen und darauf aufbauend ein Konzept der alltagssprachlichen Semantik im Sinne einer Interaktionssemantik entwickeln. Damit leistet eine solche Informatik einen essentiell wichtigen Beitrag für unser Verständnis solch wichtiger alltagssprachlicher Begriffe wie der unserer persönlichen Freiheit -- was vor den aktuellen gesellschaftlichen, wesentlich durch die Informatik möglich gemachten Entwicklungen der Megainteraktionsnetzwerke, auch zu erwarten wäre und meiner Ansicht nach auch dringend erforderlich ist.
f in(t)
q(t)t t t0=t+ 1
f
out(t0)q(t0)
q(t0)
out(t0)=fint(q(t), in(t))
fext(q(t), in(t))
(in, out, q) : TI×O×Q T
I, O, Q
(t, t0)f= (fint, f ext)
(i, o, p, q)i o p
q
 A=
A∪ {}
AI×O×Q×QA
S(t, t0=t+ 1)
(inS(t), outS(t0), qS(t), qS(t0)) AA
A S
AfS
I O Q
λ
Fnn
g1, . . . , gnFmhFnf=
h(g1, . . . , gn)
gFnhFn+2 aNnbN
fFn+1 f(a, 0) = g(a)f(a, b + 1) =
h(a, b, f (a, b))
µ g Fn+1 ab g(a, b)=0
µ µb[g(a, b) = 0] b g(a, b) = 0
f(a) = µb[g(a, b) = 0]
µ
λ
T1= (Z,{incr, (1)})incr(x) = x+ 1
T0
1= (Z,{incr, incr2,(1)})incr2(x) = incr(incr(x))
S1,...,Sn
CS
Sges =CS(S1,...,Sn).
S1,...,SnSges
S1S2S3
Sges fges (x) = 2x+ 5
Sges S1
S2S2
S1S1
S3S3
S1
S1
S1S2S3
Sges fges (x) = 2x+ 5
S1S2
S3Sges
S1
S1
fges(x) = f3(f2(x)) = 2x+ 5
S2S3S1
S1S2
P
R1,...,Rn
P=CP(R1,...,Rn)
Z1
Z2
C
QZ1,2/C ={away, wait, bridge}IZ1,2=OC={go}OZ1,2=IC=
{arrived, lef t}
away
arrived wait
go
away
Z1Z2
P=CP(Z1,Z2)
D I A
I0=I×D0
if
(Bedingung) THEN Operation1 ELSE Operation2
TRUE FALSE
(Bridge, Bridge)
(Bridge, Bridge)
(Bridge, Bridge)
(Bridge, Bridge)
(wait, wait)
(wait, wait)(wait, bridge) (w ait, wait)
(bridge, w ait)
σημαντικός
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
Zusammenfassung In diesem Artikel diskutiere ich Interoperabilität von berechenbaren Systemen mithilfe des mathematischen Konzepts der Komposition. Die zentrale Vorstellung ist, dass Systeme durch Interaktion komponieren und diese Komposition mathematisch als Operator, also als Funktion auf Systemen beschreibbar ist. Daraus ergibt sich der Begriff des Interface eines Systems, als Zusammenfassung aller seiner auf die Komposition bezogenen Angaben, auf natürliche Art und Weise ebenso wie der Begriff der Komponente als eines Systems, das für eine bestimmte Komposition konstruiert wurde. Ich unterscheide zwei grundsätzlich verschiedene Kompositionen von Systemen. Zunächst die hierarchische Komposition, die Systeme als Ganzes erfasst und zur Bildung von Supersystemen führt. Sie basiert auf den Kompositionsregeln berechenbarer Funktionen und führt zu den Interfaces der Operationen (+Events) sowie zu Komponentenhierarchien. Demgegenüber steht eine zweite Form der Komposition, die Systeme nur partiell im Sinne einer Projektion erfasst und zu vergleichsweise loser Kopplung durch Protokolle führt, mit dem Interface der Protokoll-Rolle. Damit sind Interfaces, die Operationen repräsentieren, per Definitionem nur für hierarchische Kompositionen geeignet und keine wesentliche Hilfe in der Darstellung netzwerkartiger „horizontaler“ Interaktionen. Um die Anwendbarkeit des Kompositionskonzepts zu demonstrieren, werden verschiedene System‑, Interface- und Komponentenmodelle aus der Literatur diskutiert, u. a. das Komponentenmodell verteilter Objekte, sowie die Interfacekonzepte von SOA und REST.
Article
Full-text available
The concept of "type" has been used without a precise definition in discussions about programming languages for 20 years. Before the concept of user defined data types was introduced, a definition was not necessary for discussions of specific programming languages. The meaning of the term was implicit in the small list of possible types supported by the language. There was even enough similarity between different languages so that this form of definition allowed discussions of languages in general. The need for a widely accepted definition of type became clear in discussions of languages that allow users to add to the set of possible types without altering the compiler. In such languages, the concept of type is no longer implicitly defined by the set of built-in types. A consistent language must be based on a clearer definition of the notion of type than we now have.
Article
In this article, we introduce a classification of system interactions to guide the discourse on their interfaces and interoperability. It is based on a simple, but nevertheless complete classification of system interactions with respect to information transport and processing. Information transport can only be uni- or bidirectional and information processing is subclassified along the binary dimensions of state, determinism and synchronicity. For interactions with bidirectional information flow we are able to define a criterion for a layered structure of systems: we name a bidirectional interaction ”horizontal” if all interacting systems behave the same with respect to state, determinism and synchronicity and we name it “vertical” — providing a semantic direction — if there is a behavioral asymmetry between the interacting systems with respect to these properties. It is shown that horizontal interactions are essentially stateful, asynchronous and nondeterministic and are described by protocols. Vertical interactions are essentially top-down-usage, described by object models or operations, and bottom-up-observation, described by anonymous events. The interaction classification thereby helps to better understand the significant relationships that are created between interacting discrete systems by their interactions and guides us on how to talk about discrete systems, their interfaces and interoperability. To show its conceptual power, we apply the interaction classification to assess several other architectural models, communication technologies and so called software design or architectural styles like SOA and REST.
Article
Software reuse is finally here but comes with risks.
Conference Paper
a model for describing the semantic interactions of components is proposed. This grammar defines a formal model that can be used to describe the behavior of the components itself as well as the interactions between them. A distinction between deterministic and non-deterministic interactions is used to emphasize their different syntactical expressions as a protocol or object.
Article
Is there a science of system design? Just like any other design activity, system design is partly an art. However, mathematical theories and computer automation can help, and are even essential for designing complex systems reliably and economically. Until today, the plethora of different types of systems has resulted in a fragmented space of theories and tools. The advent of cyber-physical systems, which are by definition multidisciplinary, has urged researchers to rethink systems and system design, with model-based methods gaining acceptance. This paper describes some of the challenges in the domain, expanding on the key principle of compositionality.
Article
Automata theory lies at the foundation of computer science, and is vital to a theoretical understanding of how computers work and what constitutes formal methods. This treatise gives a rigorous account of the topic and illuminates its real meaning by looking at the subject in a variety of ways. The first part of the book is organised around notions of rationality and recognisability. The second part deals with relations between words realised by finite automata, which not only exemplifies the automata theory but also illustrates the variety of its methods and its fields of application. Many exercises are included, ranging from those that test the reader, to those that are technical results, to those that extend ideas presented in the text. Solutions or answers to many of these are included in the book.