Petr Hnětynka
Charles University in Prague
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Petr Hnětynka.
component based software engineering | 2006
Petr Hnětynka; Frantisek Plasil
This paper addresses the unavoidable problem of dynamic reconfig-uration in component-based system with a hierarchical component model. The presented solution is based on (1) allowing several well defined patterns of dynamic reconfiguration and on (2) introducing a utility interface concept, which allows using a service provided under the SOA paradigm from a component-based system. The paper is based on our experience with non-trivial case studies written for component-based systems SOFA and Fractal.
component based software engineering | 2010
Petr Hosek; Tomáš Pop; Tomas Bures; Petr Hnětynka; Michal Malohlava
The usage of components brings significant help in development of real-time embedded systems. There have been a number of component frameworks developed for this purpose and some of them have already become well-established in this area. However, although the component frameworks share basic concepts and the general approach, they substantially differ in the range of supported features and maturity. This makes relatively difficult to select the right component framework and thus poses a significant obstacle in adoption of the component-based development for real-time embedded systems. To provide an overview, we present a survey in this paper, which illustrates distinguishing features of selected modern component-based frameworks for real-time embedded systems. The survey identifies features which are important for building systems from components in this area and compares these frameworks with respect to these features.
The Common Component Modeling Example | 2007
Tomas Bures; Martin Děcký; Petr Hnětynka; Jan Kofroň; Pavel Parizek; Frantisek Plasil; Tomáš Poch; Ondřej Šerý; Petr Tůma
This chapter presents our solution to the CoCoME assignment that is based on the SOFA 2.0 (SOFtware Appliances) hierarchical component model. The solution involves (i) modeling architecture in SOFA meta-model, (ii) speci fication of component behavior via extended behavior protocols, (iii) checking behavior compliance of components, (iv) verification of correspondence be tween selected component Java code and behavior specification, (v) deploy ment to SOFA run-time envi ronment (using connectors that support RMI and JMS), and (vi) modeling of performance and resource usage via layered queue ing networks. We faced sev eral issues during implementation of the CoCoME assignment in SOFA 2.0. Most notably, the architecture was modified in order to improve clarity of the design --- in particular, the hierarchical bus was re placed by two separate buses and the Inventory component was restructured. Extended behavior protocols for all the components are based on the provided plain-English use cases, the UML sequence diagrams, and the reference Java implementation (the assignment does not include a complete UML behavior specification e.g. via activity dia grams and state charts).
software engineering artificial intelligence networking and parallel distributed computing | 2010
Viliam Simko; Petr Hnětynka; Tomas Bures
A common practice to capture functional requirements of a software system is to utilize use-cases, which are textual descriptions of system usage scenarios written in a natural language. Since the substantial information about the system is captured by the use-cases, it comes as a natural idea to generate from these descriptions the implementation of the system (at least partially). However, the fact that the use-cases are in a natural language makes this task extremely difficult. In this paper, we describe a model-driven tool allowing code of a system to be generated from use-cases in plain English. The tool is based on the model-driven development paradigm, which makes it modular and extensible, so as to allow for use-cases in multiple language styles and generation for different component frameworks.
central and east european conference on software engineering techniques | 2008
Jan Franců; Petr Hnětynka
An initial stage of a software development is a specification of the system requirements. Frequently, these requirements are expressed in UML and consist of use cases and a domain model. A use case is a sequence of tasks, which have to be performed to achieve a specific goal. The tasks of the use case are written in a natural language. The domain model describes objects used in the use cases. In this paper, we present an approach that allows automated generation of an executable code directly from the use cases written in a natural language. Use of the generation significantly accelerates the system development, e.g. it makes immediate verification of requirements completeness possible and the generated code can be used as a starting point for the final implementation. A prototype implementation of the approach is also described in the paper.
Software - Practice and Experience | 2011
Petr Hnětynka; Frantisek Plasil
To allow efficient and user‐friendly development of a component‐based application, component systems have to provide a rather complex development infrastructure, including a tool for component composition, component repository, and a run‐time infrastructure. In this paper, we present and evaluate benefits of using meta‐modeling during the process of defining a component system and also during creation of the development and run‐time infrastructures. Most of the presented arguments are based on a broad practical experience with designing the component systems SOFA and SOFA 2; the former designed in a classical ad hoc ‘manual’ way, whereas the latter with the help of meta‐modeling. Copyright
software engineering research and applications | 2009
Pavel Ježek; Tomas Bures; Petr Hnětynka
Component-based development has become a widely accepted programming technique. However, the current situation in usage of component systems is that most of the widely used systems are flat ones while hierarchical systems (which are more advanced and elaborated) are rather ignored by industry. In our view, the situation is caused by a poor support of features necessary to built real-life applications in hierarchical component systems. In the paper, based on several real-life case-studies, we show a set of typical architecture patterns, which have to be supported by hierarchical component systems, and also we evaluate how these patterns are supported by current systems.
enterprise and organizational modeling and simulation | 2014
Jiří Vinárek; Petr Hnětynka; Viliam Simko; Petr Kroha
Requirements traceability is an extremely important aspect of software development and especially of maintenance. Efficient maintaining of traceability links between high-level requirements specification and low-level implementation is hindered by many problems. In this paper, we propose a method for automated recovery of links between parts of the textual requirement specification and the source code of implementation. The described method is based on a method allowing extraction of a prototype domain model from plain text requirements specification. The proposed method is evaluated on two non-trivial examples. The performed experiments show that our method is able to link requirements with source code with the accuracy of \(F_1=58-61\,\%\).
Archive | 2013
Tomáš Kučera; Petr Hnětynka; Jan Kofroň
Deployment of distributed component-based systems is quite important stage in the system’s life-cycle since it may significantly influence its overall performance and utilization of computers and the network. Thus, deployment of the system has to be carefully planned. There exist algorithms for deployment of component-based system; however they allow deployment of systems with a single level of component composition; hierarchical systems have to be flattened before deployment. However, such a flattening is not possible for component frameworks where hierarchical components exist also at run-time. In this paper, we present an algorithm for automated deployment planning of hierarchical component systems. The algorithm incorporates component demands and machine resources in order to maximize performance of deployed applications. We also present an implementation of the algorithm for the SOFA 2 component framework.
SERA (selected papers) | 2012
Lukáš Hermann; Tomas Bures; Petr Hnětynka; Michal Malohlava
Component-based development traditionally recognizes two parallel views (system-level view and component-level view), which correspond to two major concerns - development of a an application and development of a reusable component for the use in application development. By having different objectives, these views have relatively disparate notion of a component, which consequently means that they are difficult (yet necessary) to combine. In this paper, we propose a method (named CoDIT), which spans the gap between the two views by providing a synchronisation between system-level view (expressed in UML 2) and componentlevel view. For component-level view, the method supports component frameworks with method-call as the communication style. The variability in the composition mechanisms of the component frameworks is addressed by using principles of metacomponent systems. The benefits of the proposed method are evaluated on a real-life case study (in SOFA 2) together with measurements of development efforts.