Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Mario Pukall is active.

Publication


Featured researches published by Mario Pukall.


generative programming and component engineering | 2011

Tailoring dynamic software product lines

Marko Rosenmüller; Norbert Siegmund; Mario Pukall; Sven Apel

Software product lines (SPLs) and adaptive systems aim at variability to cope with changing requirements. Variability can be described in terms of features, which are central for development and configuration of SPLs. In traditional SPLs, features are bound statically before runtime. By contrast, adaptive systems support feature binding at runtime and are sometimes called dynamic SPLs (DSPLs). DSPLs are usually built from coarse-grained components, which reduces the number of possible application scenarios. To overcome this limitation, we closely integrate static binding of traditional SPLs and runtime adaptation of DSPLs. We achieve this integration by statically generating a tailor-made DSPL from a highly customizable SPL. The generated DSPL provides only the runtime variability required by a particular application scenario and the execution environment. The DSPL supports self-configuration based on coarse-grained modules. We provide a feature-based adaptation mechanism that reduces the effort of computing an optimal configuration at runtime. In a case study, we demonstrate the practicability of our approach and show that a seamless integration of static binding and runtime adaptation reduces the complexity of the adaptation process.


Software - Practice and Experience | 2013

JavAdaptor-Flexible runtime updates of Java applications

Mario Pukall; Christian Kästner; Walter Cazzola; Sebastian Götz; Alexander Grebhahn; Reimar Schröter; Gunter Saake

Software is changed frequently during its life cycle. New requirements come, and bugs must be fixed. To update an application, it usually must be stopped, patched, and restarted. This causes time periods of unavailability, which is always a problem for highly available applications. Even for the development of complex applications, restarts to test new program parts can be time consuming and annoying. Thus, we aim at dynamic software updates to update programs at runtime. There is a large body of research on dynamic software updates, but so far, existing approaches have shortcomings either in terms of flexibility or performance. In addition, some of them depend on specific runtime environments and dictate the programs architecture. We present JavAdaptor, the first runtime update approach based on Java that (a) offers flexible dynamic software updates, (b) is platform independent, (c) introduces only minimal performance overhead, and (d) does not dictate the program architecture. JavAdaptor combines schema changing class replacements by class renaming and caller updates with Java HotSwap using containers and proxies. It runs on top of all major standard Java virtual machines. We evaluate our approachs applicability and performance in non‐trivial case studies and compare it with existing dynamic software update approaches. Copyright


asia-pacific software engineering conference | 2008

Towards Unanticipated Runtime Adaptation of Java Applications

Mario Pukall; Christian Kästner; Gunter Saake

Modifying an application usually means to stop the application, apply the changes, and start the application again. That means, the application is not available for at least a short time period. This is not acceptable for highly available applications. One reasonable approach which faces the problem of unavailability is to change highly available applications at runtime. To allow extensive runtime adaptation the application must be enabled for unanticipated changes even of already executed program parts. This is due to the fact that it is not predictable what changes become necessary and when they have to be applied. Since Java is commonly used for developing highly available applications, we discuss its shortcomings and opportunities regarding unanticipated runtime adaptation. We present an approach based on Java HotSwap and object wrapping which overcomes the identified shortcomings and evaluate it in a case study.


international conference on software engineering | 2011

JavAdaptor: unrestricted dynamic software updates for Java

Mario Pukall; Alexander Grebhahn; Reimar Schröter; Christian Kästner; Walter Cazzola; Sebastian Götz

Dynamic software updates (DSU) are one of the top-most features requested by developers and users. As a result, DSU is already standard in many dynamic programming languages. But, it is not standard in statically typed languages such as Java. Even if at place number three of Oracles current request for enhancement (RFE) list, DSU support in Java is very limited. Therefore, over the years many different DSU approaches for Java have been proposed. Nevertheless, DSU for Java is still an active field of research, because most of the existing approaches are too restrictive. Some of the approaches have shortcomings either in terms of flexibility or performance, whereas others are platform dependent or dictate the programs architecture. With JavAdaptor, we present the first DSU approach which comes without those restrictions. We will demonstrate JavAdaptor based on the well-known arcade game Snake which we will update stepwise at runtime.


Proceedings of the Workshop on AOP and Meta-Data for Software Evolution | 2009

Using software product lines for runtime interoperability

Norbert Siegmund; Mario Pukall; Michael Soffner; Veit Köppen; Gunter Saake

