Refine
Year of publication
- 2016 (17) (remove)
Document Type
- Monograph/Edited Volume (17) (remove)
Language
- English (17) (remove)
Is part of the Bibliography
- yes (17)
Keywords
- virtual machines (2)
- virtuelle Maschinen (2)
- Armut (1)
- Authentizität (1)
- Cloud-Sicherheit (1)
- Cloud-Speicher (1)
- Discrimination Networks (1)
- FRP (1)
- Forschungskolleg (1)
- Functional Lenses (1)
Institute
- Hasso-Plattner-Institut für Digital Engineering gGmbH (7)
- Department Erziehungswissenschaft (2)
- Department Linguistik (2)
- Bürgerliches Recht (1)
- Institut für Mathematik (1)
- Institut für Romanistik (1)
- Institut für Umweltwissenschaften und Geographie (1)
- Wirtschafts- und Sozialwissenschaftliche Fakultät (1)
- Wirtschaftswissenschaften (1)
When realizing a programming language as VM, implementing behavior as part of the VM, as primitive, usually results in reduced execution times. But supporting and developing primitive functions requires more effort than maintaining and using code in the hosted language since debugging is harder, and the turn-around times for VM parts are higher. Furthermore, source artifacts of primitive functions are seldom reused in new implementations of the same language. And if they are reused, the existing API usually is emulated, reducing the performance gains. Because of recent results in tracing dynamic compilation, the trade-off between performance and ease of implementation, reuse, and changeability might now be decided adversely.
In this work, we investigate the trade-offs when creating primitives, and in particular how large a difference remains between primitive and hosted function run times in VMs with tracing just-in-time compiler. To that end, we implemented the algorithmic primitive BitBlt three times for RSqueak/VM. RSqueak/VM is a Smalltalk VM utilizing the PyPy RPython toolchain. We compare primitive implementations in C, RPython, and Smalltalk, showing that due to the tracing just-in-time compiler, the performance gap has lessened by one magnitude to one magnitude.
Complexity in software systems is a major factor driving development and maintenance costs. To master this complexity, software is divided into modules that can be developed and tested separately. In order to support this separation of modules, each module should provide a clean and concise public interface. Therefore, the ability to selectively hide functionality using access control is an important feature in a programming language intended for complex software systems.
Software systems are increasingly distributed, adding not only to their inherent complexity, but also presenting security challenges. The object-capability approach addresses these challenges by defining language properties providing only minimal capabilities to objects. One programming language that is based on the object-capability approach is Newspeak, a dynamic programming language designed for modularity and security. The Newspeak specification describes access control as one of Newspeak’s properties, because it is a requirement for the object-capability approach. However, access control, as defined in the Newspeak specification, is currently not enforced in its implementation.
This work introduces an access control implementation for Newspeak, enabling the security of object-capabilities and enhancing modularity. We describe our implementation of access control for Newspeak. We adapted the runtime environment, the reflective system, the compiler toolchain, and the virtual machine. Finally, we describe a migration strategy for the existing Newspeak code base, so that our access control implementation can be integrated with minimal effort.
Touring Katutura!
(2016)
Guided sightseeing tours of the former township of Katutura have been offered in Windhoek since the mid-1990s. City tourism in the Namibian capital had thus become, at quite an early point in time, part of the trend towards utilising poor urban areas for purposes of tourism – a trend that set in at the beginning of the same decade. Frequently referred to as “slum tourism” or “poverty tourism”, the phenomenon of guided tours around places of poverty has not only been causing some media sensation and much public outrage since its emergence; in the past few years, it has developed into a vital field of scientific research, too. “Global Slumming” provides the grounds for a rethinking of the relationship between poverty and tourism in world society.
This book is the outcome of a study project of the Institute of Geography at the School of Cultural Studies and Social Science of the University of Osnabrueck, Germany. It represents the first empirical case study on township tourism in Namibia. It focuses on four aspects:
1. Emergence, development and (market) structure of township tourism in Windhoek
2. Expectations/imaginations, representations as well as perceptions of the township and its inhabitants from the tourist’s perspective
3. Perception and assessment of township tourism from the residents’ perspective
4. Local economic effects and the poverty-alleviating impact of township tourism
The aim is to make an empirical contribution to the discussion around the tourism-poverty nexus and to an understanding of the global phenomenon of urban poverty tourism.
Transmorphic
(2016)
Defining Graphical User Interfaces (GUIs) through functional abstractions can reduce the complexity that arises from mutable abstractions. Recent examples, such as Facebook's React GUI framework have shown, how modelling the view as a functional projection from the application state to a visual representation can reduce the number of interacting objects and thus help to improve the reliabiliy of the system. This however comes at the price of a more rigid, functional framework where programmers are forced to express visual entities with functional abstractions, detached from the way one intuitively thinks about the physical world.
In contrast to that, the GUI Framework Morphic allows interactions in the graphical domain, such as grabbing, dragging or resizing of elements to evolve an application at runtime, providing liveness and directness in the development workflow. Modelling each visual entity through mutable abstractions however makes it difficult to ensure correctness when GUIs start to grow more complex. Furthermore, by evolving morphs at runtime through direct manipulation we diverge more and more from the symbolic description that corresponds to the morph. Given that both of these approaches have their merits and problems, is there a way to combine them in a meaningful way that preserves their respective benefits?
As a solution for this problem, we propose to lift Morphic's concept of direct manipulation from the mutation of state to the transformation of source code. In particular, we will explore the design, implementation and integration of a bidirectional mapping between the graphical representation and a functional and declarative symbolic description of a graphical user interface within a self hosted development environment. We will present Transmorphic, a functional take on the Morphic GUI Framework, where the visual and structural properties of morphs are defined in a purely functional, declarative fashion. In Transmorphic, the developer is able to assemble different morphs at runtime through direct manipulation which is automatically translated into changes in the code of the application. In this way, the comprehensiveness and predictability of direct manipulation can be used in the context of a purely functional GUI, while the effects of the manipulation are reflected in a medium that is always in reach for the programmer and can even be used to incorporate the source transformations into the source files of the application.
Lyapunov Exponents
(2016)
Lyapunov exponents lie at the heart of chaos theory, and are widely used in studies of complex dynamics. Utilising a pragmatic, physical approach, this self-contained book provides a comprehensive description of the concept. Beginning with the basic properties and numerical methods, it then guides readers through to the most recent advances in applications to complex systems. Practical algorithms are thoroughly reviewed and their performance is discussed, while a broad set of examples illustrate the wide range of potential applications. The description of various numerical and analytical techniques for the computation of Lyapunov exponents offers an extensive array of tools for the characterization of phenomena such as synchronization, weak and global chaos in low and high-dimensional set-ups, and localization. This text equips readers with all the investigative expertise needed to fully explore the dynamical properties of complex systems, making it ideal for both graduate students and experienced researchers.
Behavioural Models
(2016)
This textbook introduces the basis for modelling and analysing discrete dynamic systems, such as computer programmes, soft- and hardware systems, and business processes. The underlying concepts are introduced and concrete modelling techniques are described, such as finite automata, state machines, and Petri nets. The concepts are related to concrete application scenarios, among which business processes play a prominent role.
The book consists of three parts, the first of which addresses the foundations of behavioural modelling. After a general introduction to modelling, it introduces transition systems as a basic formalism for representing the behaviour of discrete dynamic systems. This section also discusses causality, a fundamental concept for modelling and reasoning about behaviour. In turn, Part II forms the heart of the book and is devoted to models of behaviour. It details both sequential and concurrent systems and introduces finite automata, state machines and several different types of Petri nets. One chapter is especially devoted to business process models, workflow patterns and BPMN, the industry standard for modelling business processes. Lastly, Part III investigates how the behaviour of systems can be analysed. To this end, it introduces readers to the concept of state spaces. Further chapters cover the comparison of behaviour and the formal analysis and verification of behavioural models.
The book was written for students of computer science and software engineering, as well as for programmers and system analysts interested in the behaviour of the systems they work on. It takes readers on a journey from the fundamentals of behavioural modelling to advanced techniques for modelling and analysing sequential and concurrent systems, and thus provides them a deep understanding of the concepts and techniques introduced and how they can be applied to concrete application scenarios.
Causes, Time, and Truth
(2016)
We need causation, time, and truth in order to know how things in the broadest sense of the term hang together in the broadest sense of the term. The essays try to say something clarifying about those three classical questions of traditional metaphysics. Not dogmatic answers are offered, but guiding perspectives and possible justifiable ways of dealing with such fundamental
Writing-between-worlds
(2016)
TripleA is a workshop series founded by linguists from the University of Tübingen and the University of Potsdam. Its aim is to provide a forum for semanticists doing fieldwork on understudied languages, and its focus is on languages from Africa, Asia, Australia and Oceania. The second TripleA workshop was held at the University of Potsdam, June 3-5, 2015.