Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Jakob Engblom

dblp:08/73 · DBLP profile ↗
← Back
14ranked-venue papers
6as first author
0since 2021 · last 2015
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 8 · 1 first-authorSoftware engineering, systems software and programming languages · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Embedded and real-time systems · 92% Electronic design automation · 8%

Topics — the 7 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Embedded and real-time systems › embedded software engineering
embedded software development
0.212015
Virtual to the (near) end: using virtual platforms for continuous integration · DAC 2015
Embedded and real-time systems › embedded software
embedded software design
0.112009
The wild west: conquest of complex hardware-dependent software design · DAC 2009
Embedded and real-time systems
worst-case execution time analysis
0.122005
Clustered Worst-Case Execution-Time Calculation · IEEE Trans. Computers 2005
Modeling Complex Flows for Worst-Case Execution Time Analysis · RTSS 2000
Embedded and real-time systems
virtual platform
0.112015
Virtual to the (near) end: using virtual platforms for continuous integration · DAC 2015
Embedded and real-time systems
real-time scheduling
0.012000
Modeling Complex Flows for Worst-Case Execution Time Analysis · RTSS 2000
Electronic design automation › timing analysis
pipeline and cache timing analysis
0.012005
Clustered Worst-Case Execution-Time Calculation · IEEE Trans. Computers 2005
Embedded and real-time systems
real-time system verification
0.012005
Clustered Worst-Case Execution-Time Calculation · IEEE Trans. Computers 2005

Methods — techniques the papers use, named apart from their topics