Today, often small, heterogeneous systems have to cooperate in order to fulfill a certain task. Interoperability between these systems is needed for their collaboration. However, achieving this interoperability raises several problems. For example, embedded systems might induce a higher probability for a system failure due to constrained power supply. Nevertheless, interoperability must be guaranteed even in scenarios where embedded systems are used. To overcome this problem, we use services to abstract the functionality from the system which realizes it. We outline how services can be generated using software product line techniques to bridge the heterogeneity of cooperating systems. Additionally, we address runtime changes of already deployed services to overcome system failures. In this paper, we show the runtime adaption process of these changes which includes the following two points. First, we outline why feature-oriented programming is appropriate in such scenarios. Second, we describe the runtime adaption process of services with feature-oriented programming.


international workshop on hot topics in software upgrades | 2009

On performance of delegation in Java

Sebastian Götz; Mario Pukall

Delegation is an important design concept in object-oriented languages. In contrast to inheritance, which relates classes to each other, delegation operates on the level of objects and thus provides more flexibility. It is well known, that usage of delegation imposes performance penalties in the sense of delayed execution. But delegation on the level of sourcecode is optimized on bytecode level up to a degree, that imposes much lower performance penalties than expected. This paper examines in detail how big these penalties are.


Proceedings of the 2009 ESEC/FSE workshop on Software integration and evolution @ runtime | 2009

Feature-oriented runtime adaptation

Mario Pukall; Norbert Siegmund; Walter Cazzola

Creating tailor-made programs based on the concept of software product lines (SPLs) gains more and more momentum. This is, because SPLs significantly decrease development costs and time to market while increasing products quality. Especially highly available programs benefit from the quality improvements caused by an SPL. However, after a program variant is created from an SPL and then started, the program is completely decoupled from its SPL. Changes within the SPL, i.e., source code of its features do not affect the running program. To apply the changes, the program has to be stopped, recreated, and restarted. This causes at least short time periods of program unavailability which is not acceptable for highly available programs. Therefore, we present a novel approach based on class replacements and Java HotSwap that allows to apply features to running programs.


International Scholarly Research Notices | 2012

Secure and Customizable Data Management for Automotive Systems: A Feasibility Study

Thomas Thüm; Sandro Schulze; Mario Pukall; Gunter Saake; Sebastian Günther

Custom tailor-made database management systems (DBMS) are an essential asset, especially for embedded systems. The continuously increasing amount of data in automotive systems and the growing network of embedded devices can profit from DBMS. Restrictions in terms of processors, memory, and storage require customizable DBMS that contain only the needed functionality. We present AutoDaMa, a customizable DBMS designed for automotive systems. With AutoDaMa, it is possible to generate tailor-made DBMS for different scenarios, for example, by restricting the storage size of the DBMS or adding security-related features such as asymmetric and symmetric encryption. We demonstrate the feasibility of our approach through applying different tailor-made DBMS versions derived from AutoDaMa in an automotive testing environment. Our experience is that AutoDaMa can dramatically reduce the development effort and can increase reliability using efficient reuse mechanisms.


aspect-oriented software development | 2007

Highly configurable transaction management for embedded systems

Mario Pukall; Thomas Leich; Martin Kuhlemann

Embedded systems are an important field of research and will gain momentum in the near future. Many of these systems require data management functionality. Due to the resource constraints in embedded environments a high customizability of the data management functionality is required that depends on the application context. Whereas storage methods and index structures can be designed to be customizable, the fine grained modularization of transaction management remains problematic. The strong interaction of transaction management functionality with other data management components makes it difficult to separate it from the remaining system. In this paper we introduce an approach for the development of highly configurable transaction management systems. The main focus of our approach is the modularization of parts of the transaction management using advanced programming paradigms. We will show that Aspectual Mixin Layers, a combination of feature-oriented and aspect-oriented programming is the appropriate technique to implement a highly configurable transaction management.


BTW | 2009

On the Need of Data Management in Automotive Systems.

Sandro Schulze; Mario Pukall; Gunter Saake; Tobias Hoppe; Jana Dittmann

Collaboration


Dive into the Mario Pukall's collaboration.

Top Co-Authors

Avatar

Gunter Saake

Otto-von-Guericke University Magdeburg

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Sandro Schulze

Braunschweig University of Technology

View shared research outputs
Top Co-Authors

Avatar

Sebastian Götz

Dresden University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Martin Kuhlemann

Otto-von-Guericke University Magdeburg

View shared research outputs
Top Co-Authors

Avatar

Veit Köppen

Otto-von-Guericke University Magdeburg

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Michael Soffner

Otto-von-Guericke University Magdeburg

View shared research outputs
Researchain Logo
Decentralizing Knowledge