VLDB 2026 Research / reviewers in the wild / expert
Jan Carlson
dblp:21/588
· DBLP profile ↗
56ranked-venue papers
3as first author
15since 2021 · last 2026
0000-0002-8461-0230ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 38 · 1 first-author · 12 since 2021Applied, interdisciplinary, general and emerging computing · 12 · 1 first-author · 4 since 2021Systems, architecture and hardware · 6 · 3 since 2021Databases, data management, data science and information retrieval · 5Security and privacy · 3Artificial intelligence and machine learning · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Incremental Formalization for Informal Architectural DiagrammingabstractInformal diagrams created in general-purpose diagramming tools are widely used in software architecture because they are quick to produce and easy to share. However, the lack of constraints in such tools often yields inconsistent notations and ad-hoc conventions, which in turn invite misinterpretation when diagrams are read outside their original context. Dedicated modeling languages and environments can mitigate these issues but are frequently resisted due to steep learning curves and disruptive adoption costs. Building on the flexible modeling paradigm, this paper proposes an approach to the lightweight formalization of informal diagrams. Grounded in observed industrial challenges and prior work on flexible modeling, we derive a set of design principles and instantiate them in an approach realized as a Draw.io plugin. We propose an approach that addresses challenges from industrial settings by enabling practitioners to introduce structure incrementally into the informal diagrams they already create, thereby helping resolve notational inconsistency and clarify meaning. Moreover, we show how our approach satisfies the guiding flexible modeling principles by introducing these model-like benefits without compromising the accessibility and speed of informal diagramming as valued in practice. The contribution enhances clarity and consistency within familiar workflows and lays the groundwork for subsequent capabilities such as rapid dissemination of conventions, enterprise-level aggregation, and additional quality checks should organizations choose to adopt them. © 2026, Science and Technology Publications, Lda. All rights reserved. Malvina Latifaj, Jan Carlson, Antonio Cicchetti, Robbert Jongeling, Ifrah Qaisar |
MODELSWARD | 2 |
| 2026 | Mapping a System of Systems Core Ontology to a Foundational OntologyabstractThis study proposes a mapping of a core ontology for missions and capabilities in Systems of Systems to a foundational ontology. It gives a brief overview of the core ontology, compares various foundation ontologies, outlines suitability characteristics, and maps the two ontologies. The mapping process is based on a superclasssubclass mapping. To ensure that the mapping is to the highest level of granularity, this process goes beyond the selected foundation ontology and includes extensions provided by common core ontologies. The outcome of the mapping provides insights into the richness of ontology realism, the connectedness of concepts and ontologies, the consistency this mapping adds to systems engineering efforts by supporting the methodological approach of Model-Based Systems Engineering, and the necessity of conformance in ontological research and implementation. This mapping supports the alignment in knowledge representation by explicitly highlighting the kind of expected input of each core ontology concept. © 2026, Science and Technology Publications, Lda. All rights reserved. Joyce Martin, Jakob Axelsson, Jan Carlson |
MODELSWARD | 3 |
| 2026 | Identifying Incentives for More Systematic Modeling of Industrial Software-Intensive SystemsabstractSoftware-intensive systems are characterized by intricate interactions, distributed structures, and ongoing evolution posing notable challenges for traceability, change analysis, and decision support. Modeling and versioning practices are widely used to manage this complexity; however, in practice, they are often fragmented, limiting the value that organizations can derive from them. To address this challenge, we map modeling and versioning practices to the benefits they enable, providing a structured framework for practitioners to assess their current practices and identify opportunities for incremental improvement. Building on findings from our previous interview study with multiple companies, together with insights from the literature, we identify four levels of modeling formality, five levels of versioning sophistication, and four categories of benefits, summarized in two mapping tables. Our contributions include a practitioner-oriented roadmap that helps teams reflect on current modeling and versioning practices, anticipate achievable benefits, and identify incremental adjustments that can add value with minimal overhead. An initial validation with industry representatives confirms the practical relevance of the roadmap and highlights its potential to guide structured reflection and improvement of modeling and versioning practices. Ifrah Qaisar, Jan Carlson, Robbert Jongeling, Antonio Cicchetti, Malvina Latifaj, Federico Ciccozzi |
MODELSWARD | 2 |
| 2025 | Adopting the C4 Model for Lightweight Architecture Modeling - An Experience Report
Robbert Jongeling, Niels Jørgen Strøm, Lars Peter Torp Nissen, Martin Kitchen, Jan Carlson |
SEAA | 5 |
| 2024 | Predicting Cache Behaviour of Concurrent ApplicationsabstractModern digital solutions are built around a variety of applications. The continuous integration of these applications brings advancements in technology. Therefore, it is essential to understand how these applications will behave when they run together. However, this can be challenging to interpret due to the increasing complexity of the execution details. One such fundamental detail is the utilization of shared cache as it goes hand in hand with the computation capacity of computer systems. Since cache utilization behavior is not simple enough to translate with few assumptions we have investigated if this complex behavior can be predicted with the help of machine learning. We trained the deep neural network with enough examples that represent the cache behavior when applications were running alone and when they were running concurrently on the same core. The Long Short-Term Memory (LSTM) network learns the entire execution period of each application in the training set. As a result, without running two applications together in reality, provided with the L1 cache misses of two applications (running alone), it can predict how the cache will look like if two applications wish to run together. The model returns a time series that reflects the cache behavior in concurrency. Shamoona Imtiaz, Moris Behnam, Gabriele Capannini, Jan Carlson, Marcus Jägemar |
ETFA | 4 |
| 2024 | Similarities and Overlaps in Operational Scenarios - A Study of Legacy Industrial Products in the Railway Vehicle DomainabstractWhen seeking to enhance reuse, industrial enter-prises delivering complex electro-mechanical products to large global customers face various technical challenges in their engi-neering practice. Many challenges are due to the many-faceted and rich variability that naturally arises in such a context. We focus our attention on the requirements engineering process. This paper presents the results from a case study investigating reuse potential by analyzing legacy use cases and scenarios data for six selected railway vehicle products for customers in three product segments and on two main markets. Through our analysis, fifteen scenario clusters were identified, covering 74% of all scenarios in the products. We also found a significant overlap between products in 13 of the clusters and a considerable variation in the degrees of overlap in the clusters. We initially anticipated that this overlap would align with the product segments, but our results suggest otherwise. Henrik Gustavsson, Jan Carlson, Eduard Paul Enoiu, David Lindgren |
SEAA | 2 |
| 2024 | Context factors perceived important when looking for similar experiences in decision-making for software components: An interview studyabstractAbstract During software evolution, decisions related to components' origin or source significantly impact the quality properties of the product and development metrics such as cost, time to market, ease of maintenance, and further evolution. Thus, such decisions should ideally be supported by evidence, i.e., using previous experiences and information from different sources, even own previous experiences. A hindering factor to such reuse of previous experiences is that these decisions are highly context‐dependent and it is difficult to identify when previous experiences come from sufficiently similar contexts to be useful in a current setting. Conversely, when documenting a decision (as a decision experience), it is difficult to know which context factors will be most beneficial when reusing the experience in the future. An interview study is performed to identify a list of context factors that are perceived to be most important by practitioners when using experiences to support decision‐making for component sourcing, using a specific scenario with alternative sources of experiences. We observed that the further away (from a company or an interviewee) the experience evidence is, as is the case for online experiences, the more context factors are perceived as important by practitioners to make use of the experience. Furthermore, we discuss and identify further research to make this type of decision‐making more evidence‐based. Efi Papatheocharous, Claes Wohlin, Deepika Badampudi, Jan Carlson, Krzysztof Wnuk |
J. Softw. Evol. Process. | 4 |
| 2023 | Automatic Clustering of Performance EventsabstractModern hardware and software are becoming increasingly complex due to advancements in digital and smart solutions. This is why industrial systems seek efficient use of resources to confront the challenges caused by the complex resource utilization demand. The demand and utilization of different resources show the particular execution behavior of the applications. One way to get this information is by monitoring performance events and understanding the relationship among them. However, manual analysis of this huge data is tedious and requires experts’ knowledge. This paper focuses on automatically identifying the relationship between different performance events. Therefore, we analyze the data coming from the performance events and identify the points where their behavior changes. Two events are considered related if their values are changing at "approximately" the same time. We have used the Sigmoid function to compute a real-value similarity between two sets (representing two events). The resultant value of similarity is induced as a similarity or distance metric in a traditional clustering algorithm. The proposed solution is applied to 6 different software applications that are widely used in industrial systems to show how different setups including the selection of cost functions can affect the results. Shamoona Imtiaz, Gabriele Capannini, Jan Carlson, Moris Behnam, Marcus Jägemar |
ETFA | 3 |
| 2022 | Reliable Visibility Algorithms for Emergency Stop Systems in Smart IndustriesabstractAutomated machinery and robots working with humans are the norm in modern smart industries. A previous work in this area proposed a tool for improving the safety of such work places: an emergency system which halts those machines that are visible from an emergency stop button when it is pressed [1]. The solution presented in this paper improves the reliability of the aforementioned one at the expense of a higher computational complexity. Furthermore, two algorithmic optimizations are presented to mitigate the extra computational cost as it is shown by the results collected from the set of experiments conducted. Gabriele Capannini, Jan Carlson, Roger Mellander |
COMPSAC | 2 |
| 2022 | From Informal Architecture Diagrams to Flexible Blended Models
Robbert Jongeling, Federico Ciccozzi, Antonio Cicchetti, Jan Carlson |
ECSA | 4 |
| 2022 | Model-Based System Engineering Adoption in the Vehicular Systems DomainabstractAs systems continue to increase in complexity, some companies have turned to Model-Based Systems Engineering (MBSE) to address different challenges such as requirement complexity, consistency, traceability, and quality assurance during system development.Consequently, to foster the adoption of MBSE, practitioners need to understand what factors are impeding or promoting success in applying such a method in their existing processes and infrastructure.While many of the existing studies on the adoption of MBSE in specific contexts focus on its applicability, it is unclear what attributes foster a successful adoption of MBSE and what targets the companies are setting.Consequently, practitioners need to understand what adoption strategies are applicable.To shed more light on this topic, we conducted semi-structured interviews with 12 professionals working in the vehicular domain with roles in several MBSE adoption projects.The aim is to investigate their experiences, reasons, targets, and promoting and impeding factors.The obtained data was synthesized using thematic analysis.This study suggests that the reasons for MBSE adoption relate to two main themes: better management of complex engineering tasks and communication between different actors.Furthermore, engagement, activeness and access to expert knowledge are indicated as factors promoting MBSE adoption success, while the lack of MBSE knowledge is an impeding factor for successful adoption. Henrik Gustavsson, Jan Carlson, Eduard Paul Enoiu |
FedCSIS | 2 |
| 2022 | Consistency management in industrial continuous model-based development settings: a reality checkabstractAbstract This article presents the state of practice of consistency management in thirteen industrial model-based development settings. Our analysis shows a tight coupling between adopting shorter development cycles and increasingly pressing consistency management challenges. We find that practitioners desire to adopt shorter development cycles, but immature modeling practices slow them down. We describe the different patterns that emerge from the various industrial settings. There is an opportunity for researchers to provide practitioners with a migration path toward practices that enable more automated consistency management, and ultimately, continuous model-based development. Robbert Jongeling, Federico Ciccozzi, Jan Carlson, Antonio Cicchetti |
Softw. Syst. Model. | 3 |
| 2021 | Automatic Platform-Independent Monitoring and Ranking of Hardware Resource UtilizationabstractIn this paper, we discuss a method for automatic monitoring of hardware and software events using performance monitoring counters. Computer applications are complex and utilize a broad spectra of the available hardware resources, where multiple performance counters can be of significant interest to understand. The number of performance counters that can be captured simultaneously is, however, small due to hardware limitations in most modern computers. We suggest a platform independent solution to automatically retrieve hardware events from an underlying architecture. Moreover, to mitigate the hardware limitations we propose a mechanism that pinpoints the most relevant performance counters for an application's performance. In our proposal, we utilize the Pearson's correlation coefficient to rank the most relevant performance counters and filter out those that are most relevant and ignore the rest. Shamoona Imtiaz, Jakob Danielsson, Moris Behnam, Gabriele Capannini, Jan Carlson, Marcus Jägemar |
ETFA | 5 |
| 2021 | Identifying manual changes to generated code: Experiences from the industrial automation domainabstractIn this paper, we report on a case study in an industrial setting where code is generated from models, and, for various reasons, that generated code is then manually modified. To enhance the maintainability of both models and code, consistency between them is imperative. A first step towards establishing that consistency is to identify the manual changes that were made to the code after it was generated and deployed. Identifying the delta is not straightforward and requires pre-processing of the artifacts. The main mechanics driving our solution are higher-order transformations, which make the implementation scalable and robust to small changes in the modeling language. We describe the specific industrial setting of the problem, as well as the experiences and lessons learned from developing, implementing, and validating our solution together with our industrial partner. Robbert Jongeling, Sachin Bhatambrekar, Anders Lofberg, Antonio Cicchetti, Federico Ciccozzi, Jan Carlson |
MoDELS | 6 |
| 2021 | Towards evidence-based decision-making for identification and usage of assets in composite software: A research roadmapabstractAbstract Software engineering is decision intensive. Evidence‐based software engineering is suggested for decision‐making concerning the use of methods and technologies when developing software. Software development often includes the reuse of software assets, for example, open‐source components. Which components to use have implications on the quality of the software (e.g., maintainability). Thus, research is needed to support decision‐making for composite software. This paper presents a roadmap for research required to support evidence‐based decision‐making for choosing and integrating assets in composite software systems. The roadmap is developed as an output from a 5‐year project in the area, including researchers from three different organizations. The roadmap is developed in an iterative process and is based on (1) systematic literature reviews of the area; (2) investigations of the state of practice, including a case survey and a survey; and (3) development and evaluation of solutions for asset identification and selection. The research activities resulted in identifying 11 areas in need of research. The areas are grouped into two categories: areas enabling evidence‐based decision‐making and those related to supporting the decision‐making. The roadmap outlines research needs in these 11 areas. The research challenges and research directions presented in this roadmap are key areas for further research to support evidence‐based decision‐making for composite software. Claes Wohlin, Efi Papatheocharous, Jan Carlson, Kai Petersen, Emil Alégroth, Jakob Axelsson, Deepika Badampudi, Markus Borg, Antonio Cicchetti, Federico Ciccozzi, Thomas Olsson 0001, Séverine Sentilles, Mikael Svahnberg, Krzysztof Wnuk, Tony Gorschek |
J. Softw. Evol. Process. | 3 |
| 2020 | Improving the Accuracy of Cache-Aware Response Time Analysis Using Preemption PartitioningabstractSchedulability analyses for preemptive real-time systems need to take into account cache-related preemption delays (CRPD) caused by preemptions between the tasks. The estimation of the CRPD values must be sound, i.e. it must not be lower than the worst-case CRPD that may occur at runtime, but also should minimise the pessimism of estimation. The existing methods over-approximate the computed CRPD upper bounds by accounting for multiple preemption combinations which cannot occur simultaneously during runtime. This over-approximation may further lead to the over-approximation of the worst-case response times of the tasks, and therefore a false-negative estimation of the system’s schedulability. In this paper, we propose a more precise cache-aware response time analysis for sporadic real-time systems under fully-preemptive fixed priority scheduling. The evaluation shows a significant improvement over the existing state of the art approaches. Filip Markovic 0001, Jan Carlson, Sebastian Altmeyer, Radu Dobrin |
ECRTS | 2 |
| 2020 | Co-evolution of simulink models in a model-based product lineabstractCo-evolution of metamodels and conforming models is a known challenge in model-driven engineering. A variation of co-evolution occurs in model-based software product line engineering, where it is needed to efficiently co-evolve various products together with the single common platform from which they are derived. In this paper, we aim to alleviate manual efforts during this co-evolution process in an industrial setting where Simulink models are partially reused across various products. We propose and implement an approach providing support for the co-evolution of reusable model fragments. A demonstration on a realistic example model shows that our approach yields a correct co-evolution result and is feasible in practice, although practical application challenges remain. Furthermore, we discuss insights from applying the approach within the studied industrial setting. Robbert Jongeling, Antonio Cicchetti, Federico Ciccozzi, Jan Carlson |
MoDELS | 4 |
| 2020 | Cache-aware response time analysis for real-time tasks with fixed preemption pointsabstractIn real-time systems that employ preemptive scheduling and cache architecture, it is essential to account as precisely as possible for cache-related preemption delays in the schedulability analysis, as an imprecise estimation may falsely deem the system unschedulable. In the current state of the art for preemptive scheduling of tasks with fixed preemption points, the existing schedulability analysis considers overly pessimistic estimation of cache-related preemption delay, which eventually leads to overly pessimistic schedulability results. In this paper, we propose a novel response time analysis for real-time tasks with fixed preemption points, accounting for a more precise estimation of cache-related preemption delays. The evaluation shows that the proposed analysis significantly dominates the existing approach by being able to always identify more schedulable tasksets. Filip Markovic 0001, Jan Carlson, Radu Dobrin |
RTAS | 2 |
| 2020 | Component-based development of embedded systems with GPUs
Gabriel Campeanu, Jan Carlson, Séverine Sentilles |
J. Syst. Softw. | 2 |
| 2019 | Impediments to Introducing Continuous Integration for Model-Based Development in IndustryabstractModel-based development and continuous integration each separately are methods to improve the productivity of development of complex modern software systems. We investigate industrial adoption of these two phenomena in combination, i.e., applying continuous integration practices in model-based development projects. Through semi-structured interviews, eleven engineers at three companies with different modelling practices share their views on perceived and experienced impediments to this adoption. We find some cases in which this introduction is undesired and expected to not be beneficial. For other cases, we find and categorize several impediments and discuss how they are dealt with in industrial practice. Model synchronization and tool interoperability are found the most challenging to overcome and the ways in which they are circumvented in practice are detrimental for introducing continuous integration. Robbert Jongeling, Jan Carlson, Antonio Cicchetti |
SEAA | 2 |
| 2019 | Editorial to theme issue on model-driven engineering of component-based software systems
Federico Ciccozzi, Jan Carlson, Patrizio Pelliccione, Massimo Tivoli |
Softw. Syst. Model. | 2 |
| 2019 | A Comparison of Partitioning Strategies for Fixed Points Based Limited Preemptive SchedulingabstractThe increasing industrial demand for handling complex functionalities has influenced the design of hardware architectures for time critical embedded systems, during the past decade. Multicore systems facilitate the inclusion of many complex functionalities, while, at the same time, inducing cache related overheads, as well as adding partitioning complexity to the overall system schedulability. One of the efficient paradigms for controlling and reducing the cache related costs in real-time systems is limited preemptive scheduling (LPS), with its particular instance fixed preemption points scheduling (LP-FPPS), which has been shown to outperform other alternatives as well as has been supported by and investigated in the automotive domain. With respect to the partitioning constraints, partitioned scheduling has been widely used to preruntime allocate tasks to specific cores, resulting in predictable cache-related preemption delays estimations. In this paper, we propose to integrate the LP-FPPS and partitioned scheduling on fixed-priority multicore real-time systems in order to increase the overall system schedulability. We define a new joint approach for task partitioning and preemption point selection, which is based on the computation of the maximum blocking tolerance upon each allocation, thus being able to quantify the schedulability of the taskset on each processor. Furthermore, we investigate the partitioning strategies based on different heuristics, i.e., first fit decreasing and worst fit decreasing, and priority and density taskset orderings. The evaluation performed on randomly generated tasksets shows that in the general case, no single partitioning strategy fully dominates the others. However, the evaluation results reveal that the certain partitioning strategies perform significantly better with respect to the overall schedulability for specific taskset characteristics. The results also reveal that the proposed partitioning strategies outperform fully preemptive and nonpreemptive partitioned scheduling in terms of successful partitioning. Filip Markovic 0001, Jan Carlson, Radu Dobrin |
IEEE Trans. Ind. Informatics | 2 |
| 2018 | Optimized Realization of Software Components with Flexible OpenCL FunctionalityabstractToday, the newly available embedded boards with GPUs provide a solution to satisfy the ever-increasing requirements of modern embedded systems. Component-based development is a well-known paradigm ... Gabriel Campeanu, Jan Carlson, Séverine Sentilles |
ENASE | 2 |
| 2018 | Allocation Optimization for Component-Based Embedded Systems with GPUsabstractPlatforms equipped with GPU processors help mitigating the ever-increasing computational demands of modern embedded systems. Such systems can be specifically developed by using component-based development thanks to the concept of flexible components. Through this concept, a component can be transparently executed either on a CPU or a GPU. However, this flexibility complicates the allocation process because it adds additional complexity (i.e., due to the undecided CPU or GPU execution) and constraints to consider (i.e., CPUs and GPUs properties) In this work, we address this problem by providing an optimization model for component-based embedded systems executing on both CPU and GPU. The model addresses important optimization goals, characteristic to the embedded system domain, such as memory usage, energy usage and execution time. A novelty of this work is the formal description of the optimization model, which supports the usage of mixed integer nonlinear programming to compute optimal allocation schemes. To examine the feasibility of the proposed method, we apply the optimization model on a vision system constructed using the industrial Rubus component model. Gabriel Campeanu, Jan Carlson, Séverine Sentilles |
SEAA | 2 |
| 2018 | Architecture optimization: speed or accuracy? both!abstractEmbedded systems are becoming more and more complex, thus demanding innovative means to tame their challenging development. Among others, early architecture optimization represents a crucial activity in the development of embedded systems to maximise the usage of their limited resources and to respect their real-time requirements. Typically, architecture optimization seeks good architecture candidates based on model-based analysis. Leveraging abstractions and estimates, this analysis usually produces approximations useful for comparing architecture candidates. Nonetheless, approximations do not provide enough accuracy in estimating crucial extra-functional properties. In this article, we provide an architecture optimization framework that profits from both the speed of model-based predictions and the accuracy of execution-based measurements. Model-based optimization rapidly finds a good architecture candidate, which is refined through optimization based on monitored executions of automatically generated code. Moreover, the framework enables the developer to leverage her optimization experience. More specifically, the developer can use runtime monitoring of generated code execution to manually adjust task allocation at modeling level, and commit the changes without halting execution. In the article, our architecture optimization mechanism is first described from a general point of view and then exploited for optimizing the allocation of software tasks to the processing cores of a multicore embedded system; we target extra-functional properties that can be concretely represented and automatically compared for different architectural alternatives (such as memory consumption, energy consumption, or response-time). Federico Ciccozzi, Juraj Feljan, Jan Carlson, Ivica Crnkovic |
Softw. Qual. J. | 3 |
| 2017 | Flexible Components for Development of Embedded Systems with GPUsabstractToday, embedded systems incorporate GPUs through a multitude of different architectures. When it comes to the development of these systems with GPUs, component-based development is ill-equipped as it does not provide support for GPUs. Instead, the component developer needs to encapsulate inside the component, besides functionality, settings and environment information that are specific to a particular GPU architecture. This binds the component this GPU architecture. Using these hardware-specific components characterized by restricted reusability, the system developer is confined to a limited design-space which may negatively impact the overall system feasibility. In this paper, we introduce the concept of flexible components, which are components that can be executed indifferently on CPU or GPU, regardless of the architecture. Using flexible components, component developers are relieved from the side development activities (e.g., environment information) which are automatically handled by component-level mechanisms. To enhance component communications, connection elements (i.e., adapters) are generated to handle component data transmission, taking in consideration the platform characteristics. Finally, our proposed solution is evaluated by using flexible components to implement the vision system of an underwater robot, and execute it on three platforms with different GPU architectures. Gabriel Campeanu, Jan Carlson, Séverine Sentilles |
APSEC | 2 |
| 2017 | The GRADE Decision Canvas for Classification and Reflection on Architecture DecisionsabstractThis paper introduces a decision canvas for capturing architecture decisions in software and systems engineering. The canvas leverages a dedicated taxonomy, denoted GRADE, meant for establishing the basics of the vocabulary for assessing and choosing architectural assets in the development of software-intensive systems. The canvas serves as a template for practitioners to discuss and document architecture decisions, i.e., capture, understand and communicate decisions among decision-makers and to others. It also serves as a way to reflect on past decision-making activities devoted to both tentative and concluding decisions in the development of software-intensive systems. The canvas has been assessed by means of preliminary internal and external evaluations with four scenarios. The results are promising as the canvas fulfills its intended objectives while satisfying most of the needs of the subjects participating in the evaluation. Efi Papatheocharous, Kai Petersen, Jakob Axelsson, Claes Wohlin, Jan Carlson, Federico Ciccozzi, Séverine Sentilles, Antonio Cicchetti |
ENASE | 5 |
| 2017 | Developing CPU-GPU Embedded Systems Using Platform-Agnostic ComponentsabstractNowadays, there are many embedded systems with different architectures that have incorporated GPUs. However, it is difficult to develop CPU-GPU embedded systems using component-based development (CBD), since existing CBD approaches have no support for GPU development. In this context, when targeting a particular CPU-GPU platform, the component developer is forced to construct hardware-specific components, which are problematic to (re-)use in different contexts. Moreover, hard-coding specific GPU-usage characteristics (e.g., the number of utilized GPU threads) inside the component is not possible without making detailed assumptions about the system in which the component is used, which conflicts with separation-of-concerns CBD principle. The paper presents a solution to allow component-based development of platform-agnostic CPU-GPU embedded systems through: i) high-level API, ii) adapters, and iii) code template. The API abstracts the specifics of the different platforms, while the adapters externalize hardware-specific activities outside components. We also raise the decision regarding the GPU-usage specifications, from the component to the system level. Furthermore, to minimize the development effort, we provide a code template that contains ready-made code fragments required for GPU development. As a case study, we examine the feasibility of our solution applied on a component-based vision system of an underwater robot. Gabriel Campeanu, Jan Carlson, Séverine Sentilles |
SEAA | 2 |
| 2017 | A method to generate reusable safety case argument-fragments from compositional safety analysis
Irfan Sljivo, Barbara Gallina, Jan Carlson, Hans A. Hansson, Stefano Puri |
J. Syst. Softw. | 3 |
| 2015 | A Method to Generate Reusable Safety Case Fragments from Compositional Safety Analysis
Irfan Sljivo, Barbara Gallina, Jan Carlson, Hans A. Hansson, Stefano Puri |
ICSR | 3 |
| 2015 | Using Safety Contracts to Guide the Integration of Reusable Safety Elements within ISO 26262abstractSafety-critical systems usually need to comply with a domain-specific safety standard. To reduce the cost and time needed to achieve the standard compliance, reuse of safety-relevant components is not sufficient without the reuse of the accompanying artefacts. Developing reusable safety components out-of-context of a particular system is challenging, as safety is a system property, hence support is needed to capture and validate the context assumptions before integration of the reusable component and its artefacts in-context of the particular system. We have previously developed a concept of strong and weak safety contracts to facilitate systematic reuse of safety-relevant components and their accompanying artefacts. In this work we define a safety contracts development process and provide guidelines to bridge the gap between reuse of safety elements developed out-of-context of a particular system and their integration in the ISO 26262 safety standard. We use a real-world case for demonstration of the process. Irfan Sljivo, Barbara Gallina, Jan Carlson, Hans A. Hansson |
PRDC | 3 |
| 2014 | A framework for generation of inter-node communication in component-based distributed embedded systemsabstractIn component-based and model-driven development it is common to model embedded applications in a platform-independent manner. As an example, some approaches allow development of distributed applications while abstracting away from details of communication between platform nodes. Using such an approach requires to implement this communication before an executable system is deployed. Currently it is common to automatically implement this communication on the level of code, while providing it on the model level is mostly a task that needs to be done manually. In this paper we present a framework for automatic generation of inter-node communication by adding communication components to software models. The framework provides flexibility in the level of automation of generation decisions, and is defined in a way which allows adding support for new communication media or protocols. We have implemented the generation framework for the IEC 61499 standard and provide a prototype generation tool, which we use for examining the applicability of the approach. Luka Lednicki, Jan Carlson |
ETFA | 2 |
| 2014 | Firecrow: a tool for web application analysis and reusabstractThis paper presents Firecrow - a tool for Web application analysis and reuse. The tool's primary function is to support reuse of client-side features, but it can also be used for feature identification, web application slicing, and generation of usage scenarios, i.e. sequences of user actions that cause the manifestation of application behaviors. The tool is in prototype stage and is accessible through a plug-in to the Firefox browser, but it can also be used as a library from other browsers (e.g. Chrome, Safari, and PhantomJs). Josip Maras, Maja Stula, Jan Carlson |
ASE | 3 |
| 2014 | Generation of Safety Case Argument-Fragments from Safety Contracts
Irfan Sljivo, Barbara Gallina, Jan Carlson, Hans A. Hansson |
SAFECOMP | 3 |
| 2014 | Predictable integration and reuse of executable real-time components
Rafia Inam, Jan Carlson, Mikael Sjödin, Jirí Kuncar |
J. Syst. Softw. | 2 |
| 2013 | Device utilization analysis for IEC 61499 systems in early stages of developmentabstractModel-driven and component-based approaches, such as the IEC 61499 standard, allow us to apply analysis to systems in early stages of development. When applied to embedded systems, early analysis can help guide the development process of both the software and the hardware platform, and thus reduce the time and cost of the development. In this paper we present a method for early analysis of device utilization for IEC 61499 systems. The method is based on determining device-specific worst-case execution time of each activity in the application. For this, we use timing information for individual algorithms together with IEC 61499 software and platform models. We provide a prototype implementation integrated in an open-source development environment. Luka Lednicki, Jan Carlson, Kristian Sandström |
ETFA | 2 |
| 2013 | Generating Feature Usage Scenarios in Client-Side Web Applications
Josip Maras, Maja Stula, Jan Carlson |
ICWE | 3 |
| 2013 | Towards Automatic Client-Side Feature Reuse
Josip Maras, Jan Carlson, Ivica Crnkovic |
WISE (2) | 2 |
| 2013 | Identifying Code of Individual Features in Client-Side Web ApplicationsabstractWeb applications are one of today's fastest growing software systems. Structurally, they are composed of two parts: the server side, used for data access and business logic, and the client side, used as a user interface. In recent years, with developers building complex interfaces, the client side is playing an increasingly important role. Unfortunately, the techniques and tools used to support development are not as advanced as in other disciplines. From the user's perspective, the client side offers a number of features that are relatively easy to distinguish. However, the same cannot be said for their implementation details. This makes the understanding, maintenance, and reuse of code difficult. The goal of the work presented in this paper is to improve reusability, maintainability, and performance of client-side web applications by identifying the code that implements a particular feature. We have evaluated the approach based on three different experiments: extracting features, extracting library functionalities, and page optimization. The evaluation shows that the method is able to identify the implementation details of individual features, and that by extracting the identified code, a considerable reduction in code size and increase in performance can be achieved. Josip Maras, Maja Stula, Jan Carlson, Ivica Crnkovic |
IEEE Trans. Software Eng. | 3 |
| 2012 | Efficient Software Component Reuse in Safety-Critical Systems - An Empirical Study
Rikard Land, Mikael Åkerholm, Jan Carlson |
SAFECOMP | 3 |
| 2012 | Extracting client-side web application codeabstractThe web application domain is one of the fastest growing and most wide-spread application domains today. By utilizing fast, modern web browsers and advanced scripting techniques, web developers are developing highly interactive applications that can, in terms of user-experience and responsiveness, compete with standard desktop applications. A web application is composed of two equally important parts: the server-side and the client-side. The client-side acts as a user-interface to the application, and can be viewed as a collection of behaviors. Similar behaviors are often used in a large number of applications, and facilitating their reuse offers considerable benefits. However, due to client-side specifics, such as multi-language implementation and extreme dynamicity, identifying and extracting code responsible for a certain behavior is difficult. In this paper we present a semi-automatic method for extracting client-side web application code implementing a certain behavior. We show how by analyzing the execution of a usage scenario, code responsible for a certain behavior can be identified, how dependencies between different parts of the application can be tracked, and how in the end only the code responsible for a certain behavior can be extracted. Our evaluation shows that the method is capable of extracting stand-alone behaviors, while achieving considerable savings in terms of code size and application performance. Josip Maras, Jan Carlson, Ivica Crnkovic |
WWW | 2 |
| 2011 | Reusing Web Application User-Interface Controls
Josip Maras, Maja Stula, Jan Carlson |
ICWE | 3 |
| 2011 | Hierarchical Composition of Parametric WCET in a Component Based ApproachabstractWorst Case Execution Time (WCET) computation is crucial to the overall timing analysis of real-time embedded systems. Facing the ever increasing complexity of such systems, techniques dedicated to WCET analysis can take advantage of Component Based Software Engineering (CBSE) by decomposing a difficult problem into smaller pieces, easier to analyse. To achieve this objective, the corresponding analysis results have to be composed to provide timing guarantees on the whole system. In this paper, we express the WCET of a component as a formula, allowing to represent its different computational modes. We then propose a Model Driven Engineering (MDE) approach that derives parametric WCET for composite components from parametric WCET of their subcomponents. This approach gives more accurate WCET estimates than naaive additive compositional analysis by taking into account usage context of components. However, analysis scalability concerns lead us to consider a trade-off between precision and scalability. This trade-off can be specified in the model. The composition of WCET estimations is automated and produces the parametric WCET expression of the composite component under analysis. This approach has been integrated in PRIDE. Thomas Leveque, Etienne Borde, Amine Marref, Jan Carlson |
ISORC | 4 |
| 2011 | Client-side web application slicingabstractHighly interactive web applications that offer user experience and responsiveness of standard desktop applications are becoming prevalent in the web application domain. However, with these benefits come certain drawbacks. For example, the event-based architectural style, and poor support for code organization, often lead to a situation where code responsible for a certain behavior is intermixed with irrelevant code. This makes development, debugging and reuse difficult. One way of locating code implementing a certain behavior is program slicing, a method that, given a subset of a program's behavior, reduces the program to a minimal form that still produces that behavior. In this paper we present a semi-automatic client-side web application slicing method, describe the web page dependency graph, and show how it can be used to extract only the code implementing a certain behavior. Josip Maras, Jan Carlson, Ivica Crnkovic |
ASE | 2 |
| 2011 | PRIDE - An Environment for Component-Based Development of Distributed Real-Time Embedded SystemsabstractSettling down the software architecture for embedded system is a complex and time consuming task. Specific concerns that are generally issued from implementation details must be captured in the software architecture and assessed to ensure system correctness. The matter is further complicated by the inherent complexity and heterogeneity of the targeted systems, platforms and concerns. In addition, tools capable of conjointly catering for the complete design-verification deployment cycle, extra-functional properties and reuse are currently lacking. To address this, we have developed Pride, an integrated development environment for component-based development of embedded systems. Pride is based on an architecture relying on components with well-defined semantics that serve as the central development entity, and as means to support and aggregate various analysis and verification techniques throughout the development -- from early specification to synthesis and deployment. Pride also provides generic support for integrating extra-functional properties into architectural definitions. Etienne Borde, Jan Carlson, Juraj Feljan, Luka Lednicki, Thomas Leveque, Josip Maras, Ana Petricic, Séverine Sentilles |
WICSA | 2 |
| 2010 | Project Monitoring and Control in Model-driven and Component-based Development of Embedded Systems - The CARMA Principle and Preliminary Results
Rikard Land, Jan Carlson, Stig Larsson 0002, Ivica Crnkovic |
ENASE | 2 |
| 2010 | Extracting Client-Side Web User Interface Controls
Josip Maras, Maja Stula, Jan Carlson |
ICWE | 3 |
| 2010 | A resource-efficient event algebra
Jan Carlson, Björn Lisper |
Sci. Comput. Program. | 1 |
| 2009 | Towards Guidelines for a Development Process for Component-Based Embedded Systems
Rikard Land, Jan Carlson, Stig Larsson 0002, Ivica Crnkovic |
ICCSA (2) | 2 |
| 2008 | Component-Based Design and Analysis of Embedded Systems with UPPAAL PORT
John Håkansson, Jan Carlson, Aurelien Monot, Paul Pettersson, Davor Slutej |
ATVA | 2 |
| 2008 | Bounding Shared-Stack Usage in Systems with Offsets and PrecedencesabstractThe paper presents two novel methods to bound the stack memory used in preemptive, shared stack, real-time systems. The first method is based on branch-and-bound search for possible preemption patterns, and the second one approximates the first in polynomial time. The work extends previous methods by considering a more general task-model, in which all tasks can share the same stack. In addition, the new methods account for precedence and offset relations. Thus, the methods give tight bounds for a large set of realistic systems. The methods have been implemented and a comprehensive evaluation, comparing our new methods against each other and against existing methods, is presented. The evaluation shows that our exact method can significantly reduce the amount of stack memory needed. Markus Bohlin, Kaj Hänninen, Jukka Mäki-Turja, Jan Carlson, Mikael Nolin |
ECRTS | 4 |
| 2008 | A Component Model Family for Vehicular Embedded SystemsabstractIn this paper we propose to use components for managing the increasing complexity in modern vehicular systems. Compared to other approaches, the distinguishing feature of our work is using and benefiting from components throughout the development process from early design to development and deployment, and an explicit separation of concerns at different levels of granularity. Based on the elaboration of the specifics of vehicular systems (resource constraints, real-time requirements, hard demands on reliability), the paper identifies concerns that need to be addressed by a component model for this domain, and describes a realization of such a component model. Tomás Bures, Jan Carlson, Séverine Sentilles, Aneta Vulgarakis Feljan |
ICSEA | 2 |
| 2007 | The SAVE approach to component-based development of vehicular systems
Mikael Åkerholm, Jan Carlson, Johan Fredriksson, Hans A. Hansson, John Håkansson, Anders Möller, Paul Pettersson, Massimo Tivoli |
J. Syst. Softw. | 2 |
| 2006 | Determining Maximum Stack Usage in Preemptive Shared Stack SystemsabstractThis paper presents a novel method to determine the maximum stack memory used in preemptive, shared stack, real-time systems. We provide a general and exact problem formulation applicable for any preemptive system model based on dynamic (run-time) properties. We also show how to safely approximate the exact stack usage by using static (compile time) information about the system model and the underlying run-time system on a relevant and commercially available system model: a hybrid, statically and dynamically, scheduled system. Comprehensive evaluations show that our technique significantly reduces the amount of stack memory needed compared to existing analysis techniques. For typical task sets a decrease in the order of 70% is typical Kaj Hänninen, Jukka Mäki-Turja, Markus Bohlin, Jan Carlson, Mikael Nolin |
RTSS | 4 |
| 2004 | An event detection algebra for reactive systemsabstractIn reactive systems, execution is driven by external events to which the system should respond with appropriate actions. Such events can be simple, but systems are often supposed to react to sophisticated situations involving a number of simpler events occurring in accordance with some pattern. A systematic approach to handle this type of systems is to separate the mechanism for detecting composite events from the rest of the application logic.In this paper, we present an event algebra for composite event detection. We show a number of algebraic laws that facilitate formal reasoning, and justify the algebra semantics by showing to what extent the operators comply with intuition. Finally, we present an implementation of the algebra, and identify a large subset of expressions for which detection can be performed with bounded resources. Jan Carlson, Björn Lisper |
EMSOFT | 1 |
| 2003 | Enhancing Time Triggered Scheduling with Value Based Overload Handling and Task MigrationabstractTime triggered methods provide deterministic behaviour suitable for critical real-time systems. The), perform less favourably, however if the arrival times of some activities are not known in advance, in particular if overload situations have to be anticipated. In many systems, the criticality of only a subset of activities justify the cost associated with the time triggered methods. In this paper we consider distributed systems where a subset of critical activities are handled in a time triggered fashion, via an offline schedule. At runtime, the arrival of aperiodic tasks may cause overload that demands to be handled in such a way that i) time triggered activities still meet all their original constraints, ii) execution of high-valued tasks are prioritised over tasks with lower value, iii) tasks can be quickly migrated to balance the overall system load. We give a precise formulation of overload detection and value based task rejection in the presence of offline scheduled tasks, and present a heuristic algorithm to handle overload. To benefit from the distributed setting, the overload handling includes an algorithm that integrates migration of rejected tasks with resource reclaiming and an acceptance test of newly arrived tasks. Simulation results underline the effectiveness of the presented approach. Jan Carlson, Tomas Lennvall, Gerhard Fohler |
ISORC | 1 |