DokChess Beispiel für einen Architekturüberblick. Stefan Zörner :: ::

Ähnliche Dokumente
Softwarearchitektur en passant. Schritt für Schritt eine Schach-Engine entwerfen und ihre Architektur bewerten. Stefan Zörner

Matt in drei Iterationen. Stefan Zörner oose Innovative Informatik GmbH

Stefan Zörner, oose Innovative Informatik GmbH

Verunfallte Softwarearchitektur

Verunfallte Softwarearchitektur

Softwarearchitekturen dokumentieren - voll unagil? Stefan Zörner, oose Innovative Informatik GmbH Stefan.Zoerner@oose.de

von Heinrich Glumpler und Matthias Schmitt

Schach Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2017 Brettspielnetz.de

Kleines Einmaleins der Architekturdokumentation. Teil 1: Einflüsse und Entscheidungen Historisch gewachsen?

ein Spielbrett mit 126 sechseckigen Feldern in drei Farben 51 Spielfiguren, davon je 17 in einer Farbe:

SOFTWARE- ARCHITEKTUREN

Architekturdokumentation leicht gemacht

Spielregeln für Schach

INHALTSVERZEICHNIS. Teil 6 Kristin gegen Ben: Das große Match Lösungen für die schrecklich schweren Tests Einführung...

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN:

oose. Abhängigkeiten: Die Wurzel allen Übels im Softwareentwurf. Und wie Sie sie in der Java-Entwicklung behandeln...

AGILE BODENSEE ARCHITEKTUR KATA. Auf dem Weg zu agiler Softwarearchitektur

Laurins Raumschach: Die Raumschachregel

Stefan Zörner Wiki ausgedruckt? 10 praxistaugliche Tipps für Ihre Architekturdokumentation

Inhaltsverzeichnis. Effektive Softwarearchitekturen (6. Auflage)

Effektive Software-Architekturen Ein praktischer Leitfaden

free sample Schnell & lustig Schach lernen Herbert J. Thanner Schach spielerisch Ab 5 Jahren Cubes.Art

Praktikum Algorithmen-Entwurf (Teil 7)

Ralf s Schachkurs. Das Schachmatt ist das Ziel der Schachpartie. Wer seinen Gegner schachmatt gesetzt hat, ist der Sieger.

Plastische Gestaltungsgrundlagen Prof. Ernst Thevis. Stegreif SS15 Architektur Schach

Halma Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2016 Brettspielnetz.de

arc42 Der pragmatische Leitfaden zur Architekturdokumentation

Bauerndiplom. 2 Der König

Arc42 Strukturierungshilfe für Architekturdokumentation

ARCHITEKTUR KATA als Trainingsform für agile Teams

Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: Weitere Informationen oder Bestellungen unter

6in1 Deluxe Spiele-Koffer. Spielanleitung

1. Das Schachbrett und die Figuren

Schach-AG Schachregeln

Tablut Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2016 Brettspielnetz.de

Schach für Anfänger. Hier möchte ich für Anfänger das Schachspiel näher bringen.

DEUTSCH. Der Heilige Hügel. IRLANDS KÖNIGLICHES BRETTSPIEL Spielstufe 1

Fesselung von Michael Reiter 2011

Umsichtig planen, robust bauen

Grundlagen des Spiels

Eine kleine Schachfibel

Go Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2016 Brettspielnetz.de

Dame Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2016 Brettspielnetz.de

Deutsche Schulschachstiftung

DER SCHLÜSSEL IN DER STRATEGIE

Effektive Software- Architekturen

Die kleine Schachschule

Internet Dame. Seite. Das Spielfeld

Proseminar: Geschichte des Computers Schachprogrammierung Die Digitale Revolution

Mühle Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2017 Brettspielnetz.de

Das Handbuch zu Vier gewinnt. Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Deutsche Übersetzung: Maren Pakura

Parallele Programmierung - Solitaire Chess

GS1 - Grundelemente Lektion 1

Stellung nach 19. Sc4

Softwarearchitekten. Basiswissen für. dpunkt.verlag. Foundation Level

SCHACH. Chemie siegt im Lokal-Derby und strebt Richtung Tabellenspitze

