https://www.mdu.se/

mdu.sePublications
Change search
Refine search result
123 1 - 50 of 134
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Rows per page
  • 5
  • 10
  • 20
  • 50
  • 100
  • 250
Sort
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
Select
The maximal number of hits you can export is 250. When you want to export more records please use the Create feeds function.
  • 1.
    Axelsson, Jakob
    et al.
    Swedish Institute of Computer Science, SICS, Sweden.
    Franke, Ulrik
    Swedish Institute of Computer Science, SICS, Sweden.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Cicchetti, Antonio
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Towards the Architecture of a Decision Support Ecosystem for System Component Selection2017In: 11th Annual IEEE International Systems conference SysCon17, 2017, p. 371-377Conference paper (Refereed)
    Abstract [en]

    When developing complex software-intensive systems, it is nowadays common practice to base the solution partly on existing software components. Selecting which components to use becomes a critical decision in development, but it is currently not well supported through methods and tools. This paper discusses how a decision support system for this problem could benefit from a software ecosystem approach, where participants share knowledge across organizations both through reuse of analysis models, and through partially disclosed past decision cases. It is shown how the architecture of this ecosystem becomes fundamental to deal with efficient knowledge sharing, while respecting constraints on integrity of intellectual property. A concrete proposal for an architecture is outlined, which is a distributed system-of-systems using web technologies. Experiences of a proof-of-concept implementation are also described.

  • 2.
    Bilic, Damir
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sundmark, Daniel
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Afzal, Wasif
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Wallin, Peter
    RISE SICS Västerås, Sweden.
    Detecting Inconsistencies in Annotated Product Line Models2020In: ACM International Conference Proceeding Series, 2020, Vol. F164267-A, p. 252-262, article id 20Conference paper (Refereed)
    Abstract [en]

    Model-based product line engineering applies the reuse practices from product line engineering with graphical modeling for the specification of software intensive systems. Variability is usually described in separate variability models, while the implementation of the variable systems is specified in system models that use modeling languages such as SysML. Most of the SysML modeling tools with variability support, implement the annotation-based modeling approach. Annotated product line models tend to be error-prone since the modeler implicitly describes every possible variant in a single system model.To identifying variability-related inconsistencies, in this paper, we firstly define restrictions on the use of SysML for annotative modeling in order to avoid situations where resulting instances of the annotated model may contain ambiguous model constructs. Secondly, inter-feature constraints are extracted from the annotated model, based on relations between elements that are annotated with features. By analyzing the constraints, we can identify if the combined variability- and system model can result in incorrect or ambiguous instances. The evaluation of our prototype implementation shows the potential of our approach by identifying inconsistencies in the product line model of our industrial partner which went undetected through several iterations of the model.

  • 3.
    Bohlin, Markus
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Hänninen, Kaj
    Mälardalen University, School of Innovation, Design and Engineering.
    Mäki-Turja, Jukka
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Nolin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Safe Shared Stack Bounds in Systems with Offsets and Precedences2008Report (Other academic)
    Abstract [en]

    The 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 taskmodel, 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. In our simulations, a decrease in the order of 40% was typical, with a runtime in the order of seconds. Our polynomial approximation consequently yields about 20% higher bound than the exact method. 

  • 4.
    Bohlin, Markus
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Hänninen, Kaj
    Mälardalen University, School of Innovation, Design and Engineering.
    Mäki-Turja, Jukka
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Bounding Shared-Stack Usage in Systems with Offsets and Precedences2008In: ECRTS 2008: PROCEEDINGS OF THE 20TH EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS, 2008, p. 276-285Conference paper (Refereed)
    Abstract [en]

    The 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.

  • 5.
    Borde, E.
    et al.
    Institut TELECOM, TELECOM ParisTech.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Towards verified synthesis of ProCom, a component model for real-time embedded systems2011In: CompArch - Proceedings of the 2011 Federated Events on Component-Based Software Engineering and Software Architecture - CBSE'11, 2011, p. 129-138Conference paper (Refereed)
    Abstract [en]

    To take advantage of component-based software engineering, software designers need a component framework that automates the assemblage and integration of developed components. It is then of prime importance to ensure that the synthesized code respects the definition of the component model's semantics. This is all the more difficult in the domain of embedded systems since the considered semantics usually aims at characterizing both functional properties (e.g. data and control dependencies) and non-functional properties such as timing and memory consumption. The component model considered in this paper, called ProCom, relies on an asynchronous operational semantics and a formal hypothesis of atomic and instantaneous interactions between components. The asynchronous approach targets higher exibility in the deployment and analysis process, while the formal hypothesis helps in reducing the combinatory problems of formal verification. In this paper, we present a code generation strategy to synthesize ProCom components, and a formalization of this generated code. This formalization extends the verification possibilities of ProCom architectures, and constitutes a step toward the verification that the produced code respects the operational semantics of ProCom. © 2011 ACM.

  • 6.
    Borde, Etienne
    et al.
    Institut TELECOM, TELECOM ParisTech, LTCI, Paris.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Automatic Synthesis and Adaption of Gray-box Components for Embedded Systems - Reuse vs. Optimization2011In: Proceedings - International Computer Software and Applications Conference, 2011, p. 224-229Conference paper (Refereed)
    Abstract [en]

    Component-based development of embedded systems has been suggested as a means to increase development efficiency by, for example, facilitating reuse. However, the specifics of the embedded systems domain also raise some particular difficulties when applying this approach. For example, when glue code is automatically produced from an architectural specification, a systematic approach where fully reusable code is generated for all entities in the system, can lead to unaffordable overhead in embedded systems with severe resource limitations and temporal constraints. If, on the other hand, highly optimized code is produced by taking advantage of the specific context in which each component is used, then the generated code is not reusable in other contexts, and the potential benefits of component-based development are not fully exploited. In this paper, we present a component-based framework that permits a more detailed trade-off between optimization and reusability, by automating the integration of components for which the software designer can specify the desired reuse potential. Depending on this specification, the integration code is either reused and adapted, or completely optimized.

  • 7.
    Borde, Etienne
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Feljan, Juraj
    Mälardalen University, School of Innovation, Design and Engineering.
    Lednicki, Luka
    Mälardalen University, School of Innovation, Design and Engineering.
    Leveque, Thomas
    Mälardalen University, School of Innovation, Design and Engineering.
    Maras, Josip
    Mälardalen University, School of Innovation, Design and Engineering.
    Petricic, Ana
    Mälardalen University, School of Innovation, Design and Engineering.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering.
    PRIDE - an Environment for Component-based Development of Distributed Real-time Embedded Systems2011In: 9th Working IEEE/IFIP Conference on Software Architecture, Los Alamitos: IEEE Computer Society, 2011, p. 351-354Conference paper (Refereed)
    Abstract [en]

    Settling 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-verificationdeployment 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.

  • 8.
    Bosch, Jan
    et al.
    Department of Computer Science and Engineering, Chalmers University of Technology, Gothenburg, Sweden.
    Carlson, JanMälardalen University, School of Innovation, Design and Engineering, Embedded Systems.Holmström Olsson, HelenaDepartment of Computer Science, Malmö University, Malmö, Sweden.Sandahl, KristianDepartment of Computer and Information Science (IDA), Linköping University, Linköping, Sweden.Staron, MiroslawDepartment of Computer Science and Engineering, Chalmers University of Technology, Gothenburg, Sweden.
    Accelerating digital transformation: 10 years of software center2022Collection (editor) (Other academic)
    Abstract [en]

    This book celebrates the 10-year anniversary of Software Center (a collaboration between 18 European companies and five Swedish universities) by presenting some of the most impactful and relevant journal or conference papers that researchers in the center have published over the last decade.

    The book is organized around the five themes around which research in Software Center is organized, i.e. Continuous Delivery, Continuous Architecture, Metrics, Customer Data and Ecosystems Driven Development, and AI Engineering. The focus of the Continuous Delivery theme is to help companies to continuously build high quality products with the right degree of automation. The Continuous Architecture theme addresses challenges that arise when balancing the need for architectural quality and more agile ways of working with shorter development cycles. The Metrics theme studies and provides insight to understand, monitor and improve software processes, products and organizations. The fourth theme, Customer Data and Ecosystem Driven Development, helps companies make sense of the vast amounts of data that are continuously collected from products in the field. Eventually, the theme of AI Engineering addresses the challenge that many companies struggle with in terms of deploying machine- and deep-learning models in industrial contexts with production quality. Each theme has its own part in the book and each part has an introduction chapter and then a carefully selected reprint of the most important papers from that theme.

    This book mainly aims at researchers and advanced professionals in the areas of software engineering who would like to get an overview about the achievement made in various topics relevant for industrial large-scale software development and management – and to see how research benefits from a close cooperation between industry and academia.

  • 9.
    Bures, Tomas
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering.
    Vulgarakis, Aneta
    Mälardalen University, School of Innovation, Design and Engineering.
    ProCom - the Progress Component Model Reference Manual, version 1.02008Report (Other academic)
  • 10.
    Bures, Tomas
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering.
    Vulgarakis, Aneta
    Mälardalen University, School of Innovation, Design and Engineering.
    Progress Component Model Reference Manual - version 0.52008Report (Other academic)
    Abstract [en]

    This report describes the component model developed within PROGRESS. In addition to defining the syntax and semantics, it also gives some background and motivation, and describes how this work relates to the overall PROGRESS vision and to the work in other areas of the project.

  • 11.
    Bures, Tomas
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering.
    Vulgarakis, Aneta
    Mälardalen University, School of Innovation, Design and Engineering.
    A Component Model Family for Vehicular Embedded Systems2008In: The 3rd International Conference on Software Engineering Advances, ICSEA 2008, Includes ENTISY 2008: International Workshop on Enterprise Information Systems, 2008, p. 437-444Conference paper (Refereed)
    Abstract [en]

    In this paper we propose to use components for managingthe increasing complexity in modern vehicular systems.Compared to other approaches, the distinguishingfeature of our work is using and benefiting from componentsthroughout the development process from early designto development and deployment, and an explicit separationof concerns at different levels of granularity. Basedon the elaboration of the specifics of vehicular systems (resourceconstraints, real-time requirements, hard demandson reliability), the paper identifies concerns that need to beaddressed by a component model for this domain, and describesa realization of such a component model.

  • 12.
    Bures, Tomas
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering.
    Vulgarakis, Aneta
    Mälardalen University, School of Innovation, Design and Engineering.
    Towards Component Modelling of Embedded Systems in the Vehicular Domain2008Report (Other academic)
    Abstract [en]

    The complexity of software and electronics in vehicular systems has increased significantly over last few years - up to the point when it is difficult to manage it with existing development methods. In this paper we aim at using components for managing the complexity in vehicular systems. Compared to other approaches, the distinguishing feature of our work is using and benefiting from components throughout the whole development process (from early design to development and deployment). 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. It also outlines basic features and characteristics of such a component model and discusses how relevant existing formalisms and component models relate to it and how they could be reused within the proposed approach.

     

  • 13.
    Campeanu, Gabriel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    A GPU-aware Component Model Extension for Heterogeneous Embedded Systems2015In: The Tenth International Conference on Software Engineering Advances ICSEA 2015, 2015Conference paper (Refereed)
    Abstract [en]

    One way for modern embedded systems to tackle the demand for more complex functionality requiring more computational power is to take advantage of heterogeneous hardware. These hardware platforms are constructed from the combination of different processing units including both traditional CPUs and for example Graphical Processing Units (GPUs). However, there is a lack of efficient approaches supporting software development for such systems. In particular, modern software development approaches, such as component-based development, do not provide sufficient support for heterogeneous hardware platforms. This paper presents a component model extension, which defines specific features for components with GPU capabilities. The benefits of the proposed solution include an increased system performance by accelerating the communication between GPU-aware components and the possibility to control the distribution of GPU computation resources at system level.

  • 14.
    Campeanu, Gabriel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Allocation Optimization for Component-based Embedded Systems with GPUs2018In: 44th Euromicro Conference on Software Engineering and Advanced Applications SEAA 2018, 2018, p. 101-110Conference paper (Refereed)
    Abstract [en]

    Platforms 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.

  • 15.
    Campeanu, Gabriel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Component Allocation Optimization for Heterogeneous CPU-GPU Embedded Systems2014In: The 40th Euromicro Conference on Software Engineering and Advanced Applications SEAA 2014, Verona, 27-29 Aug. 2014, 2014, p. 229-236Conference paper (Refereed)
    Abstract [en]

    In a quest to improve system performance, embedded systems are today increasingly relying on heterogeneous platforms that combine different types of processing units such as CPUs, GPUs and FPGAs. However, having better hardware capability alone does not guarantee higher performance; how functionality is allocated onto the appropriate processing units strongly impacts the system performance as well. Yet, with this increase in hardware complexity, finding suitable allocation schemes is becoming a challenge as many new constraints and requirements must now be taken into consideration. In this paper, we present a formal model for allocation optimization of embedded systems which contains a mix of CPU and GPU processing nodes. The allocation takes into consideration the software and hardware architectures, the system requirements and criteria upon which the allocation should be optimized. In its current version, optimized allocation schemes are generated through an integer programming technique to balance the system resource utilization and to optimize the system performance using the GPU resources.

  • 16.
    Campeanu, Gabriel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. Bombardier Transportation, Sweden.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Component-based development of embedded systems with GPUs2020In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 161, article id 110488Article in journal (Refereed)
    Abstract [en]

    One pressing challenge of many modern embedded systems is to successfully deal with the considerable amount of data that originates from the interaction with the environment. A recent solution comes from the use of GPUs, providing a significantly improved performance for data-parallel applications. Another trend in the embedded systems domain is component-based development. However, existing component-based approaches lack specific support to develop embedded systems with GPUs. As a result, components with GPU capability need to encapsulate all the required GPU information, leading to component specialization to specific platforms, hence drastically impeding component reusability. To facilitate component-based development of embedded systems with GPUs, we introduce the concept of flexible components. This increases the design flexibility by allowing the system developer to decide component allocation (i.e., either the CPU or GPU) at a later stage of the system development, with no change to the component implementation. Furthermore, we provide means to automatically generate code for adapting flexible components corresponding to their hardware placement, as well as code for component communication. Through the introduced support, components with GPU capability are platform-independent, and can be executed, without manual adjustment, on a large variety of hardware (i.e., platforms with different GPU characteristics).

  • 17.
    Campeanu, Gabriel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Developing CPU-GPU Embedded Systems using Platform-Agnostic Components2017In: Proceedings - 43rd Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2017, 2017, p. 176-180, article id 8051345Conference paper (Refereed)
    Abstract [en]

    Nowadays, 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 ap- proaches 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. More- over, 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.

  • 18.
    Campeanu, Gabriel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Flexible Components for Development of Embedded Systems with GPUs2017In: 24th Asia-Pacific Software Engineering Conference APSEC 2017, 2017, p. 219-228Conference paper (Refereed)
    Abstract [en]

    Today, 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.

  • 19.
    Campeanu, Gabriel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Optimized Realization of Software Components with Flexible OpenCL Functionality2018In: Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2018, Funchal, Madeira, Portugal, March 23-24, 2018, 2018, p. 77-88Conference paper (Refereed)
    Abstract [en]

    Today, 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 used to develop embedded systems. However, this paradigm lacks GPU support to address the specifics of these new boards. This leads to components that typically have reduced reusability, poor maintainability and portability. One way to tackle the existing shortcomings is through flexible components, i.e., platform-agnostic components that, at design time, offer the possibility to be executed either on CPU or GPU. The current realization of flexible components, i.e., as regular components with functionality tailored for the selected hardware, introduces additional overheads such as component communication overhead. In order to tackle the introduced overheads, our solution groups connected flexible components under a flexible group that conceptually behaves as a component. We introduce an algorithm to identify the existing groups in a given component-based system and the generation rules that automatically realizes groups as regular components. To evaluate the feasibility of the new concept, the flexible group is implemented using a state-of-the-practice component model (i.e., Rubus) and examined through the vision system of an underwater robot.

  • 20.
    Campeanu, Gabriel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Séntilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Mubeen, Saad
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Extending the Rubus Component Model with GPU-Aware Components2016In: Proceedings - 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 2016, p. 59-68Conference paper (Refereed)
    Abstract [en]

    To support the complex functionality expected of modern embedded systems, the trend is to supplement CPUs with Graphical Processing Units (GPUs), thus creating heterogeneous embedded systems. However, taking full advantage of GPUs increases the complexity of the development and requires dedicated support, and no such support exists in the component models currently available. The only solution today is to completely encapsulate all GPU-specific information and operations within the components, which increases the communication overhead and reduces component reusability, thus significantly limiting the applicability of component-based development to heterogeneous embedded systems. In this paper, we propose to extend Rubus, an industrial component model for embedded systems, with dedicated support for GPUs. We introduce new constructs, including GPU ports and automatically generated adapters to facilitate seamless component communication over the heterogeneous processing units, regardless of whether the components use the CPU, GPU, or both. A running example is used for the problem description, the proposed extension, and to evaluate our solution.

  • 21.
    Capannini, Gabriele
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Mellander, Roger
    Abb Robotics, Västerås, Sweden.
    Reliable Visibility Algorithms for Emergency Stop Systems in Smart Industries2022In: Proceedings - 2022 IEEE 46th Annual Computers, Software, and Applications Conference, COMPSAC 2022, Institute of Electrical and Electronics Engineers Inc. , 2022, p. 89-94Conference paper (Refereed)
    Abstract [en]

    Automated 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. 

  • 22.
    Capannini, Gabriele
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Mellander, Roger
    Mälardalen University. ABB Robotics, Sweden.
    Thou Shalt Not Move: A Visibility-based Emergency Stop System for Smart Industries2021In: ACM International Conference Proceeding Series, Association for Computing Machinery , 2021Conference paper (Refereed)
    Abstract [en]

    Nowadays, industries are crowded with automatized machinery and robots that interact with human operators. In addition to other safety measures already present, we propose a further tool to equip such working places with a visibility-based emergency stop system that only affects those machines that are visible from the position of an emergency stop button when it is pressed. This paper presents the realization of such a system and the preliminary results collected from the conducted scalability experiments.

  • 23.
    Carlson, Jan
    Mälardalen University, Department of Computer Science and Engineering.
    An intuitive and resource-efficient event detection algebra2004Licentiate thesis, monograph (Other scientific)
    Abstract [en]

    In 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 simpel 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. A detection mechanism listens for simple event occurrences and notifies the application when one of the complex event patterns of interest occur. The event detection mechanism can for example be based on an event algebra, i.e., expressions that correspond to the event patterns of interest are built from simple events and operators from the algebra.

    This thesis presents a novel event algebra with two important characteristics: It complies with algebraic laws that intuitively ought to hold for the operators of the algebra, and for a large class of expressions the detection can be correctly performed with limited resources in terms of memory and time. In addition to the declarative algebra semantics, we present an imperative detection algorithm and show that it correctly implements the algebra. This algorithm is analysed with respect to memory requirements and execution time complexity. To increase the efficiency of the algebra, we also present a semantic-preserving transformation scheme by which many expressions can be transformed to meet criteria under which limited resource requirements are guaranteed. Finally, we present a prototype implementation that combines the algebra with the event system in Java.

    Download full text (pdf)
    FULLTEXT01
  • 24.
    Carlson, Jan
    Mälardalen University, Department of Computer Science and Electronics.
    Event Pattern Detection for Embedded Systems2007Doctoral thesis, monograph (Other scientific)
    Abstract [en]

    Events play an important role in many computer systems, from small reactive embedded applications to large distributed systems. Many applications react to events generated by a graphical user interface or by external sensors that monitor the system environment, and other systems use events for communication and synchronisation between independent subsystems. In some applications, however, individual event occurrences are not the main point of concern. Instead, the system should respond to certain event patterns, such as "the start button being pushed, followed by a temperature alarm within two seconds". One way to specify such event patterns is by means of an event algebra with operators for combining the simple events of a system into specifications of complex patterns.

    This thesis presents an event algebra with two important characteristics. First, it complies with a number of algebraic laws, which shows that the algebra operators behave as expected. Second, any pattern represented by an expression in this algebra can be efficiently detected with bounded resources in terms of memory and time, which is particularly important when event pattern detection is used in embedded systems, where resource efficiency and predictability are crucial.

    In addition to the formal algebra semantics and an efficient detection algorithm, the thesis describes how event pattern detection can be used in real-time systems without support from the underlying operating system, and presents schedulability theory for such systems. It also describes how the event algebra can be combined with a component model for embedded system, to support high level design of systems that react to event patterns.

    Download full text (pdf)
    FULLTEXT01
  • 25.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Timing Analysis of Component-based Embedded Systems2012In: Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering, New York: ACM , 2012, p. 151-156Conference paper (Refereed)
    Abstract [en]

    The recent trend towards applying component-based and model-driven approaches also to the development of safety-critical real-time embedded systems, opens new possibilities for model-level analysis of aspects that traditionally are analysed very late in the development when the system has been fully implemented. For real-time systems, the temporal aspect is as important as the functional to the overall correctness of the system, and thus timing analysis in different forms play a key role in their development. This paper presents the timing analysis of ProCom, a component model specifically targeting distributed real-time embedded systems, focusing in particular on three methods for compositional model-level analysis of worst-case execution time.

  • 26.
    Carlson, Jan
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Feljan, Juraj
    Mälardalen University, School of Innovation, Design and Engineering.
    Mäki-Turja, Jukka
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Deployment Modelling and Synthesis in a Component Model for Distributed Embedded Systems2010In: Proceedings - 36th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2010, Lille, France, 2010, p. 74-82Conference paper (Refereed)
    Abstract [en]

    We present an approach to combine model-driven and component-based software engineering of distributed embedded systems. Specifically, we describe how deployment modelling is performed in two steps, and present an incremental synthesis of runnable representations of model entities on various abstraction levels. Our approach allows for flexible reuse opportunities, in that entities at different levels of granularity and abstraction can be reused. It also permits detailed analysis, e.g., with respect to timing, of units smaller than a whole physical node. We present a concept, virtual nodes, which preserves real-time properties across reuse and integration in different contexts.

  • 27.
    Carlson, Jan
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Håkansson, J.
    Uppsala University, Sweden.
    Pettersson, P.
    Uppsala University, Sweden.
    SaveCCM: An Analysable Component Model for Real-Time Systems2006In: Electronic Notes in Theoretical Computer Science, E-ISSN 1571-0661, Vol. 160, no 1, p. 127-140Article in journal (Refereed)
    Abstract [en]

    Component based development is a promising approach for embedded systems. Typical for embedded software is the presence of resource constraints in multiple dimensions. An essential dimension is time, since many embedded systems have real-time requirements. We define a formal semantics of a component language for embedded systems, SaveCCM, a language designed with vehicle applications and safety concerns in focus. The semantics is defined by a transformation into timed automata with tasks, a formalism that explicitly models timing and real-time task scheduling. A simple SaveCCM system with a PI controller is used as a case study. Temporal properties of the PI controller have been successfully verified using the timed automata model checker Uppaal.

  • 28.
    Carlson, Jan
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Lednicki, Luka
    Mälardalen University, School of Innovation, Design and Engineering.
    Feasibility of migrating analysis and synthesis mechanisms from ProCom to IEC 614992012Report (Other academic)
    Abstract [en]

    This report presents the initial results from the Assist project at Mälardalen University, funded by the ABB Software Research Grant Program. The project aims to bridge the gap between recent academic research achievements in the area of control- and model based development of embedded systems, and concrete industrial needs and state of practice in this domain. Concretely, the focus of the project is to investigate how novel timing analysis and code synthesis techniques developed in the context of ProCom, an academic component model for embedded systems, can be extended and adapted in order to be applicable to IEC 61499.

  • 29.
    Carlson, Jan
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Lennvall, Tomas
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Fohler, Gerhard
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Enhancing time triggered scheduling with value based overload handling and task migration2003In: Proceedings - 6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, ISORC 2003, 2003, p. 121-128Conference paper (Refereed)
    Abstract [en]

    Time 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.

  • 30.
    Carlson, Jan
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Lisper, Björn
    Mälardalen University, School of Innovation, Design and Engineering.
    A resource-efficient event algebra2010In: Science of Computer Programming, ISSN 0167-6423, E-ISSN 1872-7964, Vol. 75, no 12, p. 1215-1234Article in journal (Refereed)
    Abstract [en]

    Events play many roles in computer systems, ranging from hardware interrupts, over event-based software architecture, to monitoring and managing of complex systems. In many applications, however, individual event occurrences are not the main point of concern, but rather the occurrences of certain event patterns. Such event patterns can be defined by means of an event algebra, i.e., expressions representing the patterns of interest are built from simple events and operators such as disjunction, sequence, etc. We propose a novel event algebra with intuitive operators (a claim which is supported by a number of algebraic properties). We also present an efficient detection algorithm that correctly detects any expression with bounded memory, which makes this algebra particularly suitable for resource-constrained applications such as embedded systems.

  • 31.
    Carlson, Jan
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Mäki-Turja, Jukka
    Mälardalen University, School of Innovation, Design and Engineering.
    Nolin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    Event-Pattern Triggered Real-Time Tasks2008Conference paper (Refereed)
    Abstract [en]

    We present the concept of pattern-triggered tasks which are released when a particular pattern of events occur. A formal event algebra is used to define complex triggering conditions for these tasks, and the detection of triggering conditions is performed within the system by code generated automatically from these definitions. The implementation of the algebra has many desirable features for resource constrained real-time systems, including bounded and low execution time and memory consumption. Furthermore, we present novel schedulability analysis for our pattern-triggered tasks that leverage on existing analysis for fixed-priority and dynamic-priority scheduling policies.

  • 32.
    Carlson, Jan
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Papatheocharous, Efi
    Mälardalen University. Blekinge Institute of Technology, Karlskrona, Sweden.
    Petersen, K.
    Swedish Institute of Computer Science, Kista, Stockholm, Sweden.
    A Context Model for Architectural Decision Support2016In: Proceedings - 2016 1st International Workshop on Decision Making in Software ARCHitecture, MARCH 2016, 2016, p. 9-15Conference paper (Refereed)
    Abstract [en]

    Developing efficient and effective decision making support includes identifying means to reduce repeated manual work and providing possibilities to take advantage of the experience gained in previous decision situations. For this to be possible, there is a need to explicitly model the context of a decision case, for example to determine how much the evidence from one decision case can be trusted in another, similar context. In earlier work, context has been recognized as important when transferring and understanding outcomes between cases. The contribution of this paper is threefold. First, we describe different ways of utilizing context in an envisioned decision support system. Thereby, we distinguish between internal and external context usage, possibilities of context representation, and context inheritance. Second, we present a systematically developed context model comprised of five types of context information, namely organization, product, stakeholder, development method & technology, and market & business. Third, we exemplary illustrate the relation of the context information to architectural decision making using existing literature. 

  • 33.
    Carlson, Jan
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Åkerholm, Mikael
    Mälardalen University.
    An event algebra extension of the triggering mechanism in a component model for embedded systems2005In: Electronic Notes in Theoretical Computer Science, E-ISSN 1571-0661, Vol. 141, no 3, p. 107-121Article in journal (Refereed)
    Abstract [en]

    In this article we present how the component triggering in SaveCCM, a component model intended for embedded vehicular systems, can be extended by means of an event algebra. The extension allows components to be triggered by complex event patterns, and not only by clock signals or single external events. Separating the detection of triggering conditions from the definition of the triggered services permits more general components and thus improves component reusability. Providing event detection mechanisms within the component model means that triggering conditions are explicitly available for system analysis at design time. An event algebra is used to define the complex triggering conditions. This algebra has a relatively simple declarative semantics and well documented algebraic properties, which facilitates formal and informal reasoning about the system. The algebra also ensures that detection of triggering conditions can be efficiently implemented with limited resources, which is critical in embedded applications.

  • 34.
    Cicchetti, Antonio
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Borg, M.
    SICS Swedish Institute of Computer Science, Kista.
    Sentilles, Séverine
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Wnuk, K.
    Blekinge Institute of Technology, Karlskrona, Sweden.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Papatheocharous, Efi
    Mälardalen University.
    Towards Software Assets Origin Selection Supported by a Knowledge Repository2016In: Proceedings - 2016 1st International Workshop on Decision Making in Software ARCHitecture, MARCH 2016, 2016, p. 22-29Conference paper (Refereed)
    Abstract [en]

    Software architecture is no more a mere system specification as resulting from the design phase, but it includes the process by which its specification was carried out. In this respect, design decisions in component-based software engineering play an important role: They are used to enhance the quality of the system, keep the current market level, keep partnership relationships, reduce costs, and so forth. For non trivial systems, a recurring situation is the selection of an asset origin, that is if going for in-house, outsourcing, open-source, or COTS, when in the need of a certain missing functionality. Usually, the decision making process follows a case-by-case approach, in which historical information is largely neglected: hence, it is avoided the overhead of keeping detailed documentation about past decisions, but it is hampered consistency among multiple, possibly related, decisions.The ORION project aims at developing a decision support framework in which historical decision information plays a pivotal role: it is used to analyse current decision scenarios, take well-founded decisions, and store the collected data for future exploitation. In this paper, we outline the potentials of such a knowledge repository, including the information it is intended to be stored in it, and when and how to retrieve it within a decision case. 

  • 35.
    Cicchetti, Antonio
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. IS (Embedded Systems).
    Ciccozzi, Federico
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. IS (Embedded Systems).
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. IS (Embedded Systems).
    Software Evolution Management: Industrial Practices2016In: ME 2016 Models and Evolution: Proceedings of the 10th Workshop on Models and Evolution, Saint Malo, France: CEUR-WS , 2016, p. 8-13Conference paper (Refereed)
  • 36.
    Ciccozzi, Federico
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Pelliccione, Patrizio
    University of Gothenburg, Sweden.
    Tivoli, Massimo
    University of L’Aquila, Italy.
    Editorial to theme issue on model-driven engineering of component-based software systems2017In: Software and Systems Modeling, ISSN 1619-1366, E-ISSN 1619-1374Article in journal (Other academic)
    Abstract [en]

    This theme issue aims at providing a forum for disseminating latest trends in the use and combination of model-driven engineering (MDE) and component-based software engineering (CBSE). One of the main aims of MDE is to increase productivity in the development of complex systems, while reducing the time to market. Regarding CBSE, one of the main goals is to deliver and then support the exploitation of reusable “off-the-shelf” software components to be incorporated into larger applications. An effective interplay of MDE and CBSE can bring benefits to both communities: on the one hand, the CBSE community would benefit from implementation and automation capabilities of MDE, and on the other hand, MDE would benefit from the foundational nature of CBSE. In total, we received 23 submissions to this theme issue, and each submission was reviewed by at least three reviewers. Thanks to the high quality of the submissions that we received, we could eventually accept six papers for publication.

  • 37.
    Ciccozzi, Federico
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, JanMälardalen University, School of Innovation, Design and Engineering, Embedded Systems.Tivoli, MassimoUniversity of L’Aquila, Italy.
    Proceedings of the 1st International Workshop on Model-Driven Engineering for Component-Based Software Systems (ModComp) 20142014Conference proceedings (editor) (Other academic)
  • 38.
    Ciccozzi, Federico
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Feljan, Juraj
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. IS (Embedded Systems).
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Architecture optimization: Speed or accuracy? Both!2018In: Software quality journal, ISSN 0963-9314, E-ISSN 1573-1367, Vol. 26, no 2, p. 661-684Article in journal (Refereed)
    Abstract [en]

    Embedded 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 modelling 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 responsetime).

  • 39.
    Feljan, Juraj
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Task Allocation Optimization for Multicore Embedded Systems2014In: The 40th Euromicro Conference on Software Engineering and Advanced Applications SEAA 2014, 2014, p. 237-244Conference paper (Refereed)
    Abstract [en]

    In many domains of embedded systems, the increasing performance demands are tackled by increasing performance capacity through the use of multicore technology. However, adding more processing units also introduces the issue of task allocation --- decisions have to be made which software task to run on which core in order to best utilize the hardware platform. In this paper, we present an optimization mechanism for allocating tasks to cores of a soft real-time embedded system, that aims to minimize end-to-end response times of task chains, while keeping the number of deadline misses below the desired limit. The optimization relies on a novel heuristic that proposes new allocation candidates based on information how tasks delay each other. The heuristic was evaluated in a series of experiments, which showed that it both finds better allocations, and does it in fewer iterations than two heuristics that we used for comparison.

  • 40.
    Feljan, Juraj
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    The Impact of Intra-core and Inter-core Task Communication on Architectural Analysis of Multicore Embedded Systems2013Conference paper (Refereed)
    Abstract [en]

    In order to get accurate performance predictions, design-time architectural analysis of multicore embedded systems has to consider communication overhead. When communicating tasks execute on the same core, the communication typically happens through the local cache. On the other hand, when they run on separate cores, the communication has to go through the shared memory. As the shared memory has a significantly larger latency than the local cache, we expect a significant difference between intra-core and inter-core task communication. In this paper, we present a series of experiments we ran to identify the size of this difference, and discuss its impact on architectural analysis of multicore embedded systems. In particular, we show that the impact of the difference is much lower than anticipated.

  • 41.
    Feljan, Juraj
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Seceleanu, Tiberiu
    Mälardalen University, School of Innovation, Design and Engineering.
    Towards a model-based approach for allocating tasks to multicore processors2012In: Proceedings - 38th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2012, 2012, p. 117-124Conference paper (Refereed)
    Abstract [en]

    Multicore technology provides a way to improve the performance of embedded systems in response to the demand in many domains for more and more complex functionality. However, increasing the number of processing units also introduces the problem of deciding which task to execute on which core in order to best utilize the platform. In this paper we present a model-based approach for automatic allocation of software tasks to the cores of a soft real-time embedded system, based on design-time performance predictions. We describe a general iterative method for finding an allocation that maximizes key performance aspects while satisfying given allocation constraints, and present an instance of this method, focusing on the particular performance aspects of timeliness and balanced computational load over time and over the cores.

  • 42.
    Feljan, Juraj
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Zagar, Mario
    Mälardalen University, School of Innovation, Design and Engineering.
    Realizing a domain specific component model with JavaBeans2008Conference paper (Refereed)
    Abstract [en]

    SaveCCM is a domain specific component model developed specifically for safety-critical hard real-time embedded systems. The goal of this paper is to extend the scope of SaveCCM to make it usable also outside this narrow domain, as the general concepts behind SaveCCM are applicable as well for embedded systems that have soft or no real-time constraints. We describe the modifications made to SaveCCM in order to adjust it to the wider scope, focusing on defining a new realization mechanism. In its original form, a SaveCCM system is realized by component allocation to real-time tasks, which means that individual components are not observable in the run-time system. We propose realizing SaveCCM by a transformation to JavaBeans, making the advantages of component-based development present also at run-time. This way we also make the executable system more general and portable.

  • 43.
    Feljan, Juraj
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Zagar, Mario
    Mälardalen University, School of Innovation, Design and Engineering.
    Using JavaBeans to Realize a Domain-Specific Component Model2009In: 35th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), 2009, p. 474-477Conference paper (Refereed)
    Abstract [en]

    SaveCCM is a domain-specific component model developed specifically for safety-critical hard real-time embedded systems in the vehicular domain. This paper expands the scope of SaveCCM to make it usable also outside this narrow domain, as the general concepts behind SaveCCM are applicable for a wider range of embedded systems. We describe the extensions made to SaveCCM in order to adjust it to a broader scope, focusing on a new realization mechanism. In its original form, SaveCCM systems are realized by components being grouped and transformed into real-time tasks. We propose an alternative realization of SaveCCM - by transformation to JavaBeans, which makes the executable system more general and portable, and maintains the structure of the component-based design.

  • 44.
    Feljan, Juraj
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Ciccozzi, Federico
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Enhancing model-based architecture optimization with monitored system runs2015In: 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA15, 2015, p. 216-233Conference paper (Refereed)
    Abstract [en]

    Typically, architecture optimization searches for good architecture candidates based on analyzing a model of the system. Model-based analysis inherently relies on abstractions and estimates, and as such produces approximations which are used to compare architecture candidates. However, approximations are often not sufficient due to the difficulty of accurately estimating certain extra-functional properties. In this paper, we present an architecture optimization approach where the speed of model-based optimization is combined with the accuracy of monitored system runs. Model-based optimization is used to quickly find a good architecture candidate, while optimization based on monitored system runs further refines this candidate. Using measurements assures a higher accuracy of the metrics used for optimization compared to using performance predictions. We demonstrate the feasibility of the approach by implementing it in our framework for optimizing the allocation of software tasks to the processing cores of a multicore embedded system.

  • 45.
    Ferko, Enxhi
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Innovation and Product Realisation.
    Bucaioni, Alessio
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Haider, Zulqarnain
    Bomdardier Railway Transportat, Stockholm, Sweden.
    Automatic Generation of Configuration Files: an Experience Report from the Railway Domain2021In: Journal of Object Technology, E-ISSN 1660-1769, Vol. 20, no 3Article in journal (Refereed)
    Abstract [en]

    In recent years, software product line development has been adopted by a growing number of companies. Within software product line development, one way of creating specific products is by using configuration files to control a given set of parameters of the product at run time. Often, configuration files are created manually and this may lead to a sub-optimal process with respect to development effort and error proneness. In this experience report, we describe our work in enabling the automatic generation of configuration files in the railway domain. We discuss a four-step approach whose generation mechanism uses concepts of generative programming. The approach is the outcome of a bottom-up effort leveraging the experiences and the results from our technology transfer activities with our industrial partner, Bombardier Transportation. We evaluate the applicability and the correctness of the proposed approach using the Aventra train family from Bombardier Transportation. Besides, we evaluate the ability of the proposed approach in mitigating the development effort and error proneness typical of traditional manual approaches. We performed expert interviews to assess the industrial relevance of the proposed approach and collect qualitative feedback on the perceived benefits and drawbacks. Eventually, for each of the four steps composing the proposed approach, we identify factors that might affect the adoption of the approach and use these factors for discussing the lessons we have learned.

  • 46.
    Gustavsson, Henrik
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Bilic, Damir
    Mälardalen University, School of Innovation, Design and Engineering, Innovation and Product Realisation.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Enoiu, Eduard Paul
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Success Factors in the Specification of Operational Scenarios - An Industrial Perspective2024In: SysCon 2024 - 18th Annual IEEE International Systems Conference, Proceedings, IEEE, 2024Conference paper (Refereed)
    Abstract [en]

    Requirements elicitation has since long been recognized as critical to the success of requirements engineering, hence also to the success of systems engineering. Achieving sufficient scope and quality in the requirements elicitation process poses a great challenge, given the limited slices of budget and time available for this relatively sizeable activity. Among all predominant requirements elicitation techniques and approaches, operational scenarios development has a special standing and character. The set of operational scenarios is acknowledged as a constituent deliverable in the requirements engineering process, serving many purposes. Hence, ensuring success in the development of operational scenarios constitutes a consequential area of research. In this paper we present the results from an industrial survey on experienced and presumptive success factors in the development of operational scenarios. The survey was done using a strength-based approach, involving engineers and managers in two organizations developing cyber-physical systems in the transportation and construction equipment businesses. Our results suggest that operational scenarios reusability and a collaborative operational scenarios development environment are two prime areas for success. Our study provides two contributions. First, we provide an account of success factors in the view of practitioners. This is fundamental knowledge, since a successful deployment of any state-of-the-art approach and technology in a systems engineering organization needs to take the views of the practitioners into consideration. Second, the study adds input to the body of knowledge on requirements elicitation, and can thereby help generate suggestions on direction for future work by researchers and developers.

  • 47.
    Gustavsson, Henrik
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Enoiu, Eduard Paul
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Model-Based System Engineering Adoption in the Vehicular Systems Domain2022In: 2022 17th Conference on Computer Science and Intelligence Systems (FedCSIS), 2022Conference paper (Refereed)
    Abstract [en]

    As 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.

  • 48.
    Hansson, Hans
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Isovic, Damir
    Mälardalen University, School of Innovation, Design and Engineering.
    Lundqvist, Kristina
    Mälardalen University, School of Innovation, Design and Engineering.
    Nolte, Thomas
    Mälardalen University, School of Innovation, Design and Engineering.
    Ouimet, Martin
    Mälardalen University, School of Innovation, Design and Engineering.
    Pettersson, Paul
    Mälardalen University, School of Innovation, Design and Engineering.
    Punnekkat, Sasikumar
    Mälardalen University, School of Innovation, Design and Engineering.
    Seceleanu, Cristina
    Mälardalen University, School of Innovation, Design and Engineering.
    Real-Time Systems2010Book (Other academic)
    Abstract [en]

    This is a textbook developed for use in the Master Programme Module E-M.6 "Real-Time Systems" as part of the Postgraduate Distance studies organized by Fraunhofer IESE and the Distance and International Studies Center at the Technical University of Kaiserslauten, Germany.

  • 49.
    Hansson, Hans
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Nolte, Thomas
    Mälardalen University, School of Innovation, Design and Engineering.
    Axelsson, Jakob
    Mälardalen University, School of Innovation, Design and Engineering.
    Björkman, Mats
    Mälardalen University, School of Innovation, Design and Engineering.
    Carlson, Jan
    Mälardalen University, School of Innovation, Design and Engineering.
    Crnkovic, Ivica
    Mälardalen University, School of Innovation, Design and Engineering.
    Lisper, Björn
    Mälardalen University, School of Innovation, Design and Engineering.
    Lundqvist, Kristina
    Mälardalen University, School of Innovation, Design and Engineering.
    Norström, Christer
    Mälardalen University, School of Innovation, Design and Engineering.
    Pettersson, Paul
    Mälardalen University, School of Innovation, Design and Engineering.
    Punnekkat, Sasikumar
    Mälardalen University, School of Innovation, Design and Engineering.
    Sjödin, Mikael
    Mälardalen University, School of Innovation, Design and Engineering.
    The PROGRESS Centre for Predictable Embedded Software Systems - Half-time report (edited version)2010Report (Other academic)
    Abstract [en]

    Presentation of the achievements and activities within the PROGRESS national strategic research centre 2006-2008

  • 50.
    Hänninen, Kaj
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Mäki-Turja, Jukka
    Mälardalen University, Department of Computer Science and Electronics.
    Bohlin, Markus
    Mälardalen University, Department of Computer Science and Electronics.
    Carlson, Jan
    Mälardalen University, Department of Computer Science and Electronics.
    Sjödin, Mikael
    Mälardalen University, Department of Computer Science and Electronics.
    Analysing Stack Usage in Preemptive Shared Stack Systems2006Report (Other academic)
    Abstract [en]

    This 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.

123 1 - 50 of 134
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf