Jorn Janneck

Jorn Janneck
  • Lund University

About

122
Publications
11,538
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,809
Citations
Current institution
Lund University

Publications

Publications (122)
Article
Many application areas for embedded systems, such as DSP, media coding, and image processing, are based on stream processing. Stream programs in these areas are often naturally described as graphs, where nodes are computational kernels that send data over the edges. This structure also exhibits large amounts of concurrency, because the kernels can...
Article
Full-text available
The analysis of the trace graphs generated by dataflow program executions has been shown to be an effective tool for exploring and optimizing the design space of application programs on manycore/multicore platforms. In this work a new approach aiming at finding bounded buffer size configurations for implementations generated by dataflow programs is...
Conference Paper
The parallel structure of dataflow programs and their support for processing streams of data make dataflow programming an interesting tool for doing stream processing on parallel processing architectures. The computational kernels, the actors, of a dataflow program communicate with other actors via FIFO channels. The actors in the dataflow model us...
Conference Paper
Full-text available
Dataflow is a natural way of modelling streaming applications, such as multimedia, networking and other signal processing applications. In order to cope with the computational and parallelism demands of such streaming applications, multiprocessor systems are replacing uniprocessor systems. Mapping and scheduling these applications on multiprocessor...
Conference Paper
Full-text available
Embedded DSP computing is currently shifting towards manycore architectures in order to cope with the ever growing computational demands. Actor based dataflow languages are being considered as a programming model. In this paper we present a code generator for CAL, one such dataflow language. We propose to use a compilation tool with two intermediat...
Conference Paper
This paper investigates the relationship between two ways of analyzing streaming systems: trace analysis for dataflow programs with firing, and network calculus for network flows. While the former focuses on the structure of the dataflow computation while idealizing the interaction with the environment, the latter characterizes the temporal propert...
Article
In this paper we address the problem of generating efficient software implementations for a large class of dataflow programs that is characterized by highly data-dependent behavior and which is therefore in general not amenable to compile-time scheduling. Previous work on implementing dataflow programs has emphasized classes of stream processing al...
Conference Paper
Streaming applications describe a broad class of computing algorithms in areas such as signal processing, media coding and compression, cryptography, video analytics, network touting and packet processing and many others. For many of these applications, programmable logic devices such as FP-GAs are the implementation platform of choice due to their...
Patent
Automatic queue sizing for data flow applications for an integrated circuit is described. Queue sizes for queues of a dataflow network are initialized to a set of first sizes for running as distributed actors without having to have centralized control. If it is determined there is a deadlock, causes for the dataflow network being deadlocked are ana...
Conference Paper
The increasing ubiquity of heterogeneous parallel computing platforms nowadays creates the challenge to fully exploit the available computational power when porting existing programs or developing new applications with portability in mind. Existing design space exploration methods focus on specialized applications amenable to compile-time analysis....
Conference Paper
This paper proposes a new design methodology to partition streaming applications onto a multi clock domain architecture. The objective is to save power by running different parts of the application at the lowest possible clock frequency that will not violate the throughput requirements. The solution involves partitioning the application into an app...
Article
The recent MPEG Reconfigurable Media Coding (RMC) standard aims at defining media processing specifications (e.g. video codecs) in a form that abstracts from the implementation platform, but at the same time is an appropriate starting point for implementation on specific targets. To this end, the RMC framework has standardized both an asynchronous...
Conference Paper
Program analysis is an important tool in software development, both for verifying desired properties and for enabling optimizations. For dataflow programs, properties such as determinacy and static schedulability are important for verifying correctness and creating efficient implementations. In this paper we develop an analyzer for dataflow actors,...
Patent
In one embodiment, a concurrent processing system is disclosed. For example, in one embodiment of the present invention, a concurrent processing system, comprises a first processing element comprising a first monitor module, a second processing element in communication with the first processing element, the second processing element comprising a se...
Conference Paper
In this paper we propose a design methodology to partition dataflow applications on a multi clock domain architecture. This work shows how starting from a high level dataflow representation of a dynamic program it is possible to reduce the overall power consumption without impacting the performances. Two different approaches are illustrated, both b...
Conference Paper
The growing complexity of signal processing algorithms and platforms poses significant challenges to design methods and implementation tools. High-level dataflow programs, such as those in MPEG's RVC-CAL language, provide abstraction and the opportunity for extensive design-space exploration, but they do raise the problem of efficient automatic syn...
Conference Paper
This paper presents a dataflow design methodology and an associated co-exploration environment, focusing on the optimization of buffer sizes. The approach is applicable to dynamic dataflow designs and its performance is presented and validated by experimental results on the porting of an MPEG-4 Simple Profile decoder to the STM STHORM manycore plat...
Conference Paper
CONFERENCE PAPER Representing Guard Dependencies in Dataflow Execution Traces Brunet, Simone Casale; Mattavelli, Marco; Alberti, Claudio; Janneck, Jorn W. Editors: Aldabass, D; Romero, G; Orsoni, A; Pantelous, A Presented at: 5th International Conference on Computational Intelligence, Communication Systems and Networks (CICSyN), Madrid, SPAIN, JUN...
Conference Paper
The trade-off between throughput and memory constraints is a common design problem in embedded systems, and especially for streaming applications, where the memory in question usually occurs in the form of buffers for streams of data. This paper presents a methodology, based on the post-processing of dataflow execution traces, that enables designer...
Conference Paper
While research on the design of heterogeneous concurrent systems has a long and rich history, a unified design methodology and tool support has not emerged so far, and thus the creation of such systems remains a difficult, time-consuming and error-prone process. The absence of principled support for system evaluation and optimization at high abstra...
Patent
An asynchronous communication network in an integrated circuit is described. The asynchronous communication network comprises a plurality of circuit elements enabling the transmission of tokens, each circuit element having a component interface comprising: a routing network coupled to a first adjacent circuit element of the plurality of circuit ele...
Patent
Method and apparatus for generating an implementation of a program language circuit description for a programmable logic device (PLD) is described. In one example, the program language circuit description is analyzed to identify constructs indicative of dynamic function re-assignment. A hardware description of the program language circuit descripti...
Conference Paper
In this paper we address the problem of translating high-level stream programs, such as those written in MPEG's RVC-CAL dataflow language, into implementations in programmable hardware. Our focus is on two aspects: sufficient language coverage to make synthesis available for a large class of programs, and methodology and tool support providing anal...
Conference Paper
While research on the design of heterogeneous concurrent systems has a long and rich history, a unified design methodology and tool support has not emerged so far, and thus the creation of such systems remains a difficult, time-consuming and error-prone process. The absence of principled support for system evaluation and optimization at high abstra...
Conference Paper
Partitioning and mapping are important design decisions in exploiting the parallelism of programs that are to be run on systems with multiple processing elements. In this paper we introduce a fast, incremental approach for mapping dynamic dataflow programs to multiprocessor systems. We use causation traces and architecture descriptions as input for...
Conference Paper
Dataflow descriptions are a natural match to application areas such as signal processing, cryptography, networking, image processing, and media coding. This paper addresses the problem of efficiently executing the basic elements of a dataflow program, its actors, written in a language such as MPEG's RVC-CAL. Using actor machines as an execution mod...
Conference Paper
In this paper we lay out a case for the use of dataflow programming and the CAL language as a way of addressing current challenges in programming parallel hardware such as multicore systems and FPGAs. We show how the design of the CAL language balances conflicting concerns of expressiveness, analyzability, and implementability, making it a promisin...
Conference Paper
The natural representation of data streams, parallelism, and composition has made dataflow an attractive programming model for expressing a wide range of stream and media processing applications, and has led MPEG and ISO to base their latest video coding standards on this model. This paper describes and compares methodologies and metrics for the op...
Conference Paper
In application areas that process stream-like data such as multimedia, networking and DSP, the pipelined concurrent processing is frequently represented as a dataflow network of communicating computational kernels connected by FIFO queues. However, while dataflow is a natural medium for conceptualizing and modeling stream-processing systems, its ad...
Conference Paper
This paper describes a methodology for the optimization of portable parallel signal processing applications specified by dataflow programs. The use of dataflow as a programming model for signal processing applications targeting parallel platforms provides an important advantage versus the traditional sequential programming paradigm: the portability...
Article
Full-text available
This paper presents the algorithm and reconfigurable architecture of motion-adaptive deinterlacer for high-definition video. The content-adaptability of algorithm and the reconfiguration of architecture are concurrently explored by algorithm/architecture ...
Article
Full-text available
Video coding technology in the last 20 years has evolved producing a variety of different and complex algorithms and coding standards. So far the specification of such standards, and of the algorithms that build them, has been done case by case providing monolithic textual and reference software specifications in different forms and programming lan...
Article
Full-text available
Dataflow descriptions have been used in a wide range of Digital Signal Processing (DSP) applications, such as multi-media processing, and wireless communications. Among various forms of dataflow modeling, Synchronous Dataflow (SDF) is geared towards static scheduling of computational modules, which improves system performance and predictability. Ho...
Article
In application areas that process stream-like data such as multimedia, networking and DSP, the pipelined concurrent processing is frequently represented as a dataflow network of communicating computational kernels connected by FIFO queues. However, while dataflow is a natural medium for conceptualizing and modeling stream-processing systems, its ad...
Conference Paper
Full-text available
This paper proposes an automatic design flow from user-friendly design to efficient implementation of video processing systems. This design flow starts with the use of coarse-grain dataflow representations based on the CAL language, which is a complete language for dataflow programming of embedded systems. Our approach integrates previously develop...
Article
Full-text available
Signal processing algorithms become more and more complex and the algorithm architecture adaptation and design processes cannot any longer rely only on the intuition of the designers to build efficient systems. Specific tools and methods are needed to cope with the increasing complexity of both algorithms and platforms. This paper presents a new fr...
Chapter
Full-text available
The currentmonolithic and lengthy scheme behind the standardization and the design of new video coding standards is becoming inappropriate to satisfy the dynamism and changing needs of the video coding community. Such a scheme and specification formalism do not enable designers to exploit the clear commonalities between the different codecs, neithe...
Article
Full-text available
Current video coding standards, and their reference implementations, are architected as large monolithic and sequential algorithms, in spite of the considerable overlap of functionality between standards, and the fact that they are frequently implemented on highly parallel computing platforms. The former leads to unnecessary complexity in the stand...
Article
Full-text available
This paper presents an in-depth case study on dataflow-based analysis and exploitation of parallelism in the design and implementation of a MPEG reconfigurable video coding decoder. Dataflow descriptions have been used in a wide range of digital signal processing (DSP) applications, such as applications for multimedia processing and wireless commun...
Conference Paper
Full-text available
This demonstration presents an integrated environment that translates a CAL-based dataflow specification [1] into a heterogeneous implementation, composed by HDL and C codes. The demonstration focuses on the capability of the co-design environment to automatically build an executable heterogeneous system implementation running on a platform compose...
Article
Full-text available
The MPEG Reconfigurable Video Coding working group is developing a new library-based process for building the reference codecs of future MPEG standards, which is based on dataflow and uses an actor language called Cal. The paper presents a code generator producing RTL targeting FPGAs for Cal, outlines its structure, and demonstrates its performance...
Article
Full-text available
The possibility of specifying both SW and HW components using the same language is a very attractive design approach. However, despite the efforts spent for implementing such approach using common programming languages such as C and C++, it has not yet shown to be viable and efficient for complex design. The main reason is the difficulty of express...
Article
Full-text available
Stream processing has a long history as a way of describing and implementing specific kinds of computational processes. So far, however, it has largely remained an exotic field of endeavor, with relatively small momentum compared to traditional von Neumann computing, and a large variety of programming models, languages, tools, and hardware realizat...
Article
Full-text available
This paper presents the OpenDF framework and recalls that dataflow programming was once invented to address the problem of parallel computing. We discuss the problems with an imperative style, von Neumann programs, and present what we believe are the advantages of using a dataflow programming model. The CAL actor language is briefly presented and i...
Conference Paper
Full-text available
The MPEG reconfigurable video coding (RVC) framework is a new standard under development by MPEG that aims at providing a unified high-level specification of current MPEG video coding technologies. In this framework, a decoder is built as a configuration of video coding modules taken from the standard ldquoMPEG toolbox libraryrdquo. The elements of...
Conference Paper
Full-text available
The MPEG Reconfigurable Video Coding working group is developing a new library-based process for building the reference codecs of future MPEG standards, which is based on dataflow and uses an actor language called CAL. The paper presents a code generator producing RTL targeting FPGAs for CAL, outlines its structure, and demonstrates its performance...
Conference Paper
As dataflow descriptions of media processing become popular, the techniques for analyzing and profiling the performance of sequential algorithms are no longer applicable. This paper describes some of the basic concepts and techniques for analyzing the computations described by dataflow programs, and illustrates them on an MPEG-4 decoder.
Conference Paper
The development of modern electronic systems increasingly faces qualitative pressures coming from a growing techni- cal diversity and heterogeneity of the computational elements used to build them, as well as move toward parallel comput- ing resulting from the fact that sequential processors are not becoming faster at the rate they used to. These t...
Conference Paper
Full-text available
The development of MP3 and JPEG sparked an explosion in digital content on the internet. These early encoding formats have since been joined by many others, including Quicktime, Ogg, MPEG-2 and MPEG-4, which poses an escalating challenge to vendors wishing to develop devices that interoperate with as much content as possible. This paper presents as...
Conference Paper
Full-text available
We present an interface theory based approach to static analysis of actor models. We first introduce a new interface theory, which is based on interface automata, and which is capable of counting with numbers. Using this new interface theory, we can capture temporal and quantitative aspects of an actor interface as well as an actor's token exchange...
Article
Full-text available
In this article we present a method for describing the language of UML statecharts. Statecharts are syntactically defined as attributed graphs, with well-formedness rules specified by a set of first-order predicates over the abstract syntax of the graphs. The dynamic semantics of statecharts is defined by Abstract State Machines parameterized with...
Article
Full-text available
Complex control systems are heterogeneous, in the sense of discrete computer-based controllers interacting with continuous physical plants, regular data sampling interleaving with irregular communication and user interaction, and multilayer and multimode control laws. This heterogeneity imposes great challenges for control system design in terms of...
Article
Full-text available
Modern environments for modeling and designing concurrent computational systems increasingly support heterogeneous system models, which are characterized by dierent coordination mechanisms gov- erning the interaction between concurrent components in dierent parts or at dierent levels of the model. These interaction semantics, also called models of...
Conference Paper
Full-text available
This paper presents a semantics definition method for a class of visual languages. The method is geared towards the analysis of heterogeneous component-based systems where components are described using different visual languages. This is made possible by the design of language-specific interpreters which interpret instances of these languages with...
Article
This paper presents a semantics definition method for a class of visual languages. The method is geared towards the analysis of heterogeneous component-based systems where components are described using different visual languages. This is made possible by the design of language-specific interpreters which interpret instances of these languages with...
Article
Full-text available
Many embedded systems have significant parts that are best conceptualized as dataflow systems, in which actors execute and communicate by sending each other packets of data. This paper proposes a structured view of these actors that focuses on their dataflow characteristics, and it sketches a notation that directly represents this view. It then sho...
Article
Full-text available
This report introduces CAL, an actor language created as a part of the Ptolemy II project [1] at the UC Berkeley. It is intended primarily as a repository for technical information on the language and its implementation and contains very little introductory material. After a short motivation, we will outline the goals and the guiding principles of...
Article
Full-text available
Actors are computational entities that communicate with other actors and the environment by passing tokens via theirs input and output ports. Actors have state and parameters and when an actor is fired, input tokens are consumed tokens, output tokens are produced, and the internal state is updates. Actors are connected to form models or application...
Conference Paper
Full-text available
Process networks are popular for modelling distributed computing and signal processing applications, and multi-processor architectures. At the ar- chitecture description level, they have the flexibility to model actual processes using various formalisms. This is especially important where the systems are composed of parts with different characteris...
Article
Full-text available
An important part of the design of complex systems is the evaluation of the large number of potential alternative designs. Due to the number and complexity of design parameters, this design space is potentially huge and very complex. Automating part of the design exploration task can be an invaluable help in finding the optimal or near optimal sett...
Article
Full-text available
Current tools for design and implementation of embedded systems lack sufficient support for handling the different development phases. These phases usually include design of control laws, supervision logic, real-time task scheduling, modeling of communication, etc. The heterogeneity of modern embedded control systems puts high demands on design and...
Article
Full-text available
Modern embedded computing systems tend to be heterogeneous in the sense of being composed of subsystems with very different characteristics, which communicate and interact in a variety of ways-synchronous or asynchronous, buffered or unbuffered, etc. Obviously, when designing such systems, a modeling language needs to reflect this heterogeneity. To...
Article
Full-text available
Higher-order Petri nets are a class of high-level Petri nets, in which Petri nets themselves are first-class objects. Here tokens may represent Petri nets and Petri nets may be the values of parameters and variables, as well as the result of computations performed during the occurrence of transitions. These features facilitate a number of very powe...
Article
Full-text available
For many problem domains domain-specific languages (DSLs) offer users more appropriate notations and abstractions in which to model systems when compared with general purpose programming languages. These benefits can often be amplified if a visual notation is used instead of textual notations. In many problem domains visual notations are preferred...
Article
An approach, called exploratory simulation, is presented that facilitates the automatic exploration through the con guration and design alternatives of a system. The approach builds upon a few extensions to an otherwise conventional high-level Petri net formalism. As an example, a generic and fully parametric simulation environment is created with...
Article
Complex control systems are heterogeneous from both an implementation and a modeling perspective. Design and simulation environments for such systems need to integrate different component interaction styles, like differential equations, discrete events, state machines, dataflow networks, and real-time scheduling. This paper motivates the use of Pto...
Conference Paper
Full-text available
In this paper UML statechart diagrams are used as an example of a generic approach to integrating a visual language in a heterogeneous modelling and simulation environment. A system represented in a visual language is syntactically defined as an attributed graph, with well-formedness rules specified by a set of first-order predicates over the abstr...
Conference Paper
Full-text available
This paper gives an overview of the Moses tool suite, a set of tools for visual language programming. In Moses, visual language syntax is defined by first-order predicates over the abstract syntax of a picture, represented by an attributed graph. One way of specifying language semantics in Moses is by writing an abstract state machine that interpre...
Conference Paper
Full-text available
This paper presents an approach to the specification of visual language syntax. Based on attributed graphs as the notion of abstract syntax, syntactical correctness is specified by a set of predicates over that structure. The proposed technique facilitates the natural embedding of other visual and textual notations, the definition of complex syntac...
Article
Petri nets are an established and well researched means for systems modeling and simulation, but its use in the engineering community is not as widespread as the applicability of the formalism would suggest. A reason for this might lie in the fact that there is no established concept for the concise presentation of reusable Petri net design knowled...
Article
In order to facilitate modeling of complex hierarchical and dynamically structured concurrent systems this paper proposes extending high-level Petri nets with parametric and dynamic net structures based on a Petri net component concept. It proceeds to show how to apply these techniques to non-trivial design problems while retaining generality and t...
Article
Full-text available
Industrial applications of Petri nets for modeling and design often result in very complex models (Zurawski and Zhou 1994; Esser, Janneck, and Naedele 1997). Designers can handle this complexity much better if they can (re)use structures expressing expert modeling experience at a higher level of design and abstraction than the basic elements. In th...
Article
State Machines [1, 2]. These specifications are translated into the host language Java and can be used just like any other class in that language. A system like this may be used for a variety of ways. Most importantly, we see the following main applications: ffl prototypes: Prototypes may be developed as formal but executable OMA specifications tha...
Article
Efficient simulation of Petri net models is a key factor for the utility of this modeling formalism for real-world problems. Their locality and high degree of concurrency makes them candidates for parallel and distributed execution. An important condition for efficient distributed simulation, however, is the detection of modelinherent concurrency,...

Network

Cited By