Igel Ärgern Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2017 Spiele von Doris und Frank

Schach für Anfänger Hier möchte ich für Anfänger das Schachspiel näher bringen.

Stefan Zörner. Softwarearchitekturen dokumentieren und kommunizieren

Das Entwicklungsteam im agilen Prozess. Aufgaben der Software Architektur. Best Practices & Scrum Integration. Zusammenfassung & Ausblick

Bedienungsanleitung. Stefan Feldmann

Programmierkurs Java

schach-lernen.com Seite 2

Stichwortverzeichnis. Symbole 4+1 Sichten (RUP) 132

Mühleübungen. Internetseite von Rainer Rosenberger bearbeitet von Jörg Bögel. Version 1 ( )

vii Inhaltsverzeichnis 1 Einleitung 1

Verbesserung der Architektur und Dokumentation der DPP-Software Saros. Slawa Belousow Institut für Informatik FU Berlin

Schachmatt aus Versehen

Architekturüberblick Gradle

Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: Tutor: Prof. Schottenloher Spieltheorie

Vom Anfänger zum Turnierspieler Gewinnen lernen in 10 Lektionen

Summy Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2017 Corné van Moorsel

Quelle:

Regel 10 Bestimmung des Spielausgangs

JavaSpaces. Markus Helbig, Christian Holder, Marco Jilg, Dominik Krautmann, Richard Waschhauser

IRRISS THE ENTERPRISE

NetKalk DLL, Webservices & Partnerportal

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht

Bauernendspiele 0: Grundlagen

Halali Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2016 Brettspielnetz.de

Wenn Sie neu im Schach sind, verzweifeln Sie nicht. Es gibt kein Schach-Gen, das darüber

Bericht vom 1. Leipziger Seminar am 25. November 2006

HALLO UND WILLKOMMEN!

Das Handbuch zu Vier gewinnt

Schach für Dachse 2016

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance

Effektive Architekturdokumentation mit arc42

Die Karten jeder Farbe bilden vom niedrigsten bis zum höchsten Wert die folgende Reihenfolge:

Inhalt: Spielbrett, 36 Kugeln (8 gelbe, 7 rote, 6 grüne, 5 blaue, 4 weiße, 3 graue. 3 schwarze), 2 rote und 2 gelbe Zeiger.

Voice Application Server

PIWIN II. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II. Vorlesung 2 SWS SS 08

Wettbewerbsreglement. Serge Sellan-Cup. Stand: August F.O.U.L. Alternative Fussball-Liga Bern -

SB13 Graz. DI Christoph Eichler. Österreichischer BIM-Standard A6241. BIM Operations Director, BEHF Architekten. Wien,

Faustball-Korbleger. Sportspiel-verwandte Ballspiele Faustball-verwandte Spiele

Spielregeln Backgammon

Das fesselnde Strategiespiel für zwei Personen. The exciting strategy game for two players

Deutsche Schulschachstiftung

Projektthema: Modul Programmiersprachen (Java)

Virtuelle Metadatenbanken

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski

Transkript:

Präsentation: DokChess Beispiel für einen Architekturüberblick Stefan Zörner :: Stefan.Zoerner@de :: stefan@swadok.de Webseite DokChess: http://www.dokchess.de Softwarearchitekturen dokumentieren und kommunizieren: http://www.swadok.de 1

1 DokChess Ziele und Features DokChess ist eine voll funktionsfähige Schachengine Sie dient als einfach zugängliches und zugleich ungemein attraktives Fallbeispiel für Architekturentwurf, -bewertung und -dokumentation. Der verständliche Aufbau lädt zum Experimentieren und zum Erweitern der Engine ein Ziel ist nicht die höchstmögliche Spielstärke dennoch gelingen Partien, die Gelegenheitsspielern Freude bereiten. Wesentliche Features Vollständige Implementierung der FIDE-Schachregeln Unterstützt das Spiel gegen menschliche Gegner und andere Schachengines Beherrschung zentraler taktischer Ideen, beispielsweise Gabel und Spieß Integration mit modernen graphischen Schach-Frontends 2

Wichtige Einflussfaktoren 2 3