simulation · 0.2hybrid calculation · 0.1flow information · 0.1demand-driven bottom-up analysis · 0.1linear constraint generation · 0.0interval analysis · 0.0
YearPublicationVenuePosition
2015 Virtual to the (near) end: using virtual platforms for continuous integration
abstract
Continuous integration (CI) is a hot topic in software development today. CI is a critical enabler for Agile methods and higher software development velocity and productivity. However, adopting the practice of Continuous Integration can be difficult, especially when developing software for embedded systems. Practices such as Agile and Continuous Integration are designed to enable engineers to constantly improve and update their products. However, these processes can break down without access to the target system, a way to collaborate with other teams and team members, and the ability to automate tests. This paper outlines how simulation can enable teams to more effectively manage their integration and test practice, using virtual platforms as a key part of the test setup and simulation as a key part of the test strategy.
Jakob Engblom
DAC1
2013 Checkpointing for Virtual Platforms and SystemC-TLM
abstract
Integrating simulation models created using different simulation systems is a common problem when constructing virtual platforms. Different companies and different departments can create models, and virtual platforms for different purposes using different tools. There are also existing models that need to be integrated into new tools, or the other way around. The simulators can be quite different in details, even in the case of transaction-level models. We present work in integrating SystemC transaction-level models into two typical full-system simulation environments, QEMU and Simics. We present issues in reconciling the semantics of the different platforms, and our proposed solutions. In the Simics integration, we additionally enable checkpointing in the models, based on the Simics checkpoint mechanism.
Marius Monton, Jakob Engblom, Mark Burton
IEEE Trans. Very Large Scale Integr. Syst.2
2009 The wild west: conquest of complex hardware-dependent software design
abstract
Embedded SW design can be compared to the lawless wild west. With no clear methodology and no standard multi core platform modeling environment every company has to improvise its own solution. The problems facing embedded software users are becoming more complex since:
Hiroyuki Yagi, Wolfgang Rosenstiel, Jakob Engblom, Jason Andrews, Kees A. Vissers, Marc Serughetti
DAC3
2009 Checkpoint and Restore for SystemC models
Marius Monton, Jakob Engblom, Mark Burton
FDL2
2008 The worst-case execution-time problem - overview of methods and survey of tools
abstract
The determination of upper bounds on execution times, commonly called worst-case execution times (WCETs), is a necessary step in the development and validation process for hard real-time systems. This problem is hard if the underlying processor architecture has components, such as caches, pipelines, branch prediction, and other speculative components. This article describes different approaches to this problem and surveys several commercially available tools 1 and research prototypes.
Reinhard Wilhelm, Jakob Engblom, Andreas Ermedahl, Niklas Holsti, Stephan Thesing, David B. Whalley, Guillem Bernat, Christian Ferdinand, Reinhold Heckmann, Tulika Mitra, Frank Mueller 0001, Isabelle Puaut, Peter P. Puschner, Jan Staschulat, Per Stenström
ACM Trans. Embed. Comput. Syst.2
2005 Developing embedded networked products using the Simics full-system simulator
abstract
This paper is an industrial case and tool study that describes the Simics full-system simulator and its network simulation facilities. It also gives a number of examples showing how full-system simulation of heterogeneous networked embedded systems is used in the development, debugging, and testing of networked embedded systems. Simics is a commercial product with many active customers in industry, and our experience from servicing these customers has had a great effect on the design of the tool.
Jakob Engblom, David Kågedal, Andreas Moestedt, Johan Runeson
PIMRC1
2005 Clustered Worst-Case Execution-Time Calculation
abstract
Knowing the worst-case execution time (WCET) of a program is necessary when designing and verifying real-time systems. A correct WCET analysis method must take into account the possible program flow, such as loop iterations and function calls, as well as the timing effects of different hardware features, such as caches and pipelines. A critical part of WCET analysis is the calculation, which combines flow information and hardware timing information in order to calculate a program WCET estimate. The type of flow information which a calculation method can take into account highly determines the WCET estimate precision obtainable. Traditionally, we have had a choice between precise methods that perform global calculations with a risk of high computational complexity and local methods that are fast but cannot take into account all types of flow information. This paper presents an innovative hybrid method to handle complex flows with low computational complexity, but still generate safe and tight WCET estimates. The method uses flow information to find the smallest parts of a program that have to be handled as a unit to ensure precision. These units are used to calculate a program WCET estimate in a demand-driven bottom-up manner. The calculation method to use for a unit is not fixed, but could depend on the included flow and program characteristics.
Andreas Ermedahl, Friedhelm Stappert, Jakob Engblom
IEEE Trans. Computers3
2005 Guidelines for a graduate curriculum on embedded software and systems
abstract
The design of embedded real-time systems requires skills from multiple specific disciplines, including, but not limited to, control, computer science, and electronics. This often involves experts from differing backgrounds, who do not recognize that they address similar, if not identical, issues from complementary angles. Design methodologies are lacking in rigor and discipline so that demonstrating correctness of an embedded design, if at all possible, is a very expensive proposition that may delay significantly the introduction of a critical product. While the economic importance of embedded systems is widely acknowledged, academia has not paid enough attention to the education of a community of high-quality embedded system designers, an obvious difficulty being the need of interdisciplinarity in a period where specialization has been the target of most education systems. This paper presents the reflections that took place in the European Network of Excellence Artist leading us to propose principles and structured contents for building curricula on embedded software and systems.
Paul Caspi, Alberto L. Sangiovanni-Vincentelli, Luís Almeida 0001, Albert Benveniste, Bruno Bouyssounouse, Giorgio C. Buttazzo, Ivica Crnkovic, Werner Damm, Jakob Engblom, Gerhard Fohler, Marisol García-Valls, Hermann Kopetz, Yassine Lakhnech, François Laroussinie, Luciano Lavagno, Giuseppe Lipari, Florence Maraninchi, Philipp Peti, Juan Antonio de la Puente, Norman Scaife, Joseph Sifakis, Robert de Simone, Martin Törngren, Paulo Veríssimo, Andy J. Wellings, Reinhard Wilhelm, Tim A. C. Willemse, Wang Yi 0001
ACM Trans. Embed. Comput. Syst.9
2003 Clustered calculation of worst-case execution times
abstract
Knowing the Worst-Case Execution Time (WCET) of a program is necessary when designing and verifying real-time systems. A correct WCET analysis method must take into account the possible program flow, such as loop iterations and function calls, as well as the timing effects of different hardware features, such as caches and pipelines.A critical part of WCET analysis is the calculation, which combines flow information and hardware timing information in order to calculate a program WCET estimate. The type of flow information which a calculation method can take into account highly determines the WCET estimate precision obtainable. Traditionally, we have had a choice between precise methods that perform global calculations with a risk of high computational complexity, and local methods that are fast but cannot take into account all types of flow information.This paper presents an innovative hybrid method to handle complex flows with low computational complexity, but still generate safe and tight WCET estimates. The method uses flow information to find the smallest parts of a program that have to be handled as a unit to ensure precision. These units are used to calculate a program WCET estimate in a demand-driven bottom-up manner. The calculation method to use for a unit is not fixed, but could depend on the included flow information and program characteristics.
Andreas Ermedahl, Friedhelm Stappert, Jakob Engblom
CASES3
2003 Worst-case execution-time analysis for embedded real-time systems
Jakob Engblom, Andreas Ermedahl, Mikael Sjödin, Jan Gustafsson, Hans A. Hansson
Int. J. Softw. Tools Technol. Transf.1
2002 Processor Pipelines and Their Properties for Static WCET Analysis
Jakob Engblom, Bengt Jonsson 0001
EMSOFT1
2001 Efficient longest executable path search for programs with complex flows and pipeline effects
abstract
Current development tools for embedded real-time systems do not efficiently support the timing aspect. The most important timing parameter for scheduling and system analysis is the Worst-Case Execution Time (WCET) of a program.This paper presents a fast and effective WCET calculation method that takes account of low-level machine aspects like pipelining and caches, and high-level program flow like loops and infeasible paths. The method is more efficient than previous path-based approaches, and can easily handle complex programs. By separating the low-level from the high-level analysis, the method is easy to retarget.Experiments confirm that speed does not sacrifice precision, and that programs with extreme numbers of potential execution paths can be analyzed quickly.
Friedhelm Stappert, Andreas Ermedahl, Jakob Engblom
CASES3
2000 Modeling Complex Flows for Worst-Case Execution Time Analysis
abstract
Knowing the worst-case execution time (WCET) of a program is necessary when designing and verifying real-time systems. The WCET depends both on the program flow (like loop iterations and function calls), and on hardware factors like caches and pipelines. In this paper, we present a method for representing program flow information that is compact while still being strong enough to handle the types of flow previously considered in WCET research. We also extend the set of representable flows compared to previous research. We give an algorithm for converting the flow information to the linear constraints used in calculating a WCET estimate in our WCET analysis tool. We demonstrate the practicality of the representation by modeling the flow of a number of programs, and show that execution time estimates can be made tighter by using flow information.
Jakob Engblom, Andreas Ermedahl
RTSS1
1998 Facilitating worst-case execution times analysis for optimized code
abstract
The authors present co-transformation, a novel approach to the mapping of execution information from the source code of a program to the object code for the purpose of worst-case execution time (WCET) analysis. Their approach is designed to handle the problems introduced by optimizing compilers, i.e. that the structure of the object code is very different from the structure of the source code. The co-transformer allows one to keep track of how different compiler transformations, including optimizations, influence the execution time of a program. This allows one to statically calculate the execution time of a program at the object code level, using information about the program execution obtained at the source code level.
Jakob Engblom, Andreas Ermedahl, Peter Altenbernd
ECRTS1