004 Datenverarbeitung; Informatik
Refine
Year of publication
Document Type
- Article (336)
- Monograph/Edited Volume (166)
- Doctoral Thesis (159)
- Conference Proceeding (54)
- Postprint (50)
- Master's Thesis (10)
- Other (7)
- Preprint (3)
- Part of a Book (2)
- Bachelor Thesis (1)
Language
- English (596)
- German (192)
- Multiple languages (2)
Keywords
- Informatik (21)
- machine learning (19)
- Didaktik (15)
- Hochschuldidaktik (14)
- Ausbildung (13)
- answer set programming (13)
- Cloud Computing (12)
- cloud computing (12)
- Hasso-Plattner-Institut (10)
- maschinelles Lernen (10)
Institute
- Institut für Informatik und Computational Science (271)
- Hasso-Plattner-Institut für Digital Engineering gGmbH (214)
- Hasso-Plattner-Institut für Digital Engineering GmbH (134)
- Extern (65)
- Fachgruppe Betriebswirtschaftslehre (29)
- Mathematisch-Naturwissenschaftliche Fakultät (24)
- Wirtschaftswissenschaften (19)
- Institut für Mathematik (16)
- Bürgerliches Recht (12)
- Institut für Physik und Astronomie (8)
- Digital Engineering Fakultät (7)
- Institut für Umweltwissenschaften und Geographie (6)
- Department Linguistik (5)
- Department Erziehungswissenschaft (4)
- Institut für Biochemie und Biologie (4)
- Department Sport- und Gesundheitswissenschaften (2)
- Sozialwissenschaften (2)
- Öffentliches Recht (2)
- Department Psychologie (1)
- Fachgruppe Politik- & Verwaltungswissenschaft (1)
- Fachgruppe Soziologie (1)
- Institut für Geowissenschaften (1)
- Interdisziplinäres Zentrum für Kognitive Studien (1)
- Kommunalwissenschaftliches Institut (1)
- Lehreinheit für Wirtschafts-Arbeit-Technik (1)
- Potsdam Transfer - Zentrum für Gründung, Innovation, Wissens- und Technologietransfer (1)
- Theodor-Fontane-Archiv (1)
Business process management aims at capturing, understanding, and improving work in organizations. The central artifacts are process models, which serve different purposes. Detailed process models are used to analyze concrete working procedures, while high-level models show, for instance, handovers between departments. To provide different views on process models, business process model abstraction has emerged. While several approaches have been proposed, a number of abstraction use case that are both relevant for industry and scientifically challenging are yet to be addressed. In this paper we systematically develop, classify, and consolidate different use cases for business process model abstraction. The reported work is based on a study with BPM users in the health insurance sector and validated with a BPM consultancy company and a large BPM vendor. The identified fifteen abstraction use cases reflect the industry demand. The related work on business process model abstraction is evaluated against the use cases, which leads to a research agenda.
Internetbasierte Informatiksysteme beeinflussen in steigendem Maße Situationen in unterschiedlichen Lebensbereichen. Kompetenzen zur Verwendung von Internetanwendungen und -diensten müssen explizit erworben werden, weil damit ein notwendiger Einblick in nicht beobachtbare Abläufe und nicht offen sichtbare Strukturen verbunden ist. Bisher gibt es Vorschläge für die Gestaltung schulischer Lehr-Lernprozesse zu ausgewählten Teilaspekten des Internets. Es fehlt eine systematische Analyse des Bildungsbedarfs und ein daraus resultierendes Unterrichtsmodell. In dieser Arbeit wird ein Gesamtkonzept für den Informatikunterricht in der Sekundarstufe II vorgestellt, das zu zielgerichteter und verantwortungsvoller Anwendung des Internets beiträgt. Die vorliegende Arbeit umfasst den Prozess von der Analyse erforderlicher Kompetenzen bis zur Realisierung von Lehr-Lernprozessen im Informatikunterricht in der Sekundarstufe II. Es werden der Beitrag der Informatik zu identifizierten Kompetenzen untersucht und Bildungsanforderungen bestimmt. Bildungsempfehlungen und Forschungsergebnisse zu erfolgreichen Unterrichtseinheiten werden im Hinblick auf die Bildungsziele analysiert. Der Informatikunterricht unterstützt die Kompetenzentwicklung zu internetbasierten digitalen Medien. Es wird die Entwicklung eines Unterrichtsmodells zu Internetworking beschrieben. Dazu wird der Ansatz der Didaktischen Systeme untersucht, weiter entwickelt und auf den Bereich Internetworking übertragen. Der theoretische Ansatz wird dazu in vier Unterrichtsprojekten zu Internetworking in der Praxis realisiert. Beziehungen zwischen Fachkonzepten zu Internetworking werden untersucht und durch Wissensstrukturen zur Planung von Unterrichtsprojekten eingesetzt und in der Praxis erprobt. Die Beschreibung von Lernaktivitäten erfolgt auf der Basis von Aufgabenklassen, die das notwendige Wissen zur Bearbeitung einer Aufgabenstellung repräsentieren. Auf der Grundlage des Ablaufs der Aufgabenbearbeitung werden Eigenschaften von Aufgaben beschrieben und zu deren Gestaltung nutzbar gemacht. Bisher nicht durchführbare Tätigkeiten im Unterricht werden durch die Entwicklung der Lernsoftware Filius ermöglicht. Die Reduktion der komplexen Wirklichkeit durch Simulation realer internetbasierter Informatiksysteme und die Auswahl geeigneter Sichten auf den Untersuchungsgegenstand werden mit Ergebnissen der Informatikdidaktik begründet. Unterrichtsprojekte zu den Zielen werden durchgeführt, um Lehr-Lernprozesse zu erkunden und das entwickelte Didaktische System zu erproben. Ausgehend von der theoretischen Fundierung erfolgt die praktische Realisierung von Lehr-Lernprozessen. Zur Erprobung im Informatikunterricht der Sekundarstufe II in Nordrhein-Westfalen werden Minimalziele aufgrund der Lehrvorgaben bestimmt. Die methodische Gestaltung in der Erprobung erfolgt unter Berücksichtigung der Vorgaben für den Informatikunterricht und allgemeinen Anforderungen der Fachdidaktik. Handlungsorientierte Unterrichtsmittel werden ausgewählt und in der Praxis zur Untersuchung der Lehr-Lernprozesse verwendet. Im Unterricht identifizierte Lernschwierigkeiten führen zur Modifikation der Wissensstrukturen und werden im Entwicklungsprozess von Filius berücksichtigt. Die Erkenntnisse aus Unterrichtsprojekten werden genutzt, um zu bestimmen, zu welchen Aufgabenklassen weitere Aufgaben erforderlich sind und inwieweit das aus den identifizierten Merkmalen abgeleitete Vorgehen zur Entwicklung niveaubestimmender Aufgaben genutzt werden kann. Die Erprobungen bestätigen die Tragfähigkeit des Didaktischen Systems Internetworking und leisten mit der Implementierung in der Praxis einen Beitrag zur Untersuchung von Kompetenzentwicklung im Informatikunterricht. Mit dem Didaktischen System Internetworking wird ein theoretisch fundiertes und empirisch erprobtes Unterrichtsmodell zur Entwicklung von Kompetenzen zur Einrichtung und Anwendung internetbasierter Informatiksysteme beschrieben.
Data obtained from foreign data sources often come with only superficial structural information, such as relation names and attribute names. Other types of metadata that are important for effective integration and meaningful querying of such data sets are missing. In particular, relationships among attributes, such as foreign keys, are crucial metadata for understanding the structure of an unknown database. The discovery of such relationships is difficult, because in principle for each pair of attributes in the database each pair of data values must be compared. A precondition for a foreign key is an inclusion dependency (IND) between the key and the foreign key attributes. We present with Spider an algorithm that efficiently finds all INDs in a given relational database. It leverages the sorting facilities of DBMS but performs the actual comparisons outside of the database to save computation. Spider analyzes very large databases up to an order of magnitude faster than previous approaches. We also evaluate in detail the effectiveness of several heuristics to reduce the number of necessary comparisons. Furthermore, we generalize Spider to find composite INDs covering multiple attributes, and partial INDs, which are true INDs for all but a certain number of values. This last type is particularly relevant when integrating dirty data as is often the case in the life sciences domain - our driving motivation.
This thesis presents methods for automated synthesis of flexible chip multiprocessor systems from parallel programs targeted at FPGAs to exploit both task-level parallelism and architecture customization. Automated synthesis is necessitated by the complexity of the design space. A detailed description of the design space is provided in order to determine which parameters should be modeled to facilitate automated synthesis by optimizing a cost function, the emphasis being placed on inclusive modeling of parameters from application, architectural and physical subspaces, as well as their joint coverage in order to avoid pre-constraining the design space. Given a parallel program and a set of an IP library, the automated synthesis problem is to simultaneously (i) select processors (ii) map and schedule tasks to them, and (iii) select one or several networks for inter-task communications such that design constraints and optimization objectives are met. The research objective in this thesis is to find a suitable model for automated synthesis, and to evaluate methods of using the model for architectural optimizations. Our contributions are a holistic approach for the design of such systems, corresponding models to facilitate automated synthesis, evaluation of optimization methods using state of the art integer linear and answer set programming, as well as the development of synthesis heuristics to solve runtime challenges.
The difference-list technique is described in literature as effective method for extending lists to the right without using calls of append/3. There exist some proposals for automatic transformation of list programs into differencelist programs. However, we are interested in construction of difference-list programs by the programmer, avoiding the need of a transformation step. In [GG09] it was demonstrated, how left-recursive procedures with a dangling call of append/3 can be transformed into right-recursion using the unfolding technique. For simplification of writing difference-list programs using a new cons/2 procedure was introduced. In the present paper, we investigate how efficieny is influenced using cons/2. We measure the efficiency of procedures using accumulator technique, cons/2, DCG’s, and difference lists and compute the resulting speedup in respect to the simple procedure definition using append/3. Four Prolog systems were investigated and we found different behaviour concerning the speedup by difference lists. A result of our investigations is, that an often advice given in the literature for avoiding calls append/3 could not be confirmed in this strong formulation.
A deterministic cycle scheduling of partitions at the operating system level is supposed for a multiprocessor system. In this paper, we propose a tool for generating such schedules. We use constraint based programming and develop methods and concepts for a combined interactive and automatic partition scheduling system. This paper is also devoted to basic methods and techniques for modeling and solving this partition scheduling problem. Initial application of our partition scheduling tool has proved successful and demonstrated the suitability of the methods used.
In the most abstract definition of its operational semantics, the declarative and concurrent programming language CHR is trivially non-terminating for a significant class of programs. Common refinements of this definition, in closing the gap to real-world implementations, compromise on declarativity and/or concurrency. Building on recent work and the notion of persistent constraints, we introduce an operational semantics avoiding trivial non-termination without compromising on its essential features.
Different properties of programs, implemented in Constraint Handling Rules (CHR), have already been investigated. Proving these properties in CHR is fairly simpler than proving them in any type of imperative programming language, which triggered the proposal of a methodology to map imperative programs into equivalent CHR. The equivalence of both programs implies that if a property is satisfied for one, then it is satisfied for the other. The mapping methodology could be put to other beneficial uses. One such use is the automatic generation of global constraints, at an attempt to demonstrate the benefits of having a rule-based implementation for constraint solvers.
Deductive databases need general formulas in rule bodies, not only conjuctions of literals. This is well known since the work of Lloyd and Topor about extended logic programming. Of course, formulas must be restricted in such a way that they can be effectively evaluated in finite time, and produce only a finite number of new tuples (in each iteration of the TP-operator: the fixpoint can still be infinite). It is also necessary to respect binding restrictions of built-in predicates: many of these predicates can be executed only when certain arguments are ground. Whereas for standard logic programming rules, questions of safety, allowedness, and range-restriction are relatively easy and well understood, the situation for general formulas is a bit more complicated. We give a syntactic analysis of formulas that guarantees the necessary properties.
Abstract interpretation-based model checking provides an approach to verifying properties of infinite-state systems. In practice, most previous work on abstract model checking is either restricted to verifying universal properties, or develops special techniques for temporal logics such as modal transition systems or other dual transition systems. By contrast we apply completely standard techniques for constructing abstract interpretations to the abstraction of a CTL semantic function, without restricting the kind of properties that can be verified. Furthermore we show that this leads directly to implementation of abstract model checking algorithms for abstract domains based on constraints, making use of an SMT solver.
The interest in extensions of the logic programming paradigm beyond the class of normal logic programs is motivated by the need of an adequate representation and processing of knowledge. One of the most difficult problems in this area is to find an adequate declarative semantics for logic programs. In the present paper a general preference criterion is proposed that selects the ‘intended’ partial models of generalized logic programs which is a conservative extension of the stationary semantics for normal logic programs of [Prz91]. The presented preference criterion defines a partial model of a generalized logic program as intended if it is generated by a stationary chain. It turns out that the stationary generated models coincide with the stationary models on the class of normal logic programs. The general wellfounded semantics of such a program is defined as the set-theoretical intersection of its stationary generated models. For normal logic programs the general wellfounded semantics equals the wellfounded semantics.
We propose a paraconsistent declarative semantics of possibly inconsistent generalized logic programs which allows for arbitrary formulas in the body and in the head of a rule (i.e. does not depend on the presence of any specific connective, such as negation(-as-failure), nor on any specific syntax of rules). For consistent generalized logic programs this semantics coincides with the stable generated models introduced in [HW97], and for normal logic programs it yields the stable models in the sense of [GL88].
We present the tool Kato which is, to the best of our knowledge, the first tool for plagiarism detection that is directly tailored for answer-set programming (ASP). Kato aims at finding similarities between (segments of) logic programs to help detecting cases of plagiarism. Currently, the tool is realised for DLV programs but it is designed to handle various logic-programming syntax versions. We review basic features and the underlying methodology of the tool.
In this paper we consider a simple syntactic extension of Answer Set Programming (ASP) for dealing with (nested) existential quantifiers and double negation in the rule bodies, in a close way to the recent proposal RASPL-1. The semantics for this extension just resorts to Equilibrium Logic (or, equivalently, to the General Theory of Stable Models), which provides a logic-programming interpretation for any arbitrary theory in the syntax of Predicate Calculus. We present a translation of this syntactic class into standard logic programs with variables (either disjunctive or normal, depending on the input rule heads), as those allowed by current ASP solvers. The translation relies on the introduction of auxiliary predicates and the main result shows that it preserves strong equivalence modulo the original signature.
We introduce a simple approach extending the input language of Answer Set Programming (ASP) systems by multi-valued propositions. Our approach is implemented as a (prototypical) preprocessor translating logic programs with multi-valued propositions into logic programs with Boolean propositions only. Our translation is modular and heavily benefits from the expressive input language of ASP. The resulting approach, along with its implementation, allows for solving interesting constraint satisfaction problems in ASP, showing a good performance.
A wide range of additional forward chaining applications could be realized with deductive databases, if their rule formalism, their immediate consequence operator, and their fixpoint iteration process would be more flexible. Deductive databases normally represent knowledge using stratified Datalog programs with default negation. But many practical applications of forward chaining require an extensible set of user–defined built–in predicates. Moreover, they often need function symbols for building complex data structures, and the stratified fixpoint iteration has to be extended by aggregation operations. We present an new language Datalog*, which extends Datalog by stratified meta–predicates (including default negation), function symbols, and user–defined built–in predicates, which are implemented and evaluated top–down in Prolog. All predicates are subject to the same backtracking mechanism. The bottom–up fixpoint iteration can aggregate the derived facts after each iteration based on user–defined Prolog predicates.
We describe a framework to support the implementation of web-based systems to manipulate data stored in relational databases. Since the conceptual model of a relational database is often specified as an entity-relationship (ER) model, we propose to use the ER model to generate a complete implementation in the declarative programming language Curry. This implementation contains operations to create and manipulate entities of the data model, supports authentication, authorization, session handling, and the composition of individual operations to user processes. Furthermore and most important, the implementation ensures the consistency of the database w.r.t. the data dependencies specified in the ER model, i.e., updates initiated by the user cannot lead to an inconsistent state of the database. In order to generate a high-level declarative implementation that can be easily adapted to individual customer requirements, the framework exploits previous works on declarative database programming and web user interface construction in Curry.
In this talk, I would like to share my experiences gained from participating in four CSP solver competitions and the second ASP solver competition. In particular, I’ll talk about how various programming techniques can make huge differences in solving some of the benchmark problems used in the competitions. These techniques include global constraints, table constraints, and problem-specific propagators and labeling strategies for selecting variables and values. I’ll present these techniques with experimental results from B-Prolog and other CLP(FD) systems.
A constraint programming system combines two essential components: a constraint solver and a search engine. The constraint solver reasons about satisfiability of conjunctions of constraints, and the search engine controls the search for solutions by iteratively exploring a disjunctive search tree defined by the constraint program. The Monadic Constraint Programming framework gives a monadic definition of constraint programming where the solver is defined as a monad threaded through the monadic search tree. Search and search strategies can then be defined as firstclass objects that can themselves be built or extended by composable search transformers. Search transformers give a powerful and unifying approach to viewing search in constraint programming, and the resulting constraint programming system is first class and extremely flexible.
Preface
(2010)
The workshops on (constraint) logic programming (WLP) are the annual meeting of the Society of Logic Programming (GLP e.V.) and bring together researchers interested in logic programming, constraint programming, and related areas like databases, artificial intelligence and operations research. In this decade, previous workshops took place in Dresden (2008), Würzburg (2007), Vienna (2006), Ulm (2005), Potsdam (2004), Dresden (2002), Kiel (2001), and Würzburg (2000). Contributions to workshops deal with all theoretical, experimental, and application aspects of constraint programming (CP) and logic programming (LP), including foundations of constraint/ logic programming. Some of the special topics are constraint solving and optimization, extensions of functional logic programming, deductive databases, data mining, nonmonotonic reasoning, , interaction of CP/LP with other formalisms like agents, XML, JAVA, program analysis, program transformation, program verification, meta programming, parallelism and concurrency, answer set programming, implementation and software techniques (e.g., types, modularity, design patterns), applications (e.g., in production, environment, education, internet), constraint/logic programming for semantic web systems and applications, reasoning on the semantic web, data modelling for the web, semistructured data, and web query languages.
The workshops on (constraint) logic programming (WLP) are the annual meeting of the Society of Logic Programming (GLP e.V.) and bring together researchers interested in logic programming, constraint programming, and related areas like databases, artificial intelligence and operations research. The 23rd WLP was held in Potsdam at September 15 – 16, 2009. The topics of the presentations of WLP2009 were grouped into the major areas: Databases, Answer Set Programming, Theory and Practice of Logic Programming as well as Constraints and Constraint Handling Rules.
An important characteristic of Service-Oriented Architectures is that clients do not depend on the service implementation's internal assignment of methods to objects. It is perhaps the most important technical characteristic that differentiates them from more common object-oriented solutions. This characteristic makes clients and services malleable, allowing them to be rearranged at run-time as circumstances change. That improvement in malleability is impaired by requiring clients to direct service requests to particular services. Ideally, the clients are totally oblivious to the service structure, as they are to aspect structure in aspect-oriented software. Removing knowledge of a method implementation's location, whether in object or service, requires re-defining the boundary line between programming language and middleware, making clearer specification of dependence on protocols, and bringing the transaction-like concept of failure scopes into language semantics as well. This paper explores consequences and advantages of a transition from object-request brokering to service-request brokering, including the potential to improve our ability to write more parallel software.
Aspect-oriented middleware is a promising technology for the realisation of dynamic reconfiguration in heterogeneous distributed systems. However, like other dynamic reconfiguration approaches, AO-middleware-based reconfiguration requires that the consistency of the system is maintained across reconfigurations. AO-middleware-based reconfiguration is an ongoing research topic and several consistency approaches have been proposed. However, most of these approaches tend to be targeted at specific contexts, whereas for distributed systems it is crucial to cover a wide range of operating conditions. In this paper we propose an approach that offers distributed, dynamic reconfiguration in a consistent manner, and features a flexible framework-based consistency management approach to cover a wide range of operating conditions. We evaluate our approach by investigating the configurability and transparency of our approach and also quantify the performance overheads of the associated consistency mechanisms.
Enforcing security policies to distributed systems is difficult, in particular, when a system contains untrusted components. We designed AspectKE*, a distributed AOP language based on a tuple space, to tackle this issue. In AspectKE*, aspects can enforce access control policies that depend on future behavior of running processes. One of the key language features is the predicates and functions that extract results of static program analysis, which are useful for defining security aspects that have to know about future behavior of a program. AspectKE* also provides a novel variable binding mechanism for pointcuts, so that pointcuts can uniformly specify join points based on both static and dynamic information about the program. Our implementation strategy performs fundamental static analysis at load-time, so as to retain runtime overheads minimal. We implemented a compiler for AspectKE*, and demonstrate usefulness of AspectKE* through a security aspect for a distributed chat system.
Component based software development (CBSD) and aspectoriented software development (AOSD) are two complementary approaches. However, existing proposals for integrating aspects into component models are direct transposition of object-oriented AOSD techniques to components. In this article, we propose a new approach based on views. Our proposal introduces crosscutting components quite naturally and can be integrated into different component models.
Because software development is increasingly expensive and timeconsuming, software reuse gains importance. Aspect-oriented software development modularizes crosscutting concerns which enables their systematic reuse. Literature provides a number of AOP patterns and best practices for developing reusable aspects based on compelling examples for concerns like tracing, transactions and persistence. However, such best practices are lacking for systematically reusing invasive aspects. In this paper, we present the ‘callback mismatch problem’. This problem arises in the context of abstraction mismatch, in which the aspect is required to issue a callback to the base application. As a consequence, the composition of invasive aspects is cumbersome to implement, difficult to maintain and impossible to reuse. We motivate this problem in a real-world example, show that it persists in the current state-of-the-art, and outline the need for advanced aspectual composition mechanisms to deal with this.
Preface
(2010)
Aspect-oriented programming, component models, and design patterns are modern and actively evolving techniques for improving the modularization of complex software. In particular, these techniques hold great promise for the development of "systems infrastructure" software, e.g., application servers, middleware, virtual machines, compilers, operating systems, and other software that provides general services for higher-level applications. The developers of infrastructure software are faced with increasing demands from application programmers needing higher-level support for application development. Meeting these demands requires careful use of software modularization techniques, since infrastructural concerns are notoriously hard to modularize. Aspects, components, and patterns provide very different means to deal with infrastructure software, but despite their differences, they have much in common. For instance, component models try to free the developer from the need to deal directly with services like security or transactions. These are primary examples of crosscutting concerns, and modularizing such concerns are the main target of aspect-oriented languages. Similarly, design patterns like Visitor and Interceptor facilitate the clean modularization of otherwise tangled concerns. Building on the ACP4IS meetings at AOSD 2002-2009, this workshop aims to provide a highly interactive forum for researchers and developers to discuss the application of and relationships between aspects, components, and patterns within modern infrastructure software. The goal is to put aspects, components, and patterns into a common reference frame and to build connections between the software engineering and systems communities.
Large open-source software projects involve developers with a wide variety of backgrounds and expertise. Such software projects furthermore include many internal APIs that developers must understand and use properly. According to the intended purpose of these APIs, they are more or less frequently used, and used by developers with more or less expertise. In this paper, we study the impact of usage patterns and developer expertise on the rate of defects occurring in the use of internal APIs. For this preliminary study, we focus on memory management APIs in the Linux kernel, as the use of these has been shown to be highly error prone in previous work. We study defect rates and developer expertise, to consider e.g., whether widely used APIs are more defect prone because they are used by less experienced developers, or whether defects in widely used APIs are more likely to be fixed.
Aspect-oriented programming, component models, and design patterns are modern and actively evolving techniques for improving the modularization of complex software. In particular, these techniques hold great promise for the development of "systems infrastructure" software, e.g., application servers, middleware, virtual machines, compilers, operating systems, and other software that provides general services for higher-level applications. The developers of infrastructure software are faced with increasing demands from application programmers needing higher-level support for application development. Meeting these demands requires careful use of software modularization techniques, since infrastructural concerns are notoriously hard to modularize. Aspects, components, and patterns provide very different means to deal with infrastructure software, but despite their differences, they have much in common. For instance, component models try to free the developer from the need to deal directly with services like security or transactions. These are primary examples of crosscutting concerns, and modularizing such concerns are the main target of aspect-oriented languages. Similarly, design patterns like Visitor and Interceptor facilitate the clean modularization of otherwise tangled concerns. Building on the ACP4IS meetings at AOSD 2002-2009, this workshop aims to provide a highly interactive forum for researchers and developers to discuss the application of and relationships between aspects, components, and patterns within modern infrastructure software. The goal is to put aspects, components, and patterns into a common reference frame and to build connections between the software engineering and systems communities.
STG decomposition is a promising approach to tackle the complexity problems arising in logic synthesis of speed independent circuits, a robust asynchronous (i.e. clockless) circuit type. Unfortunately, STG decomposition can result in components that in isolation have irreducible CSC conflicts. Generalising earlier work, it is shown how to resolve such conflicts by introducing internal communication between the components via structural techniques only.
With the rise of electronic integration between organizations, the need for a precise specification of interaction behavior increases. Information systems, replacing interaction previously carried out by humans via phone, faxes and emails, require a precise specification for handling all possible situations. Such interaction behavior is described in process choreographies. Choreographies enumerate the roles involved, the allowed interactions, the message contents and the behavioral dependencies between interactions. Choreographies serve as interaction contract and are the starting point for adapting existing business processes and systems or for implementing new software components. As a thorough analysis and comparison of choreography modeling languages is missing in the literature, this thesis introduces a requirements framework for choreography languages and uses it for comparing current choreography languages. Language proposals for overcoming the limitations are given for choreography modeling on the conceptual and on the technical level. Using an interconnection modeling style, behavioral dependencies are defined on a per-role basis and different roles are interconnected using message flow. This thesis reveals a number of modeling "anti-patterns" for interconnection modeling, motivating further investigations on choreography languages following the interaction modeling style. Here, interactions are seen as atomic building blocks and the behavioral dependencies between them are defined globally. Two novel language proposals are put forward for this modeling style which have already influenced industrial standardization initiatives. While avoiding many of the pitfalls of interconnection modeling, new anomalies can arise in interaction models. A choreography might not be realizable, i.e. there does not exist a set of interacting roles that collectively realize the specified behavior. This thesis investigates different dimensions of realizability.
In der vorliegenden Arbeit wird ein Unterrichtsmodell zur Kompetenzentwicklung mit Informatiksystemen für die Sekundarstufe II vorgestellt. Der Bedarf wird u. a. damit begründet, dass Informatiksysteme zu Beginn des 21. Jahrhunderts allgegenwärtig sind (Kapitel 1). Für Kompetenzentwicklung mit Informatiksystemen sind diese in ihrer Einheit aus Hardware, Software und Vernetzung anhand ihres nach außen sichtbaren Verhaltens, der inneren Struktur und Implementierungsaspekten zu analysieren. Ausgehend vom Kompetenzbegriff (Kapitel 2) und dem Informatiksystembegriff (Kapitel 3) erfolgt eine Analyse des fachdidaktischen Forschungsstandes zur Kompetenzentwicklung mit Informatiksystemen. Die Ergebnisse lassen sich in die Bereiche (1) Bildungsziele, (2) Unterrichtsinhalte, (3) Lehr-Lernmethodik und (4) Lehr-Lernmedien aufteilen (Kapitel 4). In Kapitel 5 wird die Unterrichtsmodellentwicklung beschrieben. Den Zugang zu Informatiksystemen bildet in der vorliegenden Dissertationsschrift das nach außen sichtbare Verhalten. Es erfolgt eine Fokussierung auf vernetzte fundamentale Ideen der Informatik und Strukturmodelle von Informatiksystemen als Unterrichtsinhalte. Es wird begründet, dass ausgewählte objektorientierte Entwurfsmuster vernetzte fundamentale Ideen repräsentieren. In Abschnitt 5.4 werden dementsprechend Entwurfsmuster als Wissensrepräsentation für vernetzte fundamentale Ideen klassifiziert. Das systematische Erkunden des Verhaltens von Informatiksystemen wird im Informatikunterricht bisher kaum thematisiert. Es werden Schülertätigkeiten in Anlehnung an Unterrichtsexperimente angegeben, die Schüler unterstützen, Informatiksysteme bewusst und gezielt anzuwenden (Abschnitt 5.5). Bei dieser Lehr-Lernmethodik werden das nach außen sichtbare Verhalten von Informatiksystemen, im Sinne einer Black-Box, und das Wechselspiel von Verhalten und Struktur bei vorliegender Implementierung des Systems als White-Box analysiert. Die Adressierung schrittweise höherer kognitiver Niveaustufen wird in die Entwicklung einbezogen. Unterstützend wird für das Unterrichtsmodell lernförderliche Software gestaltet, die vernetzte fundamentale Ideen in Entwurfsmustern und das Experimentieren aufgreift (Abschnitt 5.6). Schwerpunkte bilden im Unterrichtsmodell zwei Arten von lernförderlicher Software: (1) Die Lernsoftware Pattern Park wurde von einer studentischen Projektgruppe entwickelt. In ihr können in Entwurfsmustern enthaltene fundamentale Ideen der Informatik über ihren Lebensweltbezug im Szenario eines Freizeitparks analysiert werden. (2) Als weitere Art Lernsoftware werden kleine Programme eingesetzt, deren innere Struktur durch ausgewählte Entwurfsmuster gebildet und deren Verhalten direkt durch die darin enthaltenen fundamentalen Ideen bestimmt wird. Diese Programme können durch die Experimente im Unterricht systematisch untersucht werden. Mit dem Ziel, die normative Perspektive um Rückkopplung mit der Praxis zu ergänzen, werden zwei Erprobungen im Informatikunterricht vorgenommen. Diese liefern Erkenntnisse zur Machbarkeit des Unterrichtsmodells und dessen Akzeptanz durch die Schüler (Kapitel 6 und 8). Exemplarisch umgesetzt werden die Themen Zugriffskontrolle mit dem Proxymuster, Iteration mit dem Iteratormuster und Systemzustände mit dem Zustandsmuster. Der intensive Austausch mit Informatiklehrpersonen in der Kooperationsschule über Informatiksysteme und Kompetenzentwicklung sowie die Durchführung von zwei Lehrerfortbildungen ergänzen die Beobachtungen im unterrichtlichen Geschehen. Die erste Unterrichtserprobung resultiert in einer Weiterentwicklung des Unterrichtsmodells zu Informatiksystemen und Kompetenzentwicklung (Kapitel 7). Darin erfolgt eine Fokussierung auf das nach außen sichtbare Verhalten von Informatiksystemen und eine Verfeinerung der Perspektiven auf innere Struktur und ausgewählte Implementierungsaspekte. Anschließend wird die zweite Unterrichtserprobung durchgeführt und evaluiert (Kapitel 8). Am Schluss der Forschungsarbeit steht ein in empirischen Phasen erprobtes Unterrichtsmodell.
Business process management experiences a large uptake by the industry, and process models play an important role in the analysis and improvement of processes. While an increasing number of staff becomes involved in actual modeling practice, it is crucial to assure model quality and homogeneity along with providing suitable aids for creating models. In this paper we consider the problem of offering recommendations to the user during the act of modeling. Our key contribution is a concept for defining and identifying so-called action patterns - chunks of actions often appearing together in business processes. In particular, we specify action patterns and demonstrate how they can be identified from existing process model repositories using association rule mining techniques. Action patterns can then be used to suggest additional actions for a process model. Our approach is challenged by applying it to the collection of process models from the SAP Reference Model.
Proceedings of the 2nd International Workshop on e-learning and Virtual and Remote Laboratories
(2008)
Content Session 1: Architecture of Virtual & Remote Laboratory Infrastructures (I) An Internet-Based Laboratory Course in Chemical Reaction Engineering and Unit Operations Internet Based Laboratory for Experimentation with Multilevel Medium-Power Converters Session 2: Architecture of Virtual & Remote Laboratory Infrastructures (II) Content management and architectural issues of a remote learning laboratory Distributed Software Architecture and Applications for Remote Laboratories Tele-Lab IT-Security: an architecture for an online virtual IT security lab Session 3: New e-learning Techniques for Virtual & Remote Laboratories NeOS: Neuchˆatel Online System A Flexible Instructional Electronics Laboratory with Local and Remote LabWorkbenches in a Grid Simulation of an Intelligent Network - Basic Call State Model Remote Laboratory Session 4: Service-Orientation in Virtual & Remote Laboratories SOA Meets Robots - A Service-Based Software Infrastructure For Remote Laboratories Service Orientation in Education - Intelligent Networks for eLearning / mLearning
This contribution presents a quantitative evaluation procedure for Information Retrieval models and the results of this procedure applied on the enhanced Topic-based Vector Space Model (eTVSM). Since the eTVSM is an ontology-based model, its effectiveness heavily depends on the quality of the underlaying ontology. Therefore the model has been tested with different ontologies to evaluate the impact of those ontologies on the effectiveness of the eTVSM. On the highest level of abstraction, the following results have been observed during our evaluation: First, the theoretically deduced statement that the eTVSM has a similar effecitivity like the classic Vector Space Model if a trivial ontology (every term is a concept and it is independet of any other concepts) is used has been approved. Second, we were able to show that the effectiveness of the eTVSM raises if an ontology is used which is only able to resolve synonyms. We were able to derive such kind of ontology automatically from the WordNet ontology. Third, we observed that more powerful ontologies automatically derived from the WordNet, dramatically dropped the effectiveness of the eTVSM model even clearly below the effectiveness level of the Vector Space Model. Fourth, we were able to show that a manually created and optimized ontology is able to raise the effectiveness of the eTVSM to a level which is clearly above the best effectiveness levels we have found in the literature for the Latent Semantic Index model with compareable document sets.
Since 2002, keywords like service-oriented engineering, service-oriented computing, and service-oriented architecture have been widely used in research, education, and enterprises. These and related terms are often misunderstood or used incorrectly. To correct these misunderstandings, a deeper knowledge of the concepts, the historical backgrounds, and an overview of service-oriented architectures is demanded and given in this paper.
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
It is predicted that Service-oriented Architectures (SOA) will have a high impact on future electronic business and markets. Services will provide an self-contained and standardised interface towards business and are considered as the future platform for business-to-business and business-toconsumer trades. Founded by the complexity of real world business scenarios a huge need for an easy, flexible and automated creation and enactment of service compositions is observed. This survey explores the relationship of service composition with workflow management—a technology/ concept already in use in many business environments. The similarities between the both and the key differences between them are elaborated. Furthermore methods for composition of services ranging from manual, semi- to full-automated composition are sketched. This survey concludes that current tools for service composition are in an immature state and that there is still much research to do before service composition can be used easily and conveniently in real world scenarios. However, since automated service composition is a key enabler for the full potential of Service-oriented Architectures, further research on this field is imperative. This survey closes with a formal sample scenario presented in appendix A to give the reader an impression on how full-automated service composition works.
For interactive construction of CSG models understanding the layout of a model is essential for its efficient manipulation. To understand position and orientation of aggregated components of a CSG model, we need to realize its visible and occluded parts as a whole. Hence, transparency and enhanced outlines are key techniques to assist comprehension. We present a novel real-time rendering technique for visualizing design and spatial assembly of CSG models. As enabling technology we combine an image-space CSG rendering algorithm with blueprint rendering. Blueprint rendering applies depth peeling for extracting layers of ordered depth from polygonal models and then composes them in sorted order facilitating a clear insight of the models. We develop a solution for implementing depth peeling for CSG models considering their depth complexity. Capturing surface colors of each layer and later combining the results allows for generating order-independent transparency as one major rendering technique for CSG models. We further define visually important edges for CSG models and integrate an image-space edgeenhancement technique for detecting them in each layer. In this way, we extract visually important edges that are directly and not directly visible to outline a model’s layout. Combining edges with transparency rendering, finally, generates edge-enhanced depictions of image-based CSG models and allows us to realize their complex, spatial assembly.
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.
One of the main problems in machine learning is to train a predictive model from training data and to make predictions on test data. Most predictive models are constructed under the assumption that the training data is governed by the exact same distribution which the model will later be exposed to. In practice, control over the data collection process is often imperfect. A typical scenario is when labels are collected by questionnaires and one does not have access to the test population. For example, parts of the test population are underrepresented in the survey, out of reach, or do not return the questionnaire. In many applications training data from the test distribution are scarce because they are difficult to obtain or very expensive. Data from auxiliary sources drawn from similar distributions are often cheaply available. This thesis centers around learning under differing training and test distributions and covers several problem settings with different assumptions on the relationship between training and test distributions-including multi-task learning and learning under covariate shift and sample selection bias. Several new models are derived that directly characterize the divergence between training and test distributions, without the intermediate step of estimating training and test distributions separately. The integral part of these models are rescaling weights that match the rescaled or resampled training distribution to the test distribution. Integrated models are studied where only one optimization problem needs to be solved for learning under differing distributions. With a two-step approximation to the integrated models almost any supervised learning algorithm can be adopted to biased training data. In case studies on spam filtering, HIV therapy screening, targeted advertising, and other applications the performance of the new models is compared to state-of-the-art reference methods.
(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
This document presents the results of the seminar "Coneptual Arachitecture Patterns" of the winter term 2002 in the Hasso-Plattner-Institute. It is a compilation of the student's elaborations dealing with some conceptual architecture patterns which can be found in literature. One important focus laid on the runtime structures and the presentation of the patterns. 1. Introduction 1.1. The Seminar 1.2. Literature 2 Pipes and Filters (André Langhorst and Martin Steinle) 3 Broker (Konrad Hübner and Einar Lück) 4 Microkernel (Eiko Büttner and Stefan Richter) 5 Component Configurator (Stefan Röck and Alexander Gierak) 6 Interceptor (Marc Förster and Peter Aschenbrenner) 7 Reactor (Nikolai Cieslak and Dennis Eder) 8 Half–Sync/Half–Async (Robert Mitschke and Harald Schubert) 9 Leader/Followers (Dennis Klemann and Steffen Schmidt)
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
This document is an analysis of the 'Java Language Conversion Assistant'. Itr will also cover a language analysis of the Java Programming Language as well as a survey of related work concerning Java and C# interoperability on the one hand and language conversion in general on the other. Part I deals with language analysis. Part II covers the JLCA tool and tests used to analyse the tool. Additionally, it gives an overview of the above mentioned related work. Part III presents a complete project that has been translated using the JLCA.
The Apache Modeling Project
(2004)
This document presents an introduction to the Apache HTTP Server, covering both an overview and implementation details. It presents results of the Apache Modelling Project done by research assistants and students of the Hasso–Plattner–Institute in 2001, 2002 and 2003. The Apache HTTP Server was used to introduce students to the application of the modeling technique FMC, a method that supports transporting knowledge about complex systems in the domain of information processing (software and hardware as well). After an introduction to HTTP servers in general, we will focus on protocols and web technology. Then we will discuss Apache, its operational environment and its extension capabilities— the module API. Finally we will guide the reader through parts of the Apache source code and explain the most important pieces.
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