Bausteine zusammenstecken per DI Die einzelnen von Dokchess Bausteine sind durch Schnittstellen voneinander entkoppelt und werden per Dependency Injection (DI) zusammengesteckt. Dies erlaubt den leichten Austausch von Algorithmen. Unveränderliche Fachklassen Die einzelnen Subsysteme tauschen schachspezifische Daten über Fachklassen aus, die sämtlich unveränderlich (immutable) sind. Das gilt insbesondere für eine Spielsituation ( Stellung ). Stellung Figur Zug Feld «enumeration» Farbe «enumeration» FigurenArt 4

Kommunikation nach außen über XBoard Die Entscheidung für das textbasierte XBoard-Protokoll eröffnet die Verwendung leistungsfähiger, freier Schachfrontends auf unterschiedlichen Plattformen. stdin Frontend stdout Engine Chess Engine Communication Protocol ( Xboard/WinBoard ) http://home.hccnet.nl/h.g.muller/engine-intf.html 3 5

Fachlicher Kontext Gegner Schach wird zwischen zwei Gegnern gespielt, die abwechselnd ihre Figuren ziehen. Menschlicher Gegner DokChess übernimmt die Rolle eines der Gegner und tritt gegen einen menschlichen Gegner an. Dazu müssen sich die beiden austauschen, beispielsweise über ihre Züge oder über Remis-Angebote. Computergegner (Fremdsystem) Alternativ zu einem menschlichen Gegner kann DokChess auch gegen eine andere Engine antreten. Die Anforderungen bezüglich des Informationsaustausches sind dieselben. Eröffnungen (Fremdsystem) Zur Eröffnung, d.h. zur frühen Phase des Spiels, existiert umfangreiches Wissen in der Schachliteratur. Dieses Wissen ist in Form von Bibliotheken und Datenbanken zum Teil frei, zum Teil kommerziell verfügbar. Endspiele (Fremdsystem) Wenn nur noch sehr wenige Figuren auf dem Brett stehen (z.b. nur die beiden Könige und eine Dame), kann analog zu Eröffnungsbibliotheken auf Endspielbibliotheken zurückgegriffen werden. Diese beinhalten für jede mögliche Stellung mit dieser Figurenkonstellation die Aussage, ob das Spiel gewonnen, unentschieden oder verloren ist, sowie ggf. den nötigen nächsten Schritt zum Sieg. 6

4 DokChess, Bausteinsicht, Ebene 1 Copyright 2011 :: Stefan Zörner :: oose GmbH 7

Überblick Subsysteme XBoard-Protokoll Realisiert die Kommunikation mit einem Client mit Hilfe des XBoard-Protokolls. Spielregeln Beinhaltet die Schachregeln und kann z.b. zu einer Stellung alle gültigen Züge ermitteln. Engine Beinhaltet die Ermittlung des nächsten Zuges ausgehend von einer Spielsituation. Eröffnung Stellt Züge aus der Eröffnungsliteratur zu einer Spielsituation bereit. Bausteinsicht, Ebene 2 (Subsystem Engine ) 8

Verteilungssicht (auf Windows PC, mit Arena) 5 9

Walk through: Gegner zieht, Engine zieht Live-Demo: DokChess integriert in Arena 10

6 Fallbeispiel DokChess im Internet Architekturüberblick gegliedert nach arc42 Quelltexte, Links, etc. http://www.dokchess.de/ 11

Das Buch zum Film. Softwarearchitekturen dokumentieren und kommunzieren. Entwürfe, Entscheidungen und Lösungen nachvollziehbar und wirkungsvoll festhalten von Stefan Zörner Verlag: Hanser, Mai 2012 Sprache: Deutsch (ca. 280 Seiten) ISBN-13: 978-3446429246 Geleitwort von Gernot Starke Erfahren Sie, wie die Dokumentation der Architektur von der lästigen Pflicht zu einem integralen Kommunikations- und Arbeitsmittel wird. Lernen Sie architekturrelevante Einflussfaktoren und zentrale Entscheidungen festzuhalten. Erleben Sie am Beispiel einer Schach-Engine, wie eine nachvollziehbare Architektur entsteht. Vielen Dank!?? Ich freue mich auf Ihre Fragen! stefan@swadok.de 12