Jaroslav Keznikl
Charles University in Prague
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Jaroslav Keznikl.
component based software engineering | 2013
Tomas Bures; Ilias Gerostathopoulos; Petr Hnetynka; Jaroslav Keznikl; Michal Kit; Frantisek Plasil
The recent increase in the ubiquity and connectivity of computing devices allows forming large-scale distributed systems that respond to and influence activities in their environment. Engineering of such systems is very complex because of their inherent dynamicity, open-endedness, and autonomicity. In this paper we propose a new class of component systems (Ensemble-Based Component Systems - EBCS) which bind autonomic components with cyclic execution via dynamic component ensembles controlling data exchange. EBCS combine the key ideas of agents, ensemble-oriented systems, and control systems into software engineering concepts based on autonomic components. In particular, we present an instantiation of EBCS - the DEECo component model. In addition to DEECo main concepts, we also describe its computation model and mapping to Java. Lastly, we outline the basic principles of the EBCS/DEECo development process.
self adaptive and self organizing systems | 2013
Philip Mayer; Annabelle Klarl; Rolf Hennicker; Mariachiara Puviani; Francesco Tiezzi; Rosario Pugliese; Jaroslav Keznikl; Tomas Bures
Autonomic computing - that is, the development of software and hardware systems featuring a certain degree of self-awareness and self-adaptability - is a field with many application areas and many technical difficulties. In this paper, we explore the idea of an autonomic cloud in the form of a platform-as-a-service computing infrastructure which, contrary to the usual practice, does not consist of a well-maintained set of reliable high-performance computers, but instead is formed by a loose collection of voluntarily provided heterogeneous nodes which are connected in a peer-to-peer manner. Such an infrastructure must deal with network resilience, data redundancy, and failover mechanisms for executing applications. We discuss possible solutions and methods which help developing such (and similar) systems. The described approaches are developed in the EU project ASCENS.
international conference on performance engineering | 2012
Lubomír Bulej; Tomas Bures; Jaroslav Keznikl; Alena Koubková; Andrej Podzimek; Petr Tůma
Compared to functional unit testing, automated performance testing is difficult, partially because correctness criteria are more difficult to express for performance than for functionality. Where existing approaches rely on absolute bounds on the execution time, we aim to express assertions on code performance in relative, hardware-independent terms. To this end, we introduce Stochastic Performance Logic (SPL), which allows making statements about relative method performance. Since SPL interpretation is based on statistical tests applied to performance measurements, it allows (for a special class of formulas) calculating the minimum probability at which a particular SPL formula holds. We prove basic properties of the logic and present an algorithm for SAT-solver-guided evaluation of SPL formulas, which allows optimizing the number of performance measurements that need to be made. Finally, we propose integration of SPL formulas with Java code using higher-level performance annotations, for performance testing and documentation purposes.
component based software engineering | 2013
Jaroslav Keznikl; Tomas Bures; Frantisek Plasil; Ilias Gerostathopoulos; Petr Hnetynka; Nicklas Hoch
The challenge of developing dynamically-evolving resilient distributed systems that are composed of autonomous components has been partially addressed by introducing the concept of component ensembles. Nevertheless, systematic design of complex ensemble-based systems is still a pressing issue. This stems from the fact that contemporary design methods do not scale in terms of the number and complexity of ensembles and components, and do not efficiently cope with the dynamism involved. To address this issue, we present a novel method - Invariant Refinement Method (IRM) - for designing ensemble-based component systems by building on goal-based requirements elaboration, while integrating component architecture design and software control system design.
working ieee/ifip conference on software architecture | 2012
Jaroslav Keznikl; Tomas Bures; Frantisek Plasil; Michal Kit
In the domain of dynamically evolving distributed systems composed of autonomous and (self-) adaptive components, the task of systematically managing the design complexity of their communication and composition is a pressing issue. This stems from the dynamic nature of such systems, where components and their bindings may appear and disappear without anticipation. To address this challenge, we propose employing separation of concerns via a mechanism of dynamic implicit bindings with implicit communication. This way, we strive for dynamically formed, implicitly interacting groups - ensembles - of autonomous components. In this context, we introduce the DEECo component model, where such bindings, as well as the associated communication, are managed in an automated way, enabling transparent handling of the dynamic changes in the system.
Journal of Systems and Software | 2016
Ilias Gerostathopoulos; Tomas Bures; Petr Hnetynka; Jaroslav Keznikl; Michal Kit; Frantisek Plasil; Noël Plouzeau
A method for designing self-adaptive software-intensive cyber-physical systems.System variability is described by alternative invariant decompositions.Traceability between system requirements and runtime entities is preserved. Design of self-adaptive software-intensive cyber-physical systems (siCPS) operating in dynamic environments is a significant challenge when a sufficient level of dependability is required. This stems partly from the fact that the concerns of self-adaptivity and dependability are to an extent contradictory. In this paper, we introduce IRM-SA (Invariant Refinement Method for Self-Adaptation)-a design method and associated formally grounded model targeting siCPS-that addresses self-adaptivity and supports dependability by providing traceability between system requirements, distinct situations in the environment, and predefined configurations of system architecture. Additionally, IRM-SA allows for architecture self-adaptation at runtime and integrates the mechanism of predictive monitoring that deals with operational uncertainty. As a proof of concept, it was implemented in DEECo, a component framework that is based on dynamic ensembles of components. Furthermore, its feasibility was evaluated in experimental settings assuming decentralized system operation.
Lecture Notes in Computer Science | 2015
Philip Mayer; José Manuel Velasco; Annabelle Klarl; Rolf Hennicker; Mariachiara Puviani; Francesco Tiezzi; Rosario Pugliese; Jaroslav Keznikl; Tomas Bures
The cloud case study within ASCENS explores the vision of an autonomic cloud, which is a cloud providing a platform-as-a-service computing infrastructure which, contrary to the usual practice, does not consist of a well-maintained set of reliable high-performance computers, but instead is formed by a loose collection of voluntarily provided heterogeneous nodes which are connected in a peer-to-peer manner. Such an infrastructure must deal with network resilience, data redundancy, and failover mechanisms for executing applications. As such, the autonomic cloud thus requires a certain degree of self-awareness, monitoring, and self-adaptation to reach its goals, which has been achieved with the integration of ASCENS methods and techniques.
The ASCENS Approach | 2015
Tomas Bures; Ilias Gerostathopoulos; Petr Hnetynka; Jaroslav Keznikl; Michal Kit; Frantisek Plasil
The chapter describes IRM, a method that guides the design of smart-cyber physical systems that are built according to the autonomic service-component paradigm. IRM is a requirements-oriented design method that focuses on distributed collaboration. It relies on the invariant concept to model both high-level system goals and low-level software obligations. In IRM, high-level invariants are iteratively decomposed into more specific sub-invariants up to the level that they can be operationalized by autonomous components and component collaborations (ensembles). We present the main concepts behind the method, as well the main decomposition patterns that back up the design process, and illustrate them in the ASCENS e-mobility case study.
european conference on software architecture | 2014
Tomas Bures; Ilias Gerostathopoulos; Petr Hnetynka; Jaroslav Keznikl; Michal Kit; Frantisek Plasil
Developing software for dynamic cyber-physical systems (CPS) is a complex task. One has to deal with the dynamicity and unreliability of the physical environment where the software resides in, while, at the same time, provide sufficient levels of dependability and scalability. Although emerging software engineering abstractions, such as dynamic ad-hoc component ensembles, provide a convenient way to structure software for dynamic CPS, they need to be mapped to robust decentralized execution schemes in real-life settings. A particular challenge in this context is the robust distributed data dissemination in dynamic networks. Gossip-based communication stands as a promising solution to this challenge. We argue, that exploitation of application-specific information, software architecture in particular, has a large potential for improving the robustness and performance of gossip-based communication. This paper proposes a synergy between high-level architectural models and low-level communication models to effectively enable application-specific gossiping in component-based systems. The synergy is exemplified on the DEECo component model which is tailored to the needs and specifics of CPS, and evaluated on an emergency coordination case study with realistic network configurations.
international conference on software engineering | 2014
Rima Al Ali; Tomas Bures; Ilias Gerostathopoulos; Petr Hnetynka; Jaroslav Keznikl; Michal Kit; Frantisek Plasil
In this work we tackle the problem of designing and developing software-intensive cyber-physical systems (CPS), which are large distributed systems of collaborating elements that closely interact with the physical world, such as intelligent transportation systems and crowdsourcing applications. Due to their specific constraints, such as extreme dynamism and continuous evolution of the physical substratum, and requirements, such us open-endedness and adaptability, CPS introduce many new challenges for software engineering. In response, we present a tailored ecosystem of software engineering models, methods, and tools. This ecosystem is centered on the DEECo component model, which we have proposed specifically for architecting software-intensive CPS.