mdh.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 20) Show all publications
Feljan, J., Karapantelakis, A., Mokrushin, L., Inam, R., Fersman, E., Azevedo, C. R., . . . Souza, R. S. (2017). Tackling IoT complexity. Ericsson review (English ed.), 95(2), 60-69
Open this publication in new window or tab >>Tackling IoT complexity
Show others...
2017 (English)In: Ericsson review (English ed.), ISSN 0014-0171, Vol. 95, no 2, p. 60-69Article in journal (Refereed) Published
Abstract [en]

Internet of Things (IoT) applications transcend traditional telecom to include enterprise verticals such as transportation, healthcare, agriculture, energy and utilities. Given the vast number of devices and heterogeneity of the applications, both ICT infrastructure and IoT application providers face unprecedented complexity challenges in terms of volume, privacy, interoperability and intelligence. Cognitive automation will be crucial to overcoming the intelligence challenge.

National Category
Communication Systems
Identifiers
urn:nbn:se:mdh:diva-37191 (URN)2-s2.0-85031681762 (Scopus ID)
Available from: 2017-11-02 Created: 2017-11-02 Last updated: 2017-11-02Bibliographically approved
Feljan, J., Ciccozzi, F., Carlson, J. & Crnkovic, I. (2015). Enhancing model-based architecture optimization with monitored system runs. In: 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA15: . Paper presented at 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA15, 26 Aug 2015, Funchal, Portugal (pp. 216-233).
Open this publication in new window or tab >>Enhancing model-based architecture optimization with monitored system runs
2015 (English)In: 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA15, 2015, p. 216-233Conference paper, Published 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.

Keywords
architecture optimization, model-based analysis, model simulation, monitored system execution, embedded systems, multicore, task allocation, performance, end-to-end response time
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-28162 (URN)10.1109/SEAA.2015.14 (DOI)000380478300031 ()2-s2.0-84958260528 (Scopus ID)978-1-4673-7585-6 (ISBN)
External cooperation:
Conference
41st Euromicro Conference on Software Engineering and Advanced Applications SEAA15, 26 Aug 2015, Funchal, Portugal
Projects
RALF3 - Software for Embedded High Performance ArchitecturesSMARTCore: Model-driven support for deployment optimization of embedded systems on multicoreORION - Decision Support for Component-Based Software Engineering of Cyber-Physical Systems
Available from: 2015-06-12 Created: 2015-06-08 Last updated: 2016-09-01Bibliographically approved
Bosnic, I., Ciccozzi, F., Cavrak, I., Di Nitto, E., Feljan, J. & Mirandola, R. (2015). Introducing SCRUM into a Distributed Software Development Course. In: Workshop on Enhancing Software Engineering Education WESEE2015: . Paper presented at ECSAW ’15, September 07 - 11, 2015, Dubrovnik/Cavtat, Croatia. Dubrovnik, Croatia
Open this publication in new window or tab >>Introducing SCRUM into a Distributed Software Development Course
Show others...
2015 (English)In: Workshop on Enhancing Software Engineering Education WESEE2015, Dubrovnik, Croatia, 2015Conference paper, Published paper (Refereed)
Abstract [en]

The growing enactment of Global Software Engineering in industry has triggered educational institutions to perceive the importance of preparing students for distributed software development. During the last twelve years we have disclosed advantages and pitfalls of GSE to our students through our Distributed Software Development course. After running the projects according to the iterative process model for eleven years, we decided to shift to an agile development model, SCRUM. This decision was due to the growing industrial adoption of agile methods, but more importantly to increase proactiveness, sense of responsibility, and to balance the workload among the project team members. In this paper we describe the process and outcomes of our first attempt at introducing SCRUM in our distributed course.

Place, publisher, year, edition, pages
Dubrovnik, Croatia: , 2015
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-29642 (URN)10.1145/2797433.2797469 (DOI)2-s2.0-84958536298 (Scopus ID)978-1-4503-3393-1 (ISBN)
Conference
ECSAW ’15, September 07 - 11, 2015, Dubrovnik/Cavtat, Croatia
Available from: 2015-12-10 Created: 2015-11-26 Last updated: 2016-03-03Bibliographically approved
Feljan, J. (2015). Task Allocation Optimization for Multicore Embedded Systems. (Doctoral dissertation). Västerås: Mälardalen University
Open this publication in new window or tab >>Task Allocation Optimization for Multicore Embedded Systems
2015 (English)Doctoral thesis, monograph (Other academic)
Abstract [en]

Modern embedded systems are becoming increasingly performance intensive, since, on the one hand, they include more complex functionality than before, and one the other hand, the functionality that was typically realized with hardware is often moved to software. Multicore technology, previously successfully used for general-purpose systems, is penetrating into the domain of embedded systems. While it does increase the performance capacity, it also introduces the problem of how to allocate software tasks to the cores of the hardware platform, as different allocations exhibit different extra-functional properties. An intuitive example is allocating too many tasks to a core --- the core will be overloaded and tasks will miss their deadlines.

This thesis addresses the issue of task allocation in multicore embedded systems. The overall goal of the thesis is to advance the way soft real-time multicore systems are developed, by providing new methods and tools that enable deciding already at design-time which task to run on which core, with respect to a number of timing-related extra-functional properties. To achieve this goal, we developed a model-based framework for task allocation optimization. The framework uses model simulation in order to obtain performance predictions for particular task allocations. This in turn enables testing a large number of allocation candidates in search for one that exhibits good timing-related performance. Apart from defining and implementing the framework, three additional contributions are provided, each tackling a particular aspect of the framework: the influence of task allocation on communication duration is studied and interpreted in the context of design-time model-based analysis; a novel heuristic for guiding task allocation optimization is defined; and finally, a novel optimization method combining performance prediction and performance measurement is defined.

Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2015
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 192
National Category
Embedded Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-29407 (URN)978-91-7485-241-7 (ISBN)
Public defence
2015-12-18, Kappa, Mälardalens högskola, Västerås, 14:15 (English)
Opponent
Supervisors
Available from: 2015-10-28 Created: 2015-10-27 Last updated: 2015-11-13Bibliographically approved
Feljan, J. & Carlson, J. (2014). Task Allocation Optimization for Multicore Embedded Systems. In: The 40th Euromicro Conference on Software Engineering and Advanced Applications SEAA 2014: . Paper presented at The 40th Euromicro Conference on Software Engineering and Advanced Applications SEAA 2014, 27-29 Aug 2014, Verona, Italy (pp. 237-244).
Open this publication in new window or tab >>Task Allocation Optimization for Multicore Embedded Systems
2014 (English)In: The 40th Euromicro Conference on Software Engineering and Advanced Applications SEAA 2014, 2014, p. 237-244Conference paper, Published 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.

Keywords
architecture optimization, heuristic, task allocation, embedded systems, multicore, soft real-time, model-based development
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-26440 (URN)10.1109/SEAA.2014.22 (DOI)000358153200036 ()2-s2.0-84916620240 (Scopus ID)
Conference
The 40th Euromicro Conference on Software Engineering and Advanced Applications SEAA 2014, 27-29 Aug 2014, Verona, Italy
Projects
RALF3 - Software for Embedded High Performance Architectures
Available from: 2014-11-01 Created: 2014-10-31 Last updated: 2015-12-29Bibliographically approved
Filipovikj, P., Feljan, J. & Crnkovic, I. (2013). Ten Tips to Succeed in Global Software Engineering Education: What Do the Students Say?. In: Software Engineering (ICSE), 2013 35th International Conference on: . Paper presented at 3rd International Workshop on Collaborative Teaching of Globally Distributed Software Development (CTGDSD), MAY 25, 2013, San Francisco, CA (pp. 20-24).
Open this publication in new window or tab >>Ten Tips to Succeed in Global Software Engineering Education: What Do the Students Say?
2013 (English)In: Software Engineering (ICSE), 2013 35th International Conference on, 2013, p. 20-24Conference paper, Published paper (Refereed)
Abstract [en]

When a project had followed advices from the best practices, we can raise a question whether the success (or failure) of the project came from following (or not following) the best practices, or whether there were additional reasons that led to the positive (or negative) outcome. In this paper we analyze a case of a student project performed as a part of our Distributed Software Development course. The project followed the advices from the "Ten Tips to Succeed in Global Software Engineering Education" publication. This paper analyzes the project work with respect to the advices. Focusing on the perspective of a student participating in the project, the paper tries to answer whether following the advices is sufficient for a positive project outcome.

Keywords
Distributed software development, education
National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-25665 (URN)000337292700005 ()978-1-4673-3073-2 (ISBN)
Conference
3rd International Workshop on Collaborative Teaching of Globally Distributed Software Development (CTGDSD), MAY 25, 2013, San Francisco, CA
Available from: 2014-07-14 Created: 2014-07-14 Last updated: 2015-02-03Bibliographically approved
Ahlberg, C., Asplund, L., Campeanu, G., Ciccozzi, F., Ekstrand, F., Ekström, M., . . . Segerblad, E. (2013). The Black Pearl: An Autonomous Underwater Vehicle.
Open this publication in new window or tab >>The Black Pearl: An Autonomous Underwater Vehicle
Show others...
2013 (English)Report (Other academic)
Abstract [en]

The Black Pearl is a custom made autonomous underwater vehicle developed at Mälardalen University, Sweden. It is built in a modular fashion, including its mechanics, electronics and software. After a successful participation at the RoboSub competition in 2012 and winning the prize for best craftsmanship, this year we made minor improvements to the hardware, while the focus of the robot's evolution shifted to the software part. In this paper we give an overview of how the Black Pearl is built, both from the hardware and software point of view.

Keywords
under water robotembedded systems
National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-25159 (URN)
Projects
RALF3 - Software for Embedded High Performance Architectures
Note

Published as part of the AUVSI Foundation and ONR's 16th International RoboSub Competition, San Diego, CA

Available from: 2014-06-05 Created: 2014-06-05 Last updated: 2014-09-26Bibliographically approved
Feljan, J. & Carlson, J. (2013). The Impact of Intra-core and Inter-core Task Communication on Architectural Analysis of Multicore Embedded Systems. In: : . Paper presented at The Eighth International Conference on Software Engineering Advances, ICSEA 2013, October 27 - November 1, 2013 - Venice, Italy (pp. 402-407).
Open this publication in new window or tab >>The Impact of Intra-core and Inter-core Task Communication on Architectural Analysis of Multicore Embedded Systems
2013 (English)Conference paper, Published 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.

Keywords
software architecture, model-based analysis, multicore embedded systems, task communication, measurement, cache
National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-21418 (URN)978-1-61208-304-9 (ISBN)
Conference
The Eighth International Conference on Software Engineering Advances, ICSEA 2013, October 27 - November 1, 2013 - Venice, Italy
Projects
CONTESSE - Contract-Based Components for Embedded SoftwareRALF3 - Software for Embedded High Performance Architectures
Available from: 2013-09-11 Created: 2013-09-11 Last updated: 2014-02-06Bibliographically approved
Zagar, M., Crnkovic, I., Stipanicev, D., Stula, M., Feljan, J., Lednicki, L., . . . Petricic, A. (2012). DICES: Distributed Component-based Embedded Software Systems. In: Ziljak, V (Ed.), ANNUAL 2010/2011 OF THE CROATIAN ACADEMY OF ENGINEERING: . Paper presented at Annual Meeting of the Croatian-Academy-of-Engineering - 2010/2011, 2010, Zagreb, CROATIA (pp. 154-167). CROATIAN ACADEMY ENGINEERING
Open this publication in new window or tab >>DICES: Distributed Component-based Embedded Software Systems
Show others...
2012 (English)In: ANNUAL 2010/2011 OF THE CROATIAN ACADEMY OF ENGINEERING / [ed] Ziljak, V, CROATIAN ACADEMY ENGINEERING , 2012, p. 154-167Conference paper, Published paper (Refereed)
Abstract [en]

This article gives a short overview of the contribution of DICES project. The goal of the project is to advance theories and technologies used in development of distributed embedded systems. Three examples of the contributions are presented: a) reverse engineering of web based applications, design extraction and extraction of reusable user-interface controls, b) a fretwork for building systems that use UPnP devices and treat them as components in the same way as software components, and c) PRIDE - development environment for designing, modeling and developing embedded systems, based on ProCom technology.

Place, publisher, year, edition, pages
CROATIAN ACADEMY ENGINEERING, 2012
Series
Annual of the Croatian Academy of Engineering, ISSN 1332-3482
Keywords
Software components, embedded systems, web-based applications, reverse engineering
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-40484 (URN)000393850000011 ()
Conference
Annual Meeting of the Croatian-Academy-of-Engineering - 2010/2011, 2010, Zagreb, CROATIA
Available from: 2018-08-22 Created: 2018-08-22 Last updated: 2018-08-22Bibliographically approved
Feljan, J., Crnkovic, I., Bosnic, I., Orlic, M. & Zagar, M. (2012). Distributed Software Development Course: Students’ and Teachers’ Perspectives. In: 2012 2nd International Workshop on Collaborative Teaching of Globally Distributed Software Development, CTGDSD 2012 - Proceedings: . Paper presented at 2012 2nd International Workshop on Collaborative Teaching of Globally Distributed Software Development, CTGDSD 2012; Zurich;9 June 2012 through 9 June (pp. 16-20).
Open this publication in new window or tab >>Distributed Software Development Course: Students’ and Teachers’ Perspectives
Show others...
2012 (English)In: 2012 2nd International Workshop on Collaborative Teaching of Globally Distributed Software Development, CTGDSD 2012 - Proceedings, 2012, p. 16-20Conference paper, Published paper (Refereed)
Abstract [en]

Students and teachers do not necessarily have the same understanding of a course – of the purpose, the objective, and in particular of the course elements – the way the course is performed, the examination procedure, and similar. In distributed-development courses, in which students and teachers are dispersed over different locations, this difference can be larger than in “ordinary” courses, but also less visible, due to limited communication. In this paper we discuss these different perspectives, their rationales, possible consequences on the course performance and on the result, as well as lessons learned from students’ feedback.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-17248 (URN)10.1109/CTGDSD.2012.6226943 (DOI)2-s2.0-84864240199 (Scopus ID)978-146731818-1 (ISBN)
Conference
2012 2nd International Workshop on Collaborative Teaching of Globally Distributed Software Development, CTGDSD 2012; Zurich;9 June 2012 through 9 June
Available from: 2012-12-20 Created: 2012-12-20 Last updated: 2013-12-03Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-8486-5110

Search in DiVA

Show all publications