mdh.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Alternative names
Publications (10 of 93) Show all publications
Campeanu, G., Carlson, J. & Sentilles, S. (2018). Optimized Realization of Software Components with Flexible OpenCL Functionality. In: 13th International Conference on Evaluation of Novel Approaches to Software Engineering ENASE 2018: . Paper presented at 13th International Conference on Evaluation of Novel Approaches to Software Engineering ENASE 2018, 23 Mar 2018, Madeira, Portugal. Madeira, Portugal
Open this publication in new window or tab >>Optimized Realization of Software Components with Flexible OpenCL Functionality
2018 (English)In: 13th International Conference on Evaluation of Novel Approaches to Software Engineering ENASE 2018, Madeira, Portugal, 2018Conference paper, Published 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.

Place, publisher, year, edition, pages
Madeira, Portugal: , 2018
Keyword
software component, flexible component, GPU, embedded system, CBD, component-based development, component model, OpenCL
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-38648 (URN)
Conference
13th International Conference on Evaluation of Novel Approaches to Software Engineering ENASE 2018, 23 Mar 2018, Madeira, Portugal
Projects
RALF3 - Software for Embedded High Performance Architectures
Available from: 2018-03-02 Created: 2018-03-02 Last updated: 2018-03-02
Campeanu, G., Carlson, J. & Sentilles, S. (2017). Developing CPU-GPU Embedded Systems using Platform-Agnostic Components. In: Proceedings - 43rd Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2017: . Paper presented at 43rd Euromicro Conference on Software Engineering and Advanced Applications SEAA'17, 30 Aug 2017, Vienna, Austria (pp. 176-180). , Article ID 8051345.
Open this publication in new window or tab >>Developing CPU-GPU Embedded Systems using Platform-Agnostic Components
2017 (English)In: Proceedings - 43rd Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2017, 2017, p. 176-180, article id 8051345Conference paper, Published 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.

Keyword
embedded systems, GPU, CBD, component-based development, CPU-GPU embedded systems
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-37012 (URN)10.1109/SEAA.2017.20 (DOI)000426074600026 ()2-s2.0-85034422676 (Scopus ID)9781538621400 (ISBN)
Conference
43rd Euromicro Conference on Software Engineering and Advanced Applications SEAA'17, 30 Aug 2017, Vienna, Austria
Projects
RALF3 - Software for Embedded High Performance Architectures
Available from: 2017-11-27 Created: 2017-11-27 Last updated: 2018-03-15Bibliographically approved
Ciccozzi, F., Carlson, J., Pelliccione, P. & Tivoli, M. (2017). Editorial to theme issue on model-driven engineering of component-based software systems. Software and Systems Modeling
Open this publication in new window or tab >>Editorial to theme issue on model-driven engineering of component-based software systems
2017 (English)In: Software and Systems Modeling, ISSN 1619-1366, E-ISSN 1619-1374Article in journal, Editorial material (Other academic) Published
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.

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-35486 (URN)10.1007/s10270-017-0589-6 (DOI)
Projects
RALF3 - Software for Embedded High Performance ArchitecturesMOMENTUM: analysis of models towards compilation to predictable embedded real-time and safety-critical applications
Available from: 2017-06-12 Created: 2017-06-12 Last updated: 2018-03-27Bibliographically approved
Campeanu, G., Carlson, J. & Sentilles, S. (2017). Flexible Components for Development of Embedded Systems with GPUs. In: 24th Asia-Pacific Software Engineering Conference APSEC 2017: . Paper presented at 24th Asia-Pacific Software Engineering Conference APSEC 2017, 04 Dec 2017, Nanjing, China (pp. 219-228).
Open this publication in new window or tab >>Flexible Components for Development of Embedded Systems with GPUs
2017 (English)In: 24th Asia-Pacific Software Engineering Conference APSEC 2017, 2017, p. 219-228Conference paper, Published 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.

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-37070 (URN)10.1109/APSEC.2017.28 (DOI)000428733800023 ()978-1-5386-3681-7 (ISBN)
Conference
24th Asia-Pacific Software Engineering Conference APSEC 2017, 04 Dec 2017, Nanjing, China
Projects
RALF3 - Software for Embedded High Performance Architectures
Available from: 2017-10-31 Created: 2017-10-31 Last updated: 2018-04-18Bibliographically approved
Razavian, M., Tang, A., van Vliet, H. & Carlson, J. (2017). MARCH 2017: 2nd International Workshop on Decision Making in Software Architecture. In: 2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE WORKSHOPS (ICSAW): . Paper presented at IEEE International Conference on Software Architecture (ICSA), APR 03-07, 2017, Gothenburg, SWEDEN (pp. 128-128). IEEE
Open this publication in new window or tab >>MARCH 2017: 2nd International Workshop on Decision Making in Software Architecture
2017 (English)In: 2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE WORKSHOPS (ICSAW), IEEE , 2017, p. 128-128Conference paper, Published paper (Other academic)
Place, publisher, year, edition, pages
IEEE, 2017
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-37197 (URN)10.1109/ICSAW.2017.62 (DOI)000413089000023 ()2-s2.0-85025627501 (Scopus ID)978-1-5090-4793-2 (ISBN)
Conference
IEEE International Conference on Software Architecture (ICSA), APR 03-07, 2017, Gothenburg, SWEDEN
Available from: 2017-11-07 Created: 2017-11-07 Last updated: 2018-01-24Bibliographically approved
Papatheocharous, E., Petersen, K., Axelsson, J., Wohlin, C., Carlson, J., Ciccozzi, F., . . . Cicchetti, A. (2017). The GRADE Decision Canvas for Classification and Reflection on Architecture Decisions. In: 12th International Conference on Evaluation of Novel Approaches to Software Engineering ENASE17: . Paper presented at 12th International Conference on Evaluation of Novel Approaches to Software Engineering ENASE17, 28 Apr 2017, Porto, Portugal (pp. 187-194).
Open this publication in new window or tab >>The GRADE Decision Canvas for Classification and Reflection on Architecture Decisions
Show others...
2017 (English)In: 12th International Conference on Evaluation of Novel Approaches to Software Engineering ENASE17, 2017, p. 187-194Conference paper, Published paper (Refereed)
Abstract [en]

