TY - CHAP A1 - Rolf, Arno A1 - Berges, Marc A1 - Hubwieser, Peter A1 - Kehrer, Timo A1 - Kelter, Udo A1 - Romeike, Ralf A1 - Frenkel, Marcus A1 - Karsten, Weicker A1 - Reinhardt, Wolfgang A1 - Mascher, Michael A1 - Gül, Senol A1 - Magenheim, Johannes A1 - Raimer, Stephan A1 - Diethelm, Ira A1 - Dünnebier, Malte A1 - Gabor, Kiss A1 - Susanne, Boll A1 - Rolf, Meinhardt A1 - Gronewold, Sabine A1 - Krekeler, Larissa A1 - Jahnke, Isa A1 - Haertel, Tobias A1 - Mattick, Volker A1 - Lettow, Karsten A1 - Hafer, Jörg A1 - Ludwig, Joachim A1 - Schumann, Marlen A1 - Laroque, Christoph A1 - Schulte, Jonas A1 - Urban, Diana ED - Engbring, Dieter ED - Keil, Reinhard ED - Magenheim, Johannes ED - Selke, Harald T1 - HDI2010 – Tagungsband der 4. Fachtagung zur "Hochschuldidaktik Informatik" N2 - Mit der 4. Tagung zur Hochschuldidaktik Informatik wird eine Reihe fortgesetzt, die ihren Anfang 1998 in Stuttgart unter der Überschrift „Informatik und Ausbildung“ genommen hat. Seither dienen diese Tagungen den Lehrenden im Bereich der Hochschulinformatik als Forum der Information und des Diskurses über aktuelle didaktische und bildungspolitische Entwicklungen im Bereich der Informatikausbildung. Aktuell zählen dazu insbesondere Fragen der Bildungsrelevanz informatischer Inhalte und der Herausforderung durch eine stärkere Kompetenzorientierung in der Informatik. Die eingereichten Beiträge zur HDI 2010 in Paderborn veranschaulichen unterschiedliche Bemühungen, sich mit relevanten Problemen der Informatikdidaktik an Hochschulen in Deutschland (und z. T. auch im Ausland) auseinanderzusetzen. Aus der Breite des Spektrums der Einreichungen ergaben sich zugleich Probleme bei der Begutachtung. Letztlich konnten von den zahlreichen Einreichungen nur drei die Gutachter so überzeugen, dass sie uneingeschränkt in ihrer Langfassung akzeptiert wurden. Neun weitere Einreichungen waren trotz Kritik überwiegend positiv begutachtet worden, so dass wir diese als Kurzfassung bzw. Diskussionspapier in die Tagung aufgenommen haben. T3 - Commentarii informaticae didacticae (CID) - 4 Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-49167 SN - 978-3-86956-100-4 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - CHAP A1 - Banda, Gourinath A1 - Gallagher, John P. T1 - Constraint-based abstraction of a model checker for infinite state systems N2 - 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. Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-41516 ER - TY - CHAP A1 - Palix, Nicolas A1 - Lawall, Julia L. A1 - Thomas, Gaël A1 - Muller, Gilles T1 - How Often do Experts Make Mistakes? N2 - 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. KW - History of pattern occurrences KW - bug tracking KW - Herodotos KW - Coccinelle Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-41327 ER - TY - CHAP ED - Adams, Bram ED - Haupt, Michael ED - Lohmann, Daniel T1 - Preface N2 - 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. KW - Aspektorientierte Softwareentwicklung KW - Systemsoftware KW - Middleware KW - Virtuelle Maschinen KW - Betriebssysteme KW - systems software KW - middleware KW - virtual machines KW - operating systems Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-41338 ER - TY - CHAP A1 - Bynens, Maarten A1 - Van Landuyt, Dimitri A1 - Truyen, Eddy A1 - Joosen, Wouter T1 - Towards reusable aspects: the callback mismatch problem N2 - 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. KW - reusable aspects KW - invasive aspects KW - aspect adapter Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-41347 ER - TY - CHAP A1 - Goltz, Hans-Joachim A1 - Pieth, Norbert T1 - A tool for generating partition schedules of multiprocessor systems N2 - 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. Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-41556 ER - TY - CHAP A1 - Harrison, William T1 - Malleability, obliviousness and aspects for broadcast service attachment N2 - 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. KW - service-oriented KW - aspect-oriented KW - programming language KW - middleware KW - concurrency Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-41389 ER - TY - CHAP A1 - Schrijvers, Tom T1 - Overview of the monadic constraint programming framework N2 - 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. Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-41411 ER - TY - CHAP A1 - Fan, Yang A1 - Masuhara, Hidehiko A1 - Aotani, Tomoyuki A1 - Nielson, Flemming A1 - Nielson, Hanne Riis T1 - AspectKE*: Security aspects with program analysis for distributed systems N2 - 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. KW - aspect oriented programming KW - program analysis KW - security policies KW - distributed systems KW - tuple spaces Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-41369 ER - TY - CHAP A1 - Hannousse, Abdelhakim A1 - Ardourel, Gilles A1 - Douence, Rémi T1 - Views for aspectualizing component models N2 - 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. KW - aspectualization KW - VIL KW - views KW - crosscutting wrappers Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-41359 ER -