004 Datenverarbeitung; Informatik
Refine
Year of publication
Document Type
- Article (105)
- Monograph/Edited Volume (41)
- Doctoral Thesis (28)
- Conference Proceeding (9)
- Master's Thesis (7)
- Other (2)
- Moving Images (1)
Language
- German (193) (remove)
Keywords
- Informatik (19)
- Didaktik (15)
- Hochschuldidaktik (14)
- Ausbildung (13)
- E-Learning (5)
- Datenschutz (4)
- digitale Bildung (4)
- openHPI (4)
- Identitätsmanagement (3)
- Informatikdidaktik (3)
- Informatikstudium (3)
- Infrastruktur (3)
- Kompetenzen (3)
- cloud (3)
- didactics (3)
- digital education (3)
- informatics (3)
- Big Data (2)
- Blended Learning (2)
- CityGML (2)
- Cloud (2)
- Cloud Computing (2)
- Code (2)
- Computer Networks (2)
- Computernetzwerke (2)
- Datenbank (2)
- FMC (2)
- Hochschullehre (2)
- IPv4 (2)
- IPv6 (2)
- IT-Infrastruktur (2)
- IT-infrastructure (2)
- Identität (2)
- Infrastructure (2)
- Internet Protocol (2)
- Internet Service Provider (2)
- Kompetenz (2)
- MOOCs (2)
- Mensch-Computer-Interaktion (2)
- Navigation (2)
- Network Politics (2)
- Netzpolitik (2)
- Online-Lernen (2)
- Onlinekurs (2)
- Schule (2)
- Software Engineering (2)
- Softwareentwicklung (2)
- Systemstruktur (2)
- Teamarbeit (2)
- Tele-Lab (2)
- Tele-Teaching (2)
- Theoretische Informatik (2)
- Visualisierung (2)
- cloud computing (2)
- code (2)
- conference (2)
- education (2)
- higher education (2)
- identity management (2)
- navigation (2)
- tele-TASK (2)
- visualization (2)
- 3D computer graphics (1)
- 3DCityDB (1)
- ACINQ (1)
- ADFS (1)
- ARCS Modell (1)
- ASIC (1)
- Active Directory Federation Services (1)
- Adaption (1)
- Algorithmen (1)
- Analyse (1)
- Andere Fachrichtungen (1)
- Anerkennung (1)
- Anfragesprache (1)
- Angriffe (1)
- Anrechnung (1)
- Antwortmengenprogrammierung (1)
- Anwendungsvirtualisierung (1)
- Application Server (1)
- Arabidopsis thaliana (1)
- Assessment (1)
- Audience Response Systeme (1)
- Aufzählung (1)
- Augmented Reality (1)
- Australian securities exchange (1)
- Authentifizierung (1)
- Authorization (1)
- Autismus (1)
- Autorisierung (1)
- BCCC (1)
- BCH (1)
- BPM (1)
- BTC (1)
- Bachelorstudium (1)
- Barrierefreiheit (1)
- Basic Storage Anbieter (1)
- Batchverarbeitung (1)
- Benutzerinteraktion (1)
- Benutzeroberfläche (1)
- Berufsausbildung (1)
- Betrachtungsebenen (1)
- Beweisaufgaben (1)
- Bildverarbeitung (1)
- Bioacoustics (1)
- Bioakustik (1)
- Biocomputing (1)
- Biometrie (1)
- BitShares (1)
- Bitcoin Core (1)
- Blockchain Auth (1)
- Blockchain-Konsortium R3 (1)
- Blockheizkraftwerke (1)
- Blockkette (1)
- Blockstack (1)
- Blockstack ID (1)
- Blumix-Plattform (1)
- Blöcke (1)
- Byzantine Agreement (1)
- C-Test (1)
- COVID-19 (1)
- Canvas (1)
- Citymodel (1)
- Classification (1)
- Codeverständnis (1)
- Codierung (1)
- Colored Coins (1)
- Complementary Circuits (1)
- Computergestützes Training (1)
- Computergrafik (1)
- Conceptual (1)
- Constraint (1)
- Constraint-Programmierung (1)
- Constructive solid geometry (1)
- DAO (1)
- DNA (1)
- DNA computing (1)
- DNS (1)
- DPoS (1)
- Data Literacy (1)
- Data Science (1)
- Database (1)
- Datenanalyse (1)
- Datenbanken (1)
- Datenschutz-sicherer Einsatz in der Schule (1)
- Datensicht (1)
- Degenerationsprozesse (1)
- Delegated Proof-of-Stake (1)
- Delphine (1)
- Design Thinking (1)
- Didaktische Konzepte (1)
- Digital Engineering (1)
- Digital Game Based Learning (1)
- Digital World (1)
- Digitalisierung (1)
- Digitalisierung von Produktionsprozessen (1)
- Diskussionskultur (1)
- Distanzlehre (1)
- Distributed Proof-of-Research (1)
- Diversität (1)
- Dolphins (1)
- Dreidimensionale Computergraphik (1)
- Durchlässigkeit (1)
- E-Wallet (1)
- ECDSA (1)
- Effizienz (1)
- Eingebettete Systeme (1)
- Eisenbahnnetz (1)
- Empirische Untersuchung (1)
- Energiesparen (1)
- Enterprise Search (1)
- Entwurf (1)
- Entwurfsmuster (1)
- Entwurfsraumexploration (1)
- Erfolgsmessung (1)
- Eris (1)
- Error-Detection Circuits (1)
- Erweiterte Realität (1)
- Ether (1)
- Ethereum (1)
- European Union (1)
- Europäische Union (1)
- Explorative Datenanalyse (1)
- FIDO (1)
- FOSS (1)
- FPGA (1)
- Fachinformatik (1)
- Fachinformatiker (1)
- Federated Byzantine Agreement (1)
- Feedback (1)
- Fehlererkennung (1)
- Fehlerinjektion (1)
- Fehlerkorrektur (1)
- Fehlertoleranz (1)
- Fehlvorstellung (1)
- Fertigkeiten (1)
- FollowMyVote (1)
- Fork (1)
- Formale Sprachen und Automaten (1)
- Formale Verifikation (1)
- Forschung (1)
- Fundamental Modeling Concepts (1)
- Fußgängernavigation (1)
- Game-based learning (1)
- German schools (1)
- Geschäftsanwendungen (1)
- Geschäftsmodell (1)
- Grammatikalische Inferenz (1)
- Graph-basiertes Ranking (1)
- Graphfärbung (1)
- Gridcoin (1)
- Gruppierung von Prozessinstanzen (1)
- HDI (1)
- HEI (1)
- HPI Forschung (1)
- HPI Schul-Cloud (1)
- HPI research (1)
- Hard Fork (1)
- Hardware-Software-Co-Design (1)
- Hashed Timelock Contracts (1)
- Hasso Plattner Institute (1)
- Hasso-Plattner-Institut (1)
- Hauptspeicherdatenbank (1)
- Heterogenität (1)
- Hochschule (1)
- Hochschulkurse (1)
- IBM 360 (1)
- ICT competencies (1)
- ISSEP (1)
- Identity Management (1)
- In-Memory (1)
- Informatics Education (1)
- Informatik B. Sc. (1)
- Informatik für alle (1)
- Informatiksystem (1)
- Informatikunterricht (1)
- Informationsextraktion (1)
- Informationskompetenz (1)
- Informatische Kompetenzen (1)
- Inhalte (1)
- Inhaltsanalyse (1)
- Innovation (1)
- Interactive system (1)
- Interaktionstechniken (1)
- Interaktives System (1)
- Internet (1)
- Internet der Dinge (1)
- Internet of Things (1)
- Interventionen (1)
- Intuition (1)
- Inverted Classroom (1)
- IoT (1)
- Japanese Blockchain Consortium (1)
- Japanisches Blockchain-Konsortium (1)
- Java 2 Enterprise Edition (1)
- Java Virtual Machine (1)
- KI (1)
- Kette (1)
- Klassifikation (1)
- Kollaboration (1)
- Kompetenzentwicklung (1)
- Kompetenzerwerb (1)
- Kompetenzmessung (1)
- Konferenz (1)
- Konsensalgorithmus (1)
- Konsensprotokoll (1)
- Konzeptionell (1)
- LMS (1)
- Learning Analytics (1)
- Lebenslanges Lernen (1)
- Lehr- und Lernformate (1)
- Lehramtsstudium (1)
- Lehre (1)
- Lehrer*innenbildung (1)
- Lehrevaluation (1)
- Lern-App (1)
- Lernerfolg (1)
- Lernmotivation (1)
- Lernsoftware (1)
- Lernzentrum (1)
- Lightning Network (1)
- Lively Kernel (1)
- Liveness (1)
- Lock-Time-Parameter (1)
- Lückentext (1)
- MERLOT (1)
- MOOC (1)
- Marketing (1)
- Marktübersicht (1)
- Mehr-Faktor-Authentifizierung (1)
- Mehrfamilienhäuser (1)
- Metamodell (1)
- Micropayment-Kanäle (1)
- Microsoft Azur (1)
- Mobiles Lernen (1)
- Model Based Engineering (1)
- Model Checking (1)
- Model Driven Architecture (1)
- Model-driven SOA Security (1)
- Modell-getriebene SOA-Sicherheit (1)
- Modellbasiert (1)
- Modellgetriebene Architektur (1)
- Modellierung (1)
- Monitoring (1)
- Mustererkennung (1)
- NASDAQ (1)
- NameID (1)
- Namecoin (1)
- Nebenläufigkeit (1)
- Netzneutralität (1)
- New On-Line Error-Detection Methode (1)
- OAuth (1)
- Off-Chain-Transaktionen (1)
- Onename (1)
- Online Course (1)
- Online-Learning (1)
- Onlinekurse (1)
- Onlinelehre (1)
- Ontologie (1)
- Ontology (1)
- Open Source (1)
- OpenBazaar (1)
- OpenID Connect (1)
- OpenOLAT (1)
- Optimierungen (1)
- Oracles (1)
- Orphan Block (1)
- P2P (1)
- PAVM (1)
- Parallele Datenverarbeitung (1)
- Pattern Recognition (1)
- Patterns (1)
- Peer-Review (1)
- Peer-to-Peer Netz (1)
- Peercoin (1)
- Personas (1)
- PoB (1)
- PoS (1)
- PoW (1)
- PostGIS (1)
- Pre-RS Traceability (1)
- Privacy (1)
- Problemlösen (1)
- Prognosen (1)
- Programmierausbildung (1)
- Programmieren (1)
- Programmierkonzepte (1)
- Projekte (1)
- Proof-of-Burn (1)
- Proof-of-Stake (1)
- Proof-of-Work (1)
- Prozess Verbesserung (1)
- Prozessmodell (1)
- Prozessmodellierung (1)
- Python (1)
- Re-Engineering (1)
- Realzeitsysteme (1)
- Rendering (1)
- Ripple (1)
- SCP (1)
- SHA (1)
- SOA Security (1)
- SOA Sicherheit (1)
- SPV (1)
- SSO (1)
- Scene graph systems (1)
- Schlüsselkompetenzen (1)
- Schwierigkeitsgrad (1)
- Secure Digital Identities (1)
- Secure Enterprise SOA (1)
- Self-Checking Circuits (1)
- Semantic Web (1)
- Seminarkonzept (1)
- Sichere Digitale Identitäten (1)
- Simplified Payment Verification (1)
- Single Sign On (1)
- Single-Sign-On (1)
- Skalierbarkeit der Blockchain (1)
- Skript-Entwicklungsumgebungen (1)
- Slock.it (1)
- Smalltalk (1)
- Soft Fork (1)
- Software (1)
- Software architecture (1)
- Software-Testen (1)
- Softwarearchitektur (1)
- Spaltenlayout (1)
- Stadtmodell (1)
- Statistikprogramm R (1)
- Steemit (1)
- Stellar Consensus Protocol (1)
- Storj (1)
- Strategie (1)
- Strukturverbesserung (1)
- Student Engagement (1)
- Studentenjobs (1)
- Studie (1)
- Studienabbrecher (1)
- Studienabbruch (1)
- Studienanfänger*innen (1)
- Studiendauer (1)
- Studieneingangsphase (1)
- Studiengestaltung (1)
- Studiengänge (1)
- Studienverläufe (1)
- Studierendenperformance (1)
- Studium (1)
- Suche (1)
- System structure (1)
- Systementwurf (1)
- Szenengraph (1)
- Test (1)
- Texturen (1)
- The Bitfury Group (1)
- The DAO (1)
- Timed Automata (1)
- Transaktion (1)
- Transaktionen (1)
- Trust Management (1)
- Two-Way-Peg (1)
- Umfrage (1)
- Unspent Transaction Output (1)
- Unterricht mit digitalen Medien (1)
- User Experience (1)
- VM (1)
- VM Integration (1)
- Verlässlichkeit (1)
- Verträge (1)
- Virtual Desktop Infrastructure (1)
- Virtual Reality (1)
- Virtualisierung (1)
- Virtuelle Maschine (1)
- Vorkenntnisse (1)
- Vorwissen (1)
- Wartung von Lehrveranstaltungen (1)
- Watson IoT (1)
- Weiterbildung (1)
- Werbung (1)
- Werkzeuge (1)
- Wissenschaftliches Arbeiten (1)
- Zielvorgabe (1)
- Zookos Dreieck (1)
- Zookos triangle (1)
- algorithms (1)
- altchain (1)
- alternative chain (1)
- animated PCA (1)
- animierte PCA (1)
- answer set programming (1)
- application virtualization (1)
- atomic swap (1)
- augmented reality (1)
- authentication (1)
- automotive electronics (1)
- basic cloud storage services (1)
- batch processing (1)
- betriebliche Weiterbildungspraxis (1)
- bidirectional payment channels (1)
- bio-computing (1)
- biometrics (1)
- bitcoins (1)
- blockchain (1)
- blockchain consortium (1)
- blockchain-übergreifend (1)
- blocks (1)
- blumix platform (1)
- business process modeling (1)
- chain (1)
- coding and information theory (1)
- cogeneration units (1)
- competence development (1)
- competencies (1)
- computer graphics (1)
- computer science (1)
- computer science education (CSE) (1)
- confirmation period (1)
- consensus algorithm (1)
- consensus protocol (1)
- constraint (1)
- constraint programming (1)
- contest period (1)
- contracts (1)
- cross-chain (1)
- cryptology (1)
- data analytics (1)
- data in business processes (1)
- data modeling (1)
- data requirements (1)
- data security (1)
- data structures and information theory (1)
- data view (1)
- decentralized autonomous organization (1)
- dependability (1)
- design (1)
- design space exploration (1)
- dezentrale autonome Organisation (1)
- didaktisches Konzept (1)
- difficulty (1)
- difficulty target (1)
- digital enlightenment (1)
- digital learning platform (1)
- digital sovereignty (1)
- digital unterstützter Unterricht (1)
- digital world (1)
- digitale Aufklärung (1)
- digitale Hochschullehre (1)
- digitale Infrastruktur für den Schulunterricht (1)
- digitale Lernplattform (1)
- digitale Souveränität (1)
- digitalization (1)
- digitization of production processes (1)
- doppelter Hashwert (1)
- double hashing (1)
- duale IT-Ausbildung (1)
- e-Assessment (1)
- e-Learning (1)
- e-learning (1)
- efficiency (1)
- embedded-systems (1)
- energy savings (1)
- enterprise search (1)
- enumeration (1)
- error correction (1)
- error detection (1)
- fault injection (1)
- fault tolerance (1)
- federated voting (1)
- forecasts (1)
- forschendes Lernen (1)
- forschungsorientiertes Lernen (1)
- freie Daten (1)
- freie Software (1)
- fächerverbindend (1)
- general (1)
- general education in computer science (1)
- geovisualization (1)
- gewerkschaftlich unterstützte Weiterbildungspraxis (1)
- global constraints (1)
- globale Constraints (1)
- grammar inference (1)
- graph-based ranking (1)
- hardware-software-codesign (1)
- hashrate (1)
- human computer interaction (1)
- identity (1)
- image processing (1)
- individuelle Lernwege (1)
- information extraction (1)
- informatische Allgemeinbildung (1)
- informatische Grundkompetenzen (1)
- infrastructure (1)
- innovation (1)
- intelligente Verträge (1)
- inter-chain (1)
- interaction techniques (1)
- intuition (1)
- key competencies (1)
- klinisch-praktischer Unterricht (1)
- labour union education (1)
- lebenslanges Lernen (1)
- ledger assets (1)
- lifelong learning (1)
- linear code (1)
- linearer Code (1)
- lively kernel (1)
- liveness (1)
- logische Ergänzung (1)
- market study (1)
- maschinelles Lernen (1)
- merged mining (1)
- merkle root (1)
- meta model (1)
- micropayment (1)
- micropayment channels (1)
- miner (1)
- mining (1)
- mining hardware (1)
- minting (1)
- misconception (1)
- mobiles Lernen (1)
- model-based (1)
- model-driven architecture (1)
- multi core data processing (1)
- multi factor authentication (1)
- multi-family residential buildings (1)
- neue Online-Fehlererkennungsmethode (1)
- nichtlineare Projektionen (1)
- nonce (1)
- nonlinear projections (1)
- off-chain transaction (1)
- on-chip (1)
- online course (1)
- online-learning (1)
- open learning (1)
- open source (1)
- open source software (1)
- optimizations (1)
- pedestrian navigation (1)
- peer-to-peer network (1)
- pegged sidechains (1)
- process improvement (1)
- process instance grouping (1)
- process model (1)
- process modeling languages (1)
- process modelling (1)
- programming (1)
- public cloud storage services (1)
- quorum slices (1)
- railway network (1)
- real-time systems (1)
- rootstock (1)
- scalability of blockchain (1)
- scarce tokens (1)
- school (1)
- scripting environments (1)
- search (1)
- selbstprüfende Schaltungen (1)
- semantisches Netz (1)
- sidechain (1)
- smart contracts (1)
- smartphone (1)
- software (1)
- software development (1)
- software engineering (1)
- software selection (1)
- software testing (1)
- spatio-temporal sensor data (1)
- statistics program R (1)
- studentische Forschung (1)
- technische Rahmenbedingungen (1)
- tele-lab (1)
- tele-teaching (1)
- test (1)
- textures (1)
- timed automata (1)
- tools (1)
- transaction (1)
- user interaction (1)
- verification (1)
- virtual 3D city models (1)
- virtual desktop infrastructure (1)
- virtualization (1)
- virtuelle 3D-Stadtmodelle (1)
- visual languages (1)
- visuelle Sprachen (1)
- vocational training (1)
- wearables (1)
- wissenschaftliches Arbeiten (1)
- wissenschaftliches Schreiben (1)
- öffentliche Cloud Speicherdienste (1)
Institute
- Institut für Informatik und Computational Science (108)
- Hasso-Plattner-Institut für Digital Engineering gGmbH (32)
- Extern (16)
- Bürgerliches Recht (12)
- Institut für Mathematik (9)
- Hasso-Plattner-Institut für Digital Engineering GmbH (8)
- Fachgruppe Betriebswirtschaftslehre (4)
- Institut für Umweltwissenschaften und Geographie (3)
- Department Linguistik (1)
- Interdisziplinäres Zentrum für Kognitive Studien (1)
Inhaltsverzeichnis 1 Einführung 2 Aspektorientierte Programmierung 2.1 Ein System als Menge von Eigenschaften 2.2 Aspekte 2.3 Aspektweber 2.4 Vorteile Aspektorientierter Programmierung 2.5 Kategorisierung der Techniken und Werkzeuge f ¨ ur Aspektorientierte Programmierung 3 Techniken und Werkzeuge zur Analyse Aspektorientierter Softwareprogramme 3.1 Virtual Source File 3.2 FEAT 3.3 JQuery 3.4 Aspect Mining Tool 4 Techniken und Werkzeuge zum Entwurf Aspektorientierter Softwareprogramme 4.1 Concern Space Modeling Schema 4.2 Modellierung von Aspekten mit UML 4.3 CoCompose 4.4 Codagen Architect 5 Techniken und Werkzeuge zur Implementierung Aspektorientierter Softwareprogramme 5.1 Statische Aspektweber 5.2 Dynamische Aspektweber 6 Zusammenfassung
Diese Arbeit umfasst die Archivierung, Visualisierung anhand bioinformatischer Methoden und Interpretation eines vorhandenen Messdatensatz (Element [ICP-MS]-, Ionen [IC]- und Metabolitdaten [RP-HPLC und GC/TOF-MS]) der Pflanze Arabidopsis thaliana getrennt in Blätter und Wurzeln. Die Pflanzen wurden den sechs Mangelsituationen der Nährstoffe Eisen, Kalium, Magnesium, Stickstoff, Phosphor und Schwefel ausgesetzt und zu neun Messzeitpunkten [0.5-, 1-, 2-, 3-, 4-, 5-, 6-, 7-in Tagen und „resupply“ (vier Stunden nach dem vierten Tag)] analysiert. Es erfolgte die Integration der Messdaten in eine SQlite-Datenbank. Die Veranschaulichung erfolgte mit Hilfe der Programmiersprache R. Anhand einiger Pakete zur Erweiterung des Funktionsumfangs von R wurde erstens eine Schnittstelle zur SQLite- Datenbank hergestellt, was ein Abfragen an diese ermöglichte und zweitens verhalfen sie zu der Erstellung einer Reihe zusätzlicher Darstellungsformen (Heatmap, Wireframe, PCA). Selbstgeschriebene Skripte erlaubten den Datenzugriff und die grafische Ausgabe als z. B. Heatmaps. In der Entstehung dieser Arbeit sind weiterhin zwei weitere Visualisierungsformen von PCA-Daten entwickelt worden: Das Abstandsdiagramm und die animierte PCA. Beides sind hilfreiche Werkzeuge zur Interpretation von PCA-Plots eines zeitlichen Verlaufes. Anhand der Darstellungen der Element- und Ionendaten ließen sich die Nährstoffmangelsituationen durch Abnahme der entsprechenden Totalelemente und Ionen nachweisen. Weiterhin sind starke Ähnlichkeiten der durch RP-HPLC bestimmten Metaboliten unter Eisen-, Kalium und Magnesiummangel erkannt worden. Allerdings gibt es nur eine geringe Anzahl an Interkationen der Metabolitgehalte, da der Großteil der Metabolitlevel im Vergleich zur Kontrolle unverändert blieb. Der Literaturvergleich mit zwei Publikationen, die den Phosphat- und Schwefelmangel in Arabidopsis thaliana untersuchten, zeigte ein durchwachsenes Ergebnis. Einerseits gab es eine gleiche Tendenz der verglichenen Aminosäuren zu verzeichen, aber andererseits wiesen die Visualisierungen auch Gegensätzlichkeiten auf. Der Vergleich der mit RP-HPLC und GC/TOF-MS gemessenen Metaboliten erbrachte ein sehr kontroverses Ergebnis. Zum einen wurden Übereinstimmungen der gleichen Metaboliten durch gemeinsame Cluster in den Heatmaps beobachtet, zum anderen auch Widersprüche, exemplarisch in den Abstandsdiagrammen der Blätterdaten jedes Verfahrens, in welchen unterschiedliche Abstandshöhepunkte erkennbar sind.
(1) Über die Notwendigkeit, die bisherige Informatik in eine Grundlagenwissenschaft und eine Ingenieurwissenschaft aufzuspalten (2) Was ist Ingenieurskultur? (3) Das Kommunikationsproblem der Informatiker und ihre Unfähigkeit, es wahrzunehmen (4) Besonderheiten des Softwareingenieurwesens im Vergleich mit den klassischen Ingenieurdisziplinen (5) Softwareingenieurspläne können auch für Nichtfachleute verständlich sein (6) Principles for Planning Curricula in Software Engineering
1. Applikationen für weitverteiltes Rechnen Dennis Klemann, Lars Schmidt-Bielicke, Philipp Seuring 2. Das Globus-Toolkit Dietmar Bremser, Alexis Krepp, Tobias Rausch 3. Open Grid Services Architecture Lars Trieloff 4. Condor, Condor-G, Classad Stefan Henze, Kai Köhne 5. The Cactus Framework Thomas Hille, Martin Karlsch 6. High Performance Scheduler mit Maui/PBS Ole Weidner, Jörg Schummer, Benedikt Meuthrath 7. Bandbreiten-Monitoring mit NWS Alexander Ritter, Gregor Höfert 8. The Paradyn Parallel Performance Measurement Tool Jens Ulferts, Christian Liesegang 9. Grid-Applikationen in der Praxis Steffen Bach, Michael Blume, Helge Issel
1. Grundlagen der Softwarevisualisierung Johannes Bohnet und Jürgen Döllner 2. Visualisierung und Exploration von Softwaresystemen mit dem Werkzeug SHriMP/Creole Alexander Gierak 3. Annex: SHriMP/Creole in der Anwendung Nebojsa Lazic 4. Metrikbasierte Softwarevisualisierung mit dem Reverse-Engineering-Werkzeug CodeCrawler Daniel Brinkmann 5. Annex: CodeCrawler in der Anwendung Benjamin Hagedorn 6. Quellcodezeilenbasierte Softwarevisualisierung Nebojsa Lazic 7. Landschafts- und Stadtmetaphern zur Softwarevisualisierung Benjamin Hagedorn 8. Visualisierung von Softwareevolution Michael Schöbel 9. Ergebnisse und Ausblick Johannes Bohnet Literaturverzeichnis Autorenverzeichnis
1 Einleitung 1.1 Motivation 1.2 Aufgabenstellung 1.3 Aufbau der Arbeit 2 Fachliches Umfeld 2.1 Grid Computing 2.2 Idle Time Computing 3 Ressourcenpartitionierung 3.1 Ressourcenpartitionierung und Scheduling 3.2 Ressourcenpartitionierung in Idle Time Computing 3.2.1 Administrative Kontrolle der Ressourcen 3.2.2 Mindestgarantien zur Sicherstellung der Lauffähigkeit 3.3 Vorhandene Lösungen und verwandte Arbeiten 3.3.3 Ressourcenmanagement im Globus Toolkit 3.3.4 Ressourcenmanagement in Condor 3.3.5 Das GARA Framework 3.3.6 Distributed Resource Management Application API 3.3.7 Grid Resource Allocation Agreement Protocol 3.3.8 SNAP 3.3.9 OGSI-Agreement 3.3.10 PBS/Maui und andere Batch Systeme 3.3.11 Wide Area Distributed Computing 3.3.12 Weitere verwandte Arbeiten 3.3.13 Überlegungen zum Ressourcenbedarf 4 Ressourcenkontrolle in Desktopbetriebssystemen 4.1 Ressourcen 4.2 Ressourcenpartitionierung unter Linux 4.2.14 Festplattenkapazität 4.2.15 Arbeitsspeicher 4.2.16 Netzwerkbandbreite 4.2.17 CPU Kapazität 4.3 Ressourcenpartitionierung unter Microsoft Windows XP 4.3.18 Festplattenkapazität 4.3.19 Arbeitsspeicher 4.3.20 Netzwerkbandbreite 4.3.21 CPU Kapazität 4.4 Fazit 5 Entwurf und Design des Frameworks 5.1 Entwurfsgrundlage - Komponentenarchitektur 5.2 Architektur 5.2.22 Broker Server 5.2.23 Broker Software auf den Clients 5.2.24 Schnittstellen 5.3 Komponententypmodell 5.4 Ressourcenidentifikation und Ressourcenzuordnung 5.5 Anbindung ans Grid 5.6 Datenbankentwurf 5.7 XML RPC Schnittstelle 6 Implementierung 6.1 Broker Server 6.1.25 Datenbank 6.1.26 Komponenten 6.1.27 Webserverskripte 6.1.28 Database Crawler 6.2 Komponenten 6.2.29 Network 6.2.30 DSCP 6.2.31 Quota 6.2.32 FSF 6.3 Linux Client 6.3.33 Broker Client 6.3.34 Komponenten 6.4 Windows Client 6.5 Abhängigkeiten 7 Evaluierung 7.1 Durchgeführte Test- und Anwendungsfälle 7.1.35 Test der Clientsoftware 7.1.36 Test der Serversoftware 7.1.37 Durchführbare Anwendungsfälle 7.2 Evaluierung der Frameworkimplementierung 7.2.38 Performanz der Serverimplementierung 7.2.39 Zuverlässigkeit der Partitionierungen 7.3 Evaluierung von Traffic Shaping mit iproute2 7.3.40 Szenario 1 7.3.41 Szenario 2 7.3.42 Szenario 3 7.3.43 Fazit 8 Zusammenfassung und Ausblick 8.1 Fazit 8.2 Weiterentwicklung 8.2.44 Weiterentwicklungen auf Entwurfsebene 8.2.45 Weiterentwicklungen auf Implementierungsebene Anhang A: Details zum Datenbankentwurf Anhang B: Bildschirmfotos der Weboberfläche Anhang C: Quellcode Linux Broker Client Anhang D: Inhalt des beiliegenden Datenträgers
Vorwort 1. Einleitung 2. Statische vs. dynamische Analyse 3. Kriterien für den Erfolg statischer Quellcodeanalysemethoden 3.1. Theoretische Vorüberlegungen 3.2. 1. Kriterium: Verfügbarkeit des Quellcodes 3.3. 2. Kriterium: Unterstützung der Programmiersprache 3.4. 3. Kriterium: Zulassung von „echten“ Programmen der Problemdomäne 3.5. 4. Kriterium: Bewältigung der auftretenden Komplexität 3.6. 5. Kriterium: Schutz vor böswilliger Speichermanipulation 3.7. 6. Kriterium: Garantie für die Umgebung des laufenden Prozesses 3.8. Fazit 3.9. Verwandte Arbeiten 4. Bewertung von statischen Methoden für C/C++ typische Programme 4.1. Hintergrund 4.2. Prämissen 4.3. 1. Problemfeld: Programmgröße und Interferenz 4.4. 2. Problemfeld: Semantik 4.5. 3. Problemfeld: Programmfluss 4.6. 4. Problemfeld: Zeigerarithmetik 4.7. Dynamische Konzepte zur Erfüllung des fünften Kriteriums auf Quellcodebasis 4.8. Fazit 4.9. Verwandte Arbeiten 5. Kriterien für den Erfolg dynamischer Ansätze 5.1. Hintergrund 5.2. Verfügbarkeit des Quellcodes 5.3. Unterstützung der Programmiersprache 5.4. Zulassung von „echten“ Programmen aus der Problemdomäne 5.5. Bewältigung der auftretenden Komplexität 5.6. Schutz vor böswilliger Speichermanipulation 5.7. Garantie für die Umgebung des laufenden Prozesses 5.8. Fazit 6. Klassifikation und Evaluation dynamischer Ansätze 6.1. Hintergrund 6.2. Quellcodesubstitution 6.3. Binärcodemodifikation/Binary-Rewriting 6.4. Maschinencodeinterpreter 6.5. Intrusion-Detection-Systeme 6.6. Virtuelle Maschinen/Safe Languages 6.7. Mechanismen zur „Härtung“ von bestehenden Code 6.8. SandBoxing/System-Call-Interposition 6.9. Herkömmliche Betriebssystemmittel 6.10. Access-Control-Lists/Domain-Type-Enforcement 6.11. Fazit 7. Sichere Ausführung nicht vertrauenswürdiger Programme im Kontext von RealTimeBattle 7.1. Vorstellung von RealTimeBattle 7.2. Charakterisierung des Problems 7.3. Alternative Lösungsvarianten/Rekapitulation 7.4. Übertragung der Ergebnisse statischer Analysemethoden auf RealTimeBattle 7.5. Übertragung der Ergebnisse dynamischer Analysemethoden auf RealTimeBattle 7.5.1. Vorstellung der RSBAC basierten Lösung 7.5.2. Vorstellung der Systrace basierten Lösung 7.6. Fazit 7.7. Verwandte Arbeiten 8. Sichere Ausführung nicht vertrauenswürdiger Programme im Kontext von Asparagus 8.1. Vorstellung von Asparagus 8.2. Charakterisierung des Problems 8.3. Lösung des Problems 8.4. Fazit 8.5. Verwandte Arbeiten 9. Sichere Ausführung nicht vertrauenswürdiger Programme im Kontext vom DCL 9.1. Vorstellung des DCL 9.2. Charakterisierung des Problems 9.3. Experimente im DCL und die jeweilige Lösung 9.3.1. Foucaultsches Pendel 9.3.2. Lego Mindstorm Roboter 9.3.3. Hau den Lukas 9.4. Fazit 9.5. Verwandte Arbeiten 10. Sichere Ausführung nicht vertrauenswürdiger Programme im Kontext der semiautomatischen Korrektur von Betriebssystemarchitektur-Übungsaufgaben 10.1. Vorstellung des Übungsbetriebes zur Vorlesung „Betriebssystsemarchitektur 10.2. Charakterisierung des Problems 10.3. Lösungsvorschläge 10.3.1. Lösungsvorschläge für das Authentifizierungs-Problem 10.3.2. Lösungsvorschläge für das Transport-Problem 10.3.3. Lösungsvorschläge für das Build-Problem 10.3.4. Lösungsvorschläge für das Ausführungs-Problem 10.3.5. Lösungsvorschläge für das Ressourcen-Problem 10.3.6. Lösungsvorschläge für das Portabilitäts-Problem 10.4. Fazit 10.5. Verwandte Arbeiten 11. Schlussbetrachtungen Literaturverzeichnis Anhang -create_guardedrobot.sh: Die RealTimeBattle Security Infrastructure -vuln.c: Ein durch Pufferüberlauf ausnutzbares Programm -exploit.c: Ein Beispielexploit für vuln.c. -aufg43.c: Lösung für eine Aufgabe im Rahmen der Betriebssystemarchitektur-Übung -Handout: Sichere Ausführung nicht vertrauenswürdiger Programme
Informatischen Hochleistern über die Schulter geschaut : was können schwache Problemlöser lernen
(2009)
Leistungsstarke Problemlöser zeigen ein deutlich anderes Vorgehen beim Bearbeiten von typischen Informatikproblemen als schwächere Problemlöser, das hat eine Studie mit Hochleistern und einer Vergleichsgruppe mit Informatikstudierenden ergeben. Auffällig war das Fehlen informatikspezifischer Herangehensweisen bei der Problembearbeitung durch die Vergleichsgruppe, obwohl ihnen die dazu notwendigen Werkzeuge wie etwa Baumstrukturen oder Rekursion durchaus bekannt waren. Die Frage, wie nun die deutlich effizienteren Strategien der Hochleister didaktisch aufgearbeitet werden können, um sie an schwache Problemlöser zu vermitteln, wird im vorliegen Beitrag anhand der Konzeption eines Lehrvideos diskutiert.
Mit hochschuldidaktischer Forschung zur Informatik soll aus einem traditionellen Hardwarepraktikum ein attraktives Entwurfs- und Anwendungspraktikum für Mikrosysteme (MSE) werden, das ein unverzichtbarer Bestandteil des Informatikstudiums ist. Diese Neugestaltung der Lehre wurde aufgrund des Bologna-Prozesses und der zunehmenden Präsenz multifunktionaler eingebetteter Mikrosysteme (EMS) im täglichen Leben notwendig. Ausgehend von einer Lehrveranstaltungsanalyse werden Vorschläge für die Kompetenzorientierung abgeleitet. Es wird gezeigt, dass für eine Verfeinerung des Ansatzes ein wissenschaftlich fundiertes Verständnis der erwarteten Kompetenzen erforderlich ist. Für den aufgezeigten Forschungsbedarf werden ein Ansatz zur Beschreibung des notwendigen Mikrosystemverständnisses dargestellt und Forschungsfelder zu Aspekten des Kompetenzbegriffs im Kontext der Lehrveranstaltung beschrieben.
Ein handlungsorientiertes, didaktisches Training für Tutoren im Bachelorstudium der Informatik
(2009)
Die didaktisch-pädagogische Ausbildung studentischer Tutoren für den Einsatz im Bachelorstudium der Informatik ist Gegenstand dieser Arbeit. Um die theoretischen Inhalte aus Sozial- und Lernpsychologie handlungsorientiert und effizient zu vermitteln, wird das Training als Lehrform gewählt. Die in einer Tutorübung zentrale Methode der Gruppenarbeit wird dabei explizit und implizit vermittelt. Erste praktische Erfahrungen mit ihrer zukünftigen Rolle gewinnen die Tutoren in Rollenspielen, wobei sowohl Standardsituationen als auch fachspezifisch und pädagogisch problematische Situationen simuliert werden. Während die Vermittlung der genannten Inhalte und die Rollenspiele im Rahmen einer Blockveranstaltung vor Beginn des Semesters durchgeführt werden, finden während des Semesters Hospitationen statt, in der die Fähigkeiten der Tutoren anhand eines standardisierten Bewertungsbogens beurteilt werden.
Die nachhaltige Integration von Blended Learning in den Informatik-Lehrbetrieb von Präsenzhochschulen und die Qualitätssicherung der Lehre mit digitalen Medien beruht nicht nur auf der Verfügbarkeit von Lernmaterialien und dem Zugang zu Lernplattformen, sondern erfordert auch Qualifizierungsmaßnahmen für die Lehrenden. Am Beispiel der Gestaltung von vorlesungsbegleitenden Übungen in der universitären Informatikausbildung wird ein Konzept für die Schulung von Tutoren vorgestellt, das sich an den Erfordernissen des Übungsbetriebs und den unterschiedlichen Arbeits- und Lernkontexten der künftigen Tutoren orientiert. Das Konzept basiert auf mehrjährigen Praxiserfahrungen mit Schulungsworkshops für Tutoren in der Informatik, die nun aufgrund aktueller didaktischer Konzepte zum Blended Learning und unter Berücksichtigung von Umfrageergebnissen unter studentischen Tutoren modifiziert wurden. Das neu entwickelte modulare Konzept zur Tutorenschulung befindet sich aktuell in einer erweiterten Pilotphase.
Diese Arbeit enthält eine umfassende Analyse, wie der Kompetenzerwerb in einem einsemestrigen Softwarepraktikum vonstatten geht. Dabei steht neben der Frage, welche Kompetenzen besonders gut erworben wurden, der Einfluss von Vorwissen/-kompetenz im Mittelpunkt der Abhandlung. Auf dieser Basis werden einige grundlegende und konkrete Verbesserungsvorschläge erarbeitet, wie der breite Kompetenzerwerb begünstigt wird, d.h. möglichst viele Studierende sich in einem breiten Kompetenzspektrum weiterentwickeln.
Das Gebiet der Netzsicherheit ist ein schwer zu lehrendes und mühsam zu lernendes Fach in der Informatikausbildung. Dies hat verschiedene Gründe, z.B. erfordert es Fachkenntnis, die jenseits von bunten Bildern zu vermitteln ist und sich dabei mit geringer Halbwertszeit weiterentwickelt. Echte Bedrohungsszenarien müssen unter Laborbedingungen nachgestellt werden, und der Umgang mit den Sicherheitswerkzeugen ist sehr komplex. Auf der einen Seite muss das System konzeptionell verstanden werden und auf der anderen Seite sind viele Details in der Konfiguration von Firewalls, Netz-Komponenten und –Werkzeugen für klassische Prüfungssituationen in der Ausbildung anzuwenden. Mit NetS-X (Network Security Experience) stellen wir einen laufenden Prototyp einer e-learning Plattform vor, mit der ein weiter Bereich von Sicherheitsszenarien vermittelt werden kann. Dabei wird der Lernende in einem Spielsystem mit Situationen konfrontiert, die er in einer echten, auf Linux basierenden typischen IT-Infrastruktur eines Unternehmens beherrschen muss. Die sicherheitsrelevanten Aktivitäten des Lernenden, z.B. der Einsatz von Monitor-Werkzeugen oder die Konfiguration von Netz-Komponenten werden dabei nicht simuliert, sondern real durchgeführt und durch Prozesse des Spielsystems beobachtet und bewertet. Autorenwerkzeuge ermöglichen den Lehrenden und Spielern, selber neue Spielsituationen, Sicherheitsszenarien oder Wissenskomponenten in das System zu integrieren.
Die gelungene Durchführung einer Vorlesung „Informatik I – Einführung in die Programmierung“ ist schwierig, trotz einer Vielfalt existierender Materialien und erprobter didaktischer Methoden. Gerade aufgrund dieser vielfältigen Auswahl hat sich bisher noch kein robustes Konzept durchgesetzt, das unabhängig von den Durchführenden eine hohe Erfolgsquote garantiert. An den Universitäten Tübingen und Freiburg wurde die Informatik I aus den gleichen Lehrmaterialien und unter ähnlichen Bedingungen durchgeführt, um das verwendete Konzept auf Robustheit zu überprüfen. Die Grundlage der Vorlesung bildet ein systematischer Ansatz zum Erlernen des Programmierens, der von der PLTGruppe in USA entwickelt worden ist. Hinzu kommen neue Ansätze zur Betreuung, insbesondere das Betreute Programmieren, bei dem die Studierenden eine solide Basis für ihre Programmierfähigkeiten entwickeln. Der vorliegende Bericht beschreibt hierbei gesammelte Erfahrungen, erläutert die Entwicklung der Unterrichtsmethodik und der Inhaltsauswahl im Vergleich zu vorangegangenen Vorlesungen und präsentiert Daten zum Erfolg der Vorlesung.
Biographisches Lernen betont insbesondere die Rolle individueller biographischer Erfahrungen und deren Auswirkungen auf Selbstbild, Weltbild und Verhaltensmuster. Schlagwortartig kann diese Perspektive als Unterschied zwischen ‚Informatik lernen‘ und ‚Informatiker/in werden‘ beschrieben werden. Im Artikel wird die Perspektive des Biographischen Lernens an Beispielen aus der Informatik skizziert. Biographisches Lernen ist in der Informatik zunächst aus rein pragmatischen Gründen bedeutsam. Der rasche Wandel der Informationstechnologien im Alltag verändert Erfahrungshintergründe der Studierenden (bzw. Schülerinnen und Schüler). Dementsprechend verändern sich Erwartungen, Interessen, Vorkenntnisse, generelle Einstellungen oder auch ganz banal die ‚IT-Ausstattung‘ der Lernenden.
Game-based Learning
(2009)
Game-based Learning und Edutainment sind aktuelle Schlagworte im Bereich der Hochschulausbildung. Zunächst verbindet man damit die Integration einer Spiel- und Spaßkultur in die herkömmlichen Lehrveranstaltungen wie Vorlesungen, Übungen, Praktika und Seminare. Die nachfolgenden Ausführungen gehen einer genaueren Begriffsanalyse nach und untersuchen, ob Game-based Learning und Edutainment tatsächlich neuartige Unterrichtsformen erfordern oder neue didaktische Überlegungen in bestehendes Unterrichtsgeschehen bringen – oder ob es nicht doch an einigen Stellen „alter Wein in neuen Schläuchen“ ist.
Medi@Thing
(2009)
In vielen Bildungsbereichen verschieben sich gegenwärtig die Akzente von einer qualifikationsorientierten zu einer stärker kompetenzorientierten Ausbildung. Der Begriff der Kompetenz zielt dabei darauf ab, das Aneignen von Wissen auf Vorrat zugunsten des Erwerbs allgemeiner Kompetenzen beispielsweise zur eigenständigen Aneignung von Wissen zu verschieben. Schlüsselqualifikationen geraten dabei zunehmend auch für die Ausbildung von Ingenieuren und Informatikern ins Blickfeld. Der kooperative und erwägende Umgang mit Wissensvielfalt wird in einer Informationsgesellschaft mit ihrer schnellen und verteilten Aufbereitung von Wissen zur Herausforderung. Der Beitrag skizziert die damit verbundenen Anforderungen und stellt mit dem Konzept des Medi@Thing einen Ansatz vor, der die Umsetzung solcher Anforderungen im Rahmen der universitären Informatikausbildung ermöglicht. Ein zentrales Moment dieses Ansatzes ist die ko-aktive Wissensarbeit in virtuellen Räumen. Erste Erfahrungen zeigen, dass das Konzept von Studierenden angenommen wird. Es wird jedoch auch deutlich, dass für das Gelingen bestimmte organisatorische und technische Randbedingungen zu beachten sind.
Thema des Workshops waren alle Fragen, die sich der Vermittlung von Informatikgegenständen im Hochschulbereich widmen. Dazu gehören u.a.: - fachdidaktische Konzepte der Vermittlung einzelner Informatikgegenstände - methodische Lösungen, wie spezielle Lehr- und Lernformen, Durchführungskonzepte - Studienkonzepte und Curricula, insbesondere im Zusammenhang mit Bachelor- und Masterstudiengängen - E-Learning-Ansätze, wenn sie ein erkennbares didaktisches Konzept verfolgen empirische Ergebnisse und Vergleichsstudien. Die Fachtagung widmete sich ausgewählten Fragestellungen dieses Themenkomplexes, die durch Vorträge ausgewiesener Experten, durch eingereichte Beiträge und durch eine Präsentation intensiv behandelt wurden.
Aktuelle Softwaresysteme erlauben die verteilte Authentifizierung von Benutzern über Ver-zeichnisdienste, die sowohl im Intranet als auch im Extranet liegen und die über Domänen-grenzen hinweg die Kooperation mit Partnern ermöglichen. Der nächste Schritt ist es nun, die Autorisierung ebenfalls aus der lokalen Anwendung auszulagern und diese extern durchzu-führen – vorzugsweise unter dem Einfluss der Authentifizierungspartner. Basierend auf der Analyse des State-of-the-Art wird in dieser Arbeit ein Framework vorges-tellt, das die verteilte Autorisierung von ADFS (Active Directory Federation Services) authenti-fizierten Benutzern auf Basis ihrer Gruppen oder ihrer persönlichen Identität ermöglicht. Es wird eine prototypische Implementation mit Diensten entwickelt, die für authentifizierte Be-nutzer Autorisierungsanfragen extern delegieren, sowie ein Dienst, der diese Autorisierungs-anfragen verarbeitet. Zusätzlich zeigt die Arbeit eine Integration dieses Autorisierungs-Frameworks in das .NET Framework, um die praxistaugliche Verwendbarkeit in einer aktuel-len Entwicklungsumgebung zu demonstrieren. Abschließend wird ein Ausblick auf weitere Fragestellungen und Folgearbeiten gegeben.
Die vorliegende Arbeit befasst sich mit der wissensbasierten Modellierung von Audio-Signal-Klassifikatoren (ASK) für die Bioakustik. Sie behandelt ein interdisziplinäres Problem, das viele Facetten umfasst. Zu diesen gehören artspezifische bioakustische Fragen, mathematisch-algorithmische Details und Probleme der Repräsentation von Expertenwissen. Es wird eine universelle praktisch anwendbare Methode zur wissensbasierten Modellierung bioakustischer ASK dargestellt und evaluiert. Das Problem der Modellierung von ASK wird dabei durchgängig aus KDD-Perspektive (Knowledge Discovery in Databases) betrachtet. Der grundlegende Ansatz besteht darin, mit Hilfe von modifizierten KDD-Methoden und Data-Mining-Verfahren die Modellierung von ASK wesentlich zu erleichtern. Das etablierte KDD-Paradigma wird mit Hilfe eines detaillierten formalen Modells auf den Bereich der Modellierung von ASK übertragen. Neunzehn elementare KDD-Verfahren bilden die Grundlage eines umfassenden Systems zur wissensbasierten Modellierung von ASK. Methode und Algorithmen werden evaluiert, indem eine sehr umfangreiche Sammlung akustischer Signale des Großen Tümmlers mit ihrer Hilfe untersucht wird. Die Sammlung wurde speziell für diese Arbeit in Eilat (Israel) angefertigt. Insgesamt werden auf Grundlage dieses Audiomaterials vier empirische Einzelstudien durchgeführt: - Auf der Basis von oszillographischen und spektrographischen Darstellungen wird ein phänomenologisches Klassifikationssystem für die vielfältigen Laute des Großen Tümmlers dargestellt. - Mit Hilfe eines Korpus halbsynthetischer Audiodaten werden verschiedene grundlegende Verfahren zur Modellierung und Anwendung von ASK in Hinblick auf ihre Genauigkeit und Robustheit untersucht. - Mit einem speziell entwickelten Clustering-Verfahren werden mehrere Tausend natürliche Pfifflaute des Großen Tümmlers untersucht. Die Ergebnisse werden visualisiert und diskutiert. - Durch maschinelles mustererkennungsbasiertes akustisches Monitoring wird die Emissionsdynamik verschiedener Lauttypen im Verlaufe von vier Wochen untersucht. Etwa 2.5 Millionen Klicklaute werden im Anschluss auf ihre spektralen Charakteristika hin untersucht. Die beschriebene Methode und die dargestellten Algorithmen sind in vielfältiger Hinsicht erweiterbar, ohne dass an ihrer grundlegenden Architektur etwas geändert werden muss. Sie lassen sich leicht in dem gesamten Gebiet der Bioakustik einsetzen. Hiermit besitzen sie auch für angrenzende Disziplinen ein hohes Potential, denn exaktes Wissen über die akustischen Kommunikations- und Sonarsysteme der Tiere wird in der theoretischen Biologie, in den Kognitionswissenschaften, aber auch im praktischen Naturschutz, in Zukunft eine wichtige Rolle spielen.
Intuitive Modelle der Informatik sind gedankliche Vorstellungen über informatische Konzepte, die mit subjektiver Gewissheit verbunden sind. Menschen verwenden sie, wenn sie die Arbeitsweise von Computerprogrammen nachvollziehen oder anderen erklären, die logische Korrektheit eines Programms prüfen oder in einem kreativen Prozess selbst Programme entwickeln. Intuitive Modelle können auf verschiedene Weise repräsentiert und kommuniziert werden, etwa verbal-abstrakt, durch ablauf- oder strukturorientierte Abbildungen und Filme oder konkrete Beispiele. Diskutiert werden in dieser Arbeit grundlegende intuitive Modelle für folgende inhaltliche Aspekte einer Programmausführung: Allokation von Aktivität bei einer Programmausführung, Benennung von Entitäten, Daten, Funktionen, Verarbeitung, Kontrollstrukturen zur Steuerung von Programmläufen, Rekursion, Klassen und Objekte. Mit Hilfe eines Systems von Online-Spielen, der Python Visual Sandbox, werden die psychische Realität verschiedener intuitiver Modelle bei Programmieranfängern nachgewiesen und fehlerhafte Anwendungen (Fehlvorstellungen) identifiziert.
Diese Arbeit befasst sich mit der Entwicklung einer Applikation, welche Infrastrukturdaten über Eisenbahnnetze generiert. Dabei bildet die Erzeugung der topologischen Informationen den Schwerpunkt dieser Arbeit. Der Anwender charakterisiert hierfür vorab das gewünschte Eisenbahnnetz, wobei die geforderten Eigenschaften die Randbedingungen darstellen, die bei der Synthese zu beachten sind. Zur Einhaltung dieser Bedingungen wird die Constraint-Programmierung eingesetzt, welche durch ihr spezielles Programmierparadigma konsistente Lösungen effizient erzeugt. Dies wird u.a. durch die Nachnutzung so genannter globaler Constraints erreicht. Aus diesem Grund wird insbesondere auf den Einsatz der Constraint-Programmierung bei der Modellierung und Implementierung der Applikation eingegangen.
Vorwort: Immer mehr Bürgerinnen und Bürger nutzen die vielfältigen Möglichkeiten der neuen elektronischen Medien. Dabei erfreut sich insbesondere das Internet einer zunehmenden Beliebtheit und steigender Nutzerzahlen. Damit verbunden steigt auch die Zahl der Webauftritte und Internetangebote. Doch einem Teil der Internet-Community bleibt der Zugang zu vielen dieser Angebote versagt. Dies sind vor allem Menschen mit Behinderungen, aber auch Nutzer, deren verwendete Hard- und Software zur Darstellung der angebotenen Inhalte seitens der Anbieter nicht unterstützt werden. Im Wesentlichen geht es um zwei Arten von „Barrieren“ bei der Nutzung von Informationstechnik: Zum einen um technische Barrieren bei der Darstellung und zum anderen um kognitive Barrieren bezüglich des Verstehens der dargestellten Inhalte. Die Schaffung barrierefreier Informationstechnik ist deshalb ein wichtiges Kriterium bei der Ausgestaltung öffentlicher Internetauftritte und -angebote. Hierzu gibt es eine Reihe rechtlicher Regelungen, unter anderem im Behindertengleichstellungsgesetz (BGG) oder der Barrierefreien Informationstechnikverordnung (BITV), deren Umsetzung in den einzelnen Bundesländern sehr unterschiedlich geregelt ist. Auch wenn die Kommunen in manchen Bundesländern – so auch in Brandenburg – von den gesetzlichen Regelungen ausgenommen sind, ist eine Realisierung barrierefreier Internetauftritte von Kommunen wünschenswert, um allen Bürgern einen gleichwertigen Zugang zu kommunalen Interangeboten zu ermöglichen. Um vor allem die kommunale Praxis bei der Erstellung barrierefreier Internetangebote zu unterstützen, hat das Kommunalwissenschaftliche Institut (KWI) der Universität Potsdam im Dezember 2004 einen Workshop unter dem Titel „Barrierefreie Internetauftritte – Aspekte der Umsetzung des Behindertengleichstellungsgesetzes in elektronischen Medien“ veranstaltet. Ziel war es, umfassende Informationen zum Thema „Barrierefreiheit“ zu vermitteln sowie Hinweise und Lösungsmöglichkeiten für die Realisierung barrierefreier Internetauftritte zu geben. Im Mittelpunkt standen dabei folgende Fragen: Was können und sollen kommunale Internetauftritte leisten? Was bedeutet Barrierefreiheit bezüglich „elektronischer Medien“ und welche Auswirkungen ergeben sich daraus für die Gestaltung von Internetauftritten? Welche gesetzlichen Regelungen gibt es und welche Geltungsbereiche haben sie im Einzelnen? Welche technischen Lösungen kommen für die Erstellung barrierefreier Internetseiten in Betracht? Das vorliegende Arbeitsheft ist Teil der Dokumentation der Ergebnisse des Workshops. Die einzelnen Beiträge fassen die Vorträge der Referenten zusammen.
"Wir gehen multimedial. Kommt ihr mit?" war Aufruf und Leitmotiv der MultimeDies 2007. Es kamen sehr viele mit, vor allem Lehrende und Lernende der Universität Potsdam, aber auch Firmen. Diese Veranstaltung setzt eine Tradition fort, die im Bemühen steht über zukunftsweisende Technologien und Projekte, über Angebote und praktikable Lösungen an der Universität zu informieren. Die Vorträge wurden in kurzen Beiträgen zusammengestellt. Sie gliedern sich in zwei Gruppen, zum einen der Bereitstellung, zum anderen der Nutzung von Multimedia.
Aufzählen von DNA-Codes
(2006)
In dieser Arbeit wird ein Modell zum Aufzählen von DNA-Codes entwickelt. Indem eine Ordnung auf der Menge aller DNA-Codewörter eingeführt und auf die Menge aller Codes erweitert wird, erlaubt das Modell das Auffinden von DNA-Codes mit bestimmten Eigenschaften, wie Überlappungsfreiheit, Konformität, Kommafreiheit, Stickyfreiheit, Überhangfreiheit, Teilwortkonformität und anderer bezüglich einer gegebenen Involution auf der Menge der Codewörter. Ein auf Grundlage des geschaffenen Modells entstandenes Werkzeug erlaubt das Suchen von Codes mit beliebigen Kombinationen von Codeeigenschaften. Ein weiterer wesentlicher Bestandteil dieser Arbeit ist die Untersuchung der Optimalität von DNA-Codes bezüglich ihrer Informationsrate sowie das Finden solider DNA-Codes.
Moderne Softwaresysteme sind komplexe Gebilde, welche häufig im Verbund mit anderen technischen und betriebswirtschaftlichen Systemen eingesetzt werden. Für die Hersteller solcher Systeme stellt es oft eine große Herausforderung dar, den oft weit reichenden Anforderungen bezüglich der Anpassbarkeit solcher Systeme gerecht zu werden. Zur Erfüllung dieser Anforderungen hat es sich vielfach bewährt, eine virtuelle Maschine in das betreffende System zu integrieren. Die Dissertation richtet sich insbesondere an Personen, die vor der Aufgabe der Integration virtueller Maschinen in bestehende Systeme stehen und zielt darauf ab, solche für die Entscheidung über Integrationsfragen wichtigen Zusammenhänge klar darzustellen. Typischerweise treten bei der Integration einer virtuellen Maschine in ein System eine Reihe unterschiedlicher Problemstellungen auf. Da diese Problemstellungen oft eng miteinander verzahnt sind, ist eine isolierte Betrachtung meist nicht sinnvoll. Daher werden die Problemstellungen anhand eines zentral gewählten, sehr umfangreichen Beispiels aus der industriellen Praxis eingeführt. Dieses Beispiel hat die Integration der "Java Virtual Machine" in den SAP R/3 Application Server zum Gegenstand. Im Anschluss an dieses Praxisbeispiel wird die Diskussion der Integrationsproblematik unter Bezug auf eine Auswahl weiterer, in der Literatur beschriebener Integrationsbeispiele vertieft. Das Hauptproblem bei der Behandlung der Integrationsproblematik bestand darin, dass die vorgefundenen Beschreibungen, der als Beispiel herangezogenen Systeme, nur bedingt als Basis für die Auseinandersetzung mit der Integrationsproblematik geeignet waren. Zur Schaffung einer verwertbaren Diskussionsgrundlage war es daher erforderlich, eine homogene, durchgängige Modellierung dieser Systeme vorzunehmen. Die Modellierung der Systeme erfolgte dabei unter Verwendung der "Fundamental Modeling Concepts (FMC)". Die erstellten Modelle sowie die auf Basis dieser Modelle durchgeführte Gegenüberstellung der unterschiedlichen Ansätze zur LÖsung typischer Integrationsprobleme bilden den Hauptbeitrag der Dissertation. Im Zusammenhang mit der Integration virtueller Maschinen in bestehende Systeme besteht häufig der Bedarf, zeitgleich mehrere "Programme" durch die integrierte virtuelle Maschine ausführen zu lassen. Angesichts der Konstruktionsmerkmale vieler heute verbreiteter virtueller Maschinen stellt die Realisierung eines "betriebsmittelschonenden Mehrprogrammbetriebs" eine große Herausforderung dar. Die Darstellung des Spektrums an Maßnahmen zur Realisierung eines "betriebsmittelschonenden Mehrprogrammbetriebs" bildet einen zweiten wesentlichen Beitrag der Dissertation.
Thema dieser Arbeit sind echtzeitfähige 3D-Renderingverfahren, die 3D-Geometrie mit über der Standarddarstellung hinausgehenden Qualitäts- und Gestaltungsmerkmalen rendern können. Beispiele sind Verfahren zur Darstellung von Schatten, Reflexionen oder Transparenz. Mit heutigen computergraphischen Software-Basissystemen ist ihre Integration in 3D-Anwendungssysteme sehr aufwändig: Dies liegt einerseits an der technischen, algorithmischen Komplexität der Einzelverfahren, andererseits an Ressourcenkonflikten und Seiteneffekten bei der Kombination mehrerer Verfahren. Szenengraphsysteme, intendiert als computergraphische Softwareschicht zur Abstraktion von der Graphikhardware, stellen derzeit keine Mechanismen zur Nutzung dieser Renderingverfahren zur Verfügung. Ziel dieser Arbeit ist es, eine Software-Architektur für ein Szenengraphsystem zu konzipieren und umzusetzen, die echtzeitfähige 3D-Renderingverfahren als Komponenten modelliert und es damit erlaubt, diese Verfahren innerhalb des Szenengraphsystems für die Anwendungsentwicklung effektiv zu nutzen. Ein Entwickler, der ein solches Szenengraphsystem nutzt, steuert diese Komponenten durch Elemente in der Szenenbeschreibung an, die die sichtbare Wirkung eines Renderingverfahrens auf die Geometrie in der Szene angeben, aber keine Hinweise auf die algorithmische Implementierung des Verfahrens enthalten. Damit werden Renderingverfahren in 3D-Anwendungssystemen nutzbar, ohne dass ein Entwickler detaillierte Kenntnisse über sie benötigt, so dass der Aufwand für ihre Entwicklung drastisch reduziert wird. Ein besonderer Augenmerk der Arbeit liegt darauf, auf diese Weise auch verschiedene Renderingverfahren in einer Szene kombiniert einsetzen zu können. Hierzu ist eine Unterteilung der Renderingverfahren in mehrere Kategorien erforderlich, die mit Hilfe unterschiedlicher Ansätze ausgewertet werden. Dies erlaubt die Abstimmung verschiedener Komponenten für Renderingverfahren und ihrer verwendeten Ressourcen. Die Zusammenarbeit mehrerer Renderingverfahren hat dort ihre Grenzen, wo die Kombination von Renderingverfahren graphisch nicht sinnvoll ist oder fundamentale technische Beschränkungen der Verfahren eine gleichzeitige Verwendung unmöglich machen. Die in dieser Arbeit vorgestellte Software-Architektur kann diese Grenzen nicht verschieben, aber sie ermöglicht den gleichzeitigen Einsatz vieler Verfahren, bei denen eine Kombination aufgrund der hohen Komplexität der Implementierung bislang nicht erreicht wurde. Das Vermögen zur Zusammenarbeit ist dabei allerdings von der Art eines Einzelverfahrens abhängig: Verfahren zur Darstellung transparenter Geometrie beispielsweise erfordern bei der Kombination mit anderen Verfahren in der Regel vollständig neuentwickelte Renderingverfahren; entsprechende Komponenten für das Szenengraphsystem können daher nur eingeschränkt mit Komponenten für andere Renderingverfahren verwendet werden. Das in dieser Arbeit entwickelte System integriert und kombiniert Verfahren zur Darstellung von Bumpmapping, verschiedene Schatten- und Reflexionsverfahren sowie bildbasiertes CSG-Rendering. Damit stehen wesentliche Renderingverfahren in einem Szenengraphsystem erstmalig komponentenbasiert und auf einem hohen Abstraktionsniveau zur Verfügung. Das System ist trotz des zusätzlichen Verwaltungsaufwandes in der Lage, die Renderingverfahren einzeln und in Kombination grundsätzlich in Echtzeit auszuführen.
Mit zunehmender Komplexität technischer Softwaresysteme ist die Nachfrage an produktiveren Methoden und Werkzeugen auch im sicherheitskritischen Umfeld gewachsen. Da insbesondere objektorientierte und modellbasierte Ansätze und Methoden ausgezeichnete Eigenschaften zur Entwicklung großer und komplexer Systeme besitzen, ist zu erwarten, dass diese in naher Zukunft selbst bis in sicherheitskritische Bereiche der Softwareentwicklung vordringen. Mit der Unified Modeling Language Real-Time (UML-RT) wird eine Softwareentwicklungsmethode für technische Systeme durch die Object Management Group (OMG) propagiert. Für den praktischen Einsatz im technischen und sicherheitskritischen Umfeld muss diese Methode nicht nur bestimmte technische Eigenschaften, beispielsweise temporale Analysierbarkeit, besitzen, sondern auch in einen bestehenden Qualitätssicherungsprozess integrierbar sein. Ein wichtiger Aspekt der Integration der UML-RT in ein qualitätsorientiertes Prozessmodell, beispielsweise in das V-Modell, ist die Verfügbarkeit von ausgereiften Konzepten und Methoden für einen systematischen Modultest. Der Modultest dient als erste Qualititätssicherungsphase nach der Implementierung der Fehlerfindung und dem Qualitätsnachweis für jede separat prüfbare Softwarekomponente eines Systems. Während dieser Phase stellt die Durchführung von systematischen Tests die wichtigste Qualitätssicherungsmaßnahme dar. Während zum jetzigen Zeitpunkt zwar ausgereifte Methoden und Werkzeuge für die modellbasierte Softwareentwicklung zur Verfügung stehen, existieren nur wenig überzeugende Lösungen für eine systematische modellbasierte Modulprüfung. Die durchgängige Verwendung ausführbarer Modelle und Codegenerierung stellen wesentliche Konzepte der modellbasierten Softwareentwicklung dar. Sie dienen der konstruktiven Fehlerreduktion durch Automatisierung ansonsten fehlerträchtiger, manueller Vorgänge. Im Rahmen einer modellbasierten Qualitätssicherung sollten diese Konzepte konsequenterweise in die späteren Qualitätssicherungsphasen transportiert werden. Daher ist eine wesentliche Forderung an ein Verfahren zur modellbasierten Modulprüfung ein möglichst hoher Grad an Automatisierung. In aktuellen Entwicklungen hat sich für die Generierung von Testfällen auf Basis von Zustandsautomaten die Verwendung von Model Checking als effiziente und an die vielfältigsten Testprobleme anpassbare Methode bewährt. Der Ansatz des Model Checking stammt ursprünglich aus dem Entwurf von Kommunikationsprotokollen und wurde bereits erfolgreich auf verschiedene Probleme der Modellierung technischer Software angewendet. Insbesondere in der Gegenwart ausführbarer, automatenbasierter Modelle erscheint die Verwendung von Model Checking sinnvoll, das die Existenz einer formalen, zustandsbasierten Spezifikation voraussetzt. Ein ausführbares, zustandsbasiertes Modell erfüllt diese Anforderungen in der Regel. Aus diesen Gründen ist die Wahl eines Model Checking Ansatzes für die Generierung von Testfällen im Rahmen eines modellbasierten Modultestverfahrens eine logische Konsequenz. Obwohl in der aktuellen Spezifikation der UML-RT keine eindeutigen Aussagen über den zur Verhaltensbeschreibung zu verwendenden Formalismus gemacht werden, ist es wahrscheinlich, dass es sich bei der UML-RT um eine zu Real-Time Object-Oriented Modeling (ROOM) kompatible Methode handelt. Alle in dieser Arbeit präsentierten Methoden und Ergebnisse sind somit auf die kommende UML-RT übertragbar und von sehr aktueller Bedeutung. Aus den genannten Gründen verfolgt diese Arbeit das Ziel, die analytische Qualitätssicherung in der modellbasierten Softwareentwicklung mittels einer modellbasierten Methode für den Modultest zu verbessern. Zu diesem Zweck wird eine neuartige Testmethode präsentiert, die auf automatenbasierten Verhaltensmodellen und CTL Model Checking basiert. Die Testfallgenerierung kann weitgehend automatisch erfolgen, um Fehler durch menschlichen Einfluss auszuschließen. Das entwickelte Modultestverfahren ist in die technischen Konzepte Model Driven Architecture und ROOM, beziehungsweise UML-RT, sowie in die organisatorischen Konzepte eines qualitätsorientierten Prozessmodells, beispielsweise das V-Modell, integrierbar.
Die Dissertation stellt eine neue Herangehensweise an die Lösung der Aufgabe der funktionalen Diagnostik digitaler Systeme vor. In dieser Arbeit wird eine neue Methode für die Fehlererkennung vorgeschlagen, basierend auf der Logischen Ergänzung und der Verwendung von Berger-Codes und dem 1-aus-3 Code. Die neue Fehlererkennungsmethode der Logischen Ergänzung gestattet einen hohen Optimierungsgrad der benötigten Realisationsfläche der konstruierten Fehlererkennungsschaltungen. Außerdem ist eins der wichtigen in dieser Dissertation gelösten Probleme die Synthese vollständig selbstprüfender Schaltungen.
Interaktive System sind dynamische Systeme mit einem zumeist informationellen Kern, die über eine Benutzungsschnittstelle von einem oder mehreren Benutzern bedient werden können. Grundlage für die Benutzung interaktiver Systeme ist das Verständnis von Zweck und Funktionsweise. Allein aus Form und Gestalt der Benutzungsschnittstelle ergibt sich ein solches Verständnis nur in einfachen Fällen. Mit steigender Komplexität ist daher eine verständliche Beschreibung solcher Systeme für deren Entwicklung und Benutzung unverzichtbar. Abhängig von ihrem Zweck variieren die Formen vorgefundener Beschreibungen in der Literatur sehr stark. Ausschlaggebend für die Verständlichkeit einer Beschreibung ist jedoch primär die ihr zugrundeliegende Begriffswelt. Zur Beschreibung allgemeiner komplexer diskreter Systeme - aufbauend auf einer getrennten Betrachtung von Aufbau-, Ablauf- und Wertestrukturen - existiert eine bewährte Begriffswelt. Eine Spezialisierung dieser Begriffs- und Vorstellungswelt, die den unterschiedlichen Betrachtungsebenen interaktiver Systeme gerecht wird und die als Grundlage beliebiger Beschreibungsansätze interaktiver Systeme dienen kann, gibt es bisher nicht. Ziel dieser Arbeit ist die Bereitstellung einer solchen Begriffswelt zur effizienten Kommunikation der Strukturen interaktiver Systeme. Dadurch soll die Grundlage für eine sinnvolle Ergänzung bestehender Beschreibungs- und Entwicklungsansätze geschaffen werden. Prinzipien der Gestaltung von Benutzungsschnittstellen, Usability- oder Ergonomiebetrachtungen stehen nicht im Mittelpunkt der Arbeit. Ausgehend von der informationellen Komponente einer Benutzungsschnittstelle werden drei Modellebenen abgegrenzt, die bei der Betrachtung eines interaktiven Systems zu unterscheiden sind. Jede Modellebene ist durch eine typische Begriffswelt gekennzeichnet, die ihren Ursprung in einer aufbauverwurzelten Vorstellung hat. Der durchgängige Bezug auf eine Systemvorstellung unterscheidet diesen Ansatz von dem bereits bekannten Konzept der Abgrenzung unterschiedlicher Ebenen verschiedenartiger Entwurfsentscheidungen. Die Fundamental Modeling Concepts (FMC) bilden dabei die Grundlage für die Findung und die Darstellung von Systemstrukturen. Anhand bestehender Systembeschreibungen wird gezeigt, wie die vorgestellte Begriffswelt zur Modellfindung genutzt werden kann. Dazu wird eine repräsentative Auswahl vorgefundener Systembeschreibungen aus der einschlägigen Literatur daraufhin untersucht, in welchem Umfang durch sie die Vorstellungswelt dynamischer Systeme zum Ausdruck kommt. Defizite in der ursprünglichen Darstellung werden identifiziert. Anhand von Alternativmodellen zu den betrachteten Systemen wird der Nutzen der vorgestellten Begriffswelt und Darstellungsweise demonstriert.
Zur Beherrschung großer Systeme, insbesondere zur Weitergabe und Nutzung von Erfahrungswissen in der frühen Entwurfs- und Planungsphase, benötigt man Abstraktionen für deren Strukturen. Trennt man Software- von Systemstrukturen, kann man mit letzteren Systeme auf ausreichend hohem Abstraktionsgrad beschreiben.Software-Patterns dienen dazu, Erfahrungswissen bezüglich programmierter Systeme strukturiert weiterzugeben. Dabei wird unterschieden zwischen Idiomen, die sich auf Lösungen mit einer bestimmten Programmiersprache beziehen, Design-Patterns, die nur einen kleinen Teil des Programms betreffen und Architektur-Patterns, deren Einfluss über einen größeren Teil oder gar das komplette Programm reicht. Eine Untersuchung von existierenden Patterns zeigt, dass deren Konzepte nützlich zum Finden von Systemstrukturen sind. Die grafische Darstellung dieser Patterns ist dagegen oft auf Software-Strukturen eingeschränkt und ist für die Vermittlung von Erfahrungen zum Finden von Systemstrukturen meist nicht geeignet. Daher wird die Kategorie der konzeptionellen Patterns mit einer darauf abgestimmten grafischen Darstellungsform vorgeschlagen, bei denen Problem und Lösungsvorschlag im Bereich der Systemstrukturen liegen. Sie betreffen informationelle Systeme, sind aber nicht auf Lösungen mit Software beschränkt. Die Systemstrukturen werden grafisch dargestellt, wobei dafür die Fundamental Modeling Concepts (FMC) verwendet werden, die zur Darstellung von Systemstrukturen entwickelt wurden.
Gerade in den letzten Jahren erfuhr Open Source Software (OSS) eine zunehmende Verbreitung und Popularität und hat sich in verschiedenen Anwendungsdomänen etabliert. Die Prozesse, welche sich im Kontext der OSS-Entwicklung (auch: OSSD – Open Source Software-Development) evolutionär herausgebildet haben, weisen in den verschiedenen OSS-Entwicklungsprojekten z.T. ähnliche Eigenschaften und Strukturen auf und auch die involvierten Entitäten, wie z.B. Artefakte, Rollen oder Software-Werkzeuge sind weitgehend miteinander vergleichbar. Dies motiviert den Gedanken, ein verallgemeinerbares Modell zu entwickeln, welches die generalisierbaren Entwicklungsprozesse im Kontext von OSS zu einem übertragbaren Modell abstrahiert. Auch in der Wissenschaftsdisziplin des Software Engineering (SE) wurde bereits erkannt, dass sich der OSSD-Ansatz in verschiedenen Aspekten erheblich von klassischen (proprietären) Modellen des SE unterscheidet und daher diese Methoden einer eigenen wissenschaftlichen Betrachtung bedürfen. In verschiedenen Publikationen wurden zwar bereits einzelne Aspekte der OSS-Entwicklung analysiert und Theorien über die zugrundeliegenden Entwicklungsmethoden formuliert, aber es existiert noch keine umfassende Beschreibung der typischen Prozesse der OSSD-Methodik, die auf einer empirischen Untersuchung existierender OSS-Entwicklungsprojekte basiert. Da dies eine Voraussetzung für die weitere wissenschaftliche Auseinandersetzung mit OSSD-Prozessen darstellt, wird im Rahmen dieser Arbeit auf der Basis vergleichender Fallstudien ein deskriptives Modell der OSSD-Prozesse hergeleitet und mit Modellierungselementen der UML formalisiert beschrieben. Das Modell generalisiert die identifizierten Prozesse, Prozessentitäten und Software-Infrastrukturen der untersuchten OSSD-Projekte. Es basiert auf einem eigens entwickelten Metamodell, welches die zu analysierenden Entitäten identifiziert und die Modellierungssichten und -elemente beschreibt, die zur UML-basierten Beschreibung der Entwicklungsprozesse verwendet werden. In einem weiteren Arbeitsschritt wird eine weiterführende Analyse des identifizierten Modells durchgeführt, um Implikationen, und Optimierungspotentiale aufzuzeigen. Diese umfassen beispielsweise die ungenügende Plan- und Terminierbarkeit von Prozessen oder die beobachtete Tendenz von OSSD-Akteuren, verschiedene Aktivitäten mit unterschiedlicher Intensität entsprechend der subjektiv wahrgenommenen Anreize auszuüben, was zur Vernachlässigung einiger Prozesse führt. Anschließend werden Optimierungszielstellungen dargestellt, die diese Unzulänglichkeiten adressieren, und ein Optimierungsansatz zur Verbesserung des OSSD-Modells wird beschrieben. Dieser Ansatz umfasst die Erweiterung der identifizierten Rollen, die Einführung neuer oder die Erweiterung bereits identifizierter Prozesse und die Modifikation oder Erweiterung der Artefakte des generalisierten OSS-Entwicklungsmodells. Die vorgestellten Modellerweiterungen dienen vor allem einer gesteigerten Qualitätssicherung und der Kompensation von vernachlässigten Prozessen, um sowohl die entwickelte Software- als auch die Prozessqualität im OSSD-Kontext zu verbessern. Desweiteren werden Softwarefunktionalitäten beschrieben, welche die identifizierte bestehende Software-Infrastruktur erweitern und eine gesamtheitlichere, softwaretechnische Unterstützung der OSSD-Prozesse ermöglichen sollen. Abschließend werden verschiedene Anwendungsszenarien der Methoden des OSS-Entwicklungsmodells, u.a. auch im kommerziellen SE, identifiziert und ein Implementierungsansatz basierend auf der OSS GENESIS vorgestellt, der zur Implementierung und Unterstützung des OSSD-Modells verwendet werden kann.