This paper introduces a decision canvas for capturing architecture decisions in software and systems engineer- ing. The canvas leverages a dedicated taxonomy, denoted GRADE, meant for establishing the basics of the vocabulary for assessing and choosing architectural assets in the development of software-intensive systems. The canvas serves as a template for practitioners to discuss and document architecture decisions, i.e., capture, understand and communicate decisions among decision-makers and to others. It also serves as a way to re- flect on past decision-making activities devoted to both tentative and concluding decisions in the development of software-intensive systems. The canvas has been assessed by means of preliminary internal and external evaluations with four scenarios. The results are promising as the canvas fulfills its intended objectives while satisfying most of the needs of the subjects participating in the evaluation.

Keyword
Software engineering, architecture knowledge, decision documentation, decision canvas, decision template
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-35496 (URN)2-s2.0-85025451151 (Scopus ID)9789897582509 (ISBN)
Conference
12th International Conference on Evaluation of Novel Approaches to Software Engineering ENASE17, 28 Apr 2017, Porto, Portugal
Projects
ORION - Decision Support for Component-Based Software Engineering of Cyber-Physical Systems
Available from: 2017-06-09 Created: 2017-06-09 Last updated: 2017-08-10Bibliographically approved
Markovic, F., Carlson, J. & Dobrin, R. (2017). Tightening the Bounds on Cache-Related Preemption Delay in Fixed Preemption Point Scheduling. In: OpenAccess Series in Informatics: . Paper presented at 17th International Workshop on Worst-Case Execution Time Analysis WCET 2017, 27 Jun 2017, Dubrovnik, Croatia (pp. 41-411). , 57
Open this publication in new window or tab >>Tightening the Bounds on Cache-Related Preemption Delay in Fixed Preemption Point Scheduling
2017 (English)In: OpenAccess Series in Informatics, 2017, Vol. 57, p. 41-411Conference paper, Published paper (Refereed)
Abstract [en]

Limited Preemptive Fixed Preemption Point scheduling (LP-FPP) has the ability to decrease and control the preemption-related overheads in the real-time task systems, compared to other limited or fully preemptive scheduling approaches. However, existing methods for computing the preemption overheads in LP-FPP systems rely on over-approximation of the evicting cache blocks (ECB) calculations, potentially leading to pessimistic schedulability analysis. In this paper, we propose a novel method for preemption cost calculation that exploits the benefits of the LP-FPP task model both at the scheduling and cache analysis level. The method identifies certain infeasible preemption combinations, based on analysis on the scheduling level, and combines it with cache analysis information into a constraint problem from which less pessimistic upper bounds on cache-related preemption delays (CRPD) can be derived. The evaluation results indicate that our proposed method has the potential to significantly reduce the upper bound on CRPD, by up to 50% in our experiments, compared to the existing over-approximating calculations of the eviction scenarios.

Keyword
Real-time systems, CRPD Analysis, WCET analysis, Limited Preemptive Scheduling, Fixed Preemption Point Approach
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-37013 (URN)10.4230/OASIcs.WCET.2017.4 (DOI)2-s2.0-85037724726 (Scopus ID)9783959770576 (ISBN)
Conference
17th International Workshop on Worst-Case Execution Time Analysis WCET 2017, 27 Jun 2017, Dubrovnik, Croatia
Available from: 2017-11-27 Created: 2017-11-27 Last updated: 2017-12-28Bibliographically approved
Axelsson, J., Franke, U., Carlson, J., Sentilles, S. & Cicchetti, A. (2017). Towards the Architecture of a Decision Support Ecosystem for System Component Selection. In: 11th Annual IEEE International Systems conference SysCon17: . Paper presented at 11th Annual IEEE International Systems conference SysCon17, 24-27 Apr 2017, Montreal, Quebec, Canada (pp. 371-377).
Open this publication in new window or tab >>Towards the Architecture of a Decision Support Ecosystem for System Component Selection
Show others...
2017 (English)In: 11th Annual IEEE International Systems conference SysCon17, 2017, p. 371-377Conference paper, Published 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.

Keyword
Software ecosystems, software architecture, decision support systems, software components, system-of-systems
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-35498 (URN)10.1109/SYSCON.2017.7934757 (DOI)000403403400052 ()2-s2.0-85021440237 (Scopus ID)978-1-5090-4623-2 (ISBN)
Conference
11th Annual IEEE International Systems conference SysCon17, 24-27 Apr 2017, Montreal, Quebec, Canada
Projects
ORION - Decision Support for Component-Based Software Engineering of Cyber-Physical Systems
Available from: 2017-06-09 Created: 2017-06-09 Last updated: 2017-07-12Bibliographically approved
Carlson, J., Papatheocharous, E. & Petersen, K. (2016). A Context Model for Architectural Decision Support. In: Proceedings - 2016 1st International Workshop on Decision Making in Software ARCHitecture, MARCH 2016: . Paper presented at 1st International Workshop on Decision Making in Software ARCHitecture, MARCH 2016, 5 April 2016 (pp. 9-15).
Open this publication in new window or tab >>A Context Model for Architectural Decision Support
2016 (English)In: Proceedings - 2016 1st International Workshop on Decision Making in Software ARCHitecture, MARCH 2016, 2016, p. 9-15Conference paper, Published 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. 

Keyword
Architectural decision support, Context modelling, Artificial intelligence, Decision making, Semantics, Software architecture, Architectural decision, Architectural decision makings, Context information, Context representation, Decision making support, Decision situation, Development method, Decision support systems
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-32526 (URN)10.1109/MARCH.2016.6 (DOI)000382526100002 ()2-s2.0-84979516903 (Scopus ID)9781509025732 (ISBN)
Conference
1st International Workshop on Decision Making in Software ARCHitecture, MARCH 2016, 5 April 2016
Available from: 2016-08-18 Created: 2016-08-18 Last updated: 2018-01-03Bibliographically approved
Campeanu, G., Carlson, J., Séntilles, S. & Mubeen, S. (2016). Extending the Rubus Component Model with GPU-Aware Components. In: Proceedings - 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016: . Paper presented at 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 5 April 2016 through 8 April 2016 (pp. 59-68).
Open this publication in new window or tab >>Extending the Rubus Component Model with GPU-Aware Components
2016 (English)In: Proceedings - 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 2016, p. 59-68Conference paper, Published 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.

Keyword
component-based development, embedded systems, GPU adapter, GPU component, GPU port, GPU-aware, Rubus, Computer software reusability, Program processors, Reusability, Software engineering
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-32915 (URN)10.1109/CBSE.2016.13 (DOI)000390946500008 ()2-s2.0-84981505068 (Scopus ID)9781509025695 (ISBN)
Conference
19th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2016, 5 April 2016 through 8 April 2016
Available from: 2016-08-25 Created: 2016-08-25 Last updated: 2017-01-26Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-8461-0230

Search in DiVA

Show all publications