uu.seUppsala University Publications
Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 49) Show all publications
Varagnolo, D., Knorn, S., Staffas, K., Fjällström, E. & Wrigstad, T. (2020). Graph-theoretic approaches and tools for quantitatively assessing curricula coherence. European Journal of Engineering Education
Open this publication in new window or tab >>Graph-theoretic approaches and tools for quantitatively assessing curricula coherence
Show others...
2020 (English)In: European Journal of Engineering Education, ISSN 0304-3797, E-ISSN 1469-5898Article in journal (Refereed) Published
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Research subject
Electrical Engineering with specialization in Signal Processing
Identifiers
urn:nbn:se:uu:diva-403729 (URN)10.1080/03043797.2019.1710465 (DOI)
Available from: 2020-02-03 Created: 2020-02-03 Last updated: 2020-02-05Bibliographically approved
Fjällstrom, E., Forsberg, C., Trulsson, F., Knorn, S., Staffas, K., Varagnolo, D. & Wrigstad, T. (2019). Courses-Concepts-Graphs as a Tool to Measure the Importance of Concepts in University Programmes. In: 2019 18th European Control Conference (ECC): . Paper presented at 18th European Control Conference (ECC), Naples, Italy, June 25-28, 2019 (pp. 3076-3083). IEEE
Open this publication in new window or tab >>Courses-Concepts-Graphs as a Tool to Measure the Importance of Concepts in University Programmes
Show others...
2019 (English)In: 2019 18th European Control Conference (ECC), IEEE, 2019, p. 3076-3083Conference paper, Published paper (Refereed)
Abstract [en]

This paper investigates methods for quantitatively assessing the importance and relative importance of concepts taught in a university program. This assessment has many uses, e.g., to aid program design and inventory, and for communicating what concepts a course may rely on at a given point in the program. We propose to perform this quantitative assessment in two steps: first, representing the university program as an opportune graph with courses and concepts as nodes and connections between courses and concepts as edges; second, by quantitatively defining each concept's importance as its centrality as a node within the network. We thus perform two investigations, both leveraging a practical case - data collected from two engineering programs at two Swedish university: a) how to represent university programs in terms of graphs (here called Courses-Concepts Graph (CCG)), and b) how to reinterpret the most classical graph-theoretical node centrality indexes in the pedagogical term of concept centrality index.

Place, publisher, year, edition, pages
IEEE, 2019
Keywords
Courses Concepts Matrix, Courses Concepts Graph, University Program Design, Centrality Indexes
National Category
Computer Sciences Engineering and Technology
Identifiers
urn:nbn:se:uu:diva-396477 (URN)10.23919/ECC.2019.8795910 (DOI)000490488303018 ()978-3-907144-00-8 (ISBN)
Conference
18th European Control Conference (ECC), Naples, Italy, June 25-28, 2019
Funder
Luleå University of Technology
Available from: 2019-11-11 Created: 2019-11-11 Last updated: 2020-01-08Bibliographically approved
Fernandez-Reyes, K., Clarke, D., Henrio, L., Johnsen, E. B. & Wrigstad, T. (2019). Godot: All the Benefits of Implicit and Explicit Futures. In: 33rd European Conference on Object-Oriented Programming (ECOOP 2019): . Paper presented at 33rd European Conference on Object-Oriented Programming (ECOOP 2019), London, UK, 15-19 july 2019.
Open this publication in new window or tab >>Godot: All the Benefits of Implicit and Explicit Futures
Show others...
2019 (English)In: 33rd European Conference on Object-Oriented Programming (ECOOP 2019), 2019Conference paper, Published paper (Refereed)
Abstract [en]

Concurrent programs often make use of futures, handles to the results of asynchronous operations. Futures provide means to communicate not yet computed results, and simplify the implementation of operations that synchronise on the result of such asynchronous operations. Futures can be characterised as implicit or explicit, depending on the typing discipline used to type them. Current future implementations suffer from "future proliferation", either at the type-level or at run-time. The former adds future type wrappers, which hinders subtype polymorphism and exposes the client to the internal asynchronous communication architecture. The latter increases latency, by traversing nested future structures at run-time. Many languages suffer both kinds. Previous work offer partial solutions to the future proliferation problems; in this paper we show how these solutions can be integrated in an elegant and coherent way, which is more expressive than either system in isolation. We describe our proposal formally, and state and prove its key properties, in two related calculi, based on the two possible families of future constructs (data-flow futures and control-flow futures). The former relies on static type information to avoid unwanted future creation, and the latter uses an algebraic data type with dynamic checks. We also discuss how to implement our new system efficiently.

Series
Leibniz International Proceedings in Informatics (LIPIcs), ISSN 1868-8969 ; 134
National Category
Computer Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-396199 (URN)10.4230/LIPIcs.ECOOP.2019.2 (DOI)978-3-95977-111-5 (ISBN)
Conference
33rd European Conference on Object-Oriented Programming (ECOOP 2019), London, UK, 15-19 july 2019
Available from: 2019-10-31 Created: 2019-10-31 Last updated: 2019-11-11Bibliographically approved
Källén, M. & Wrigstad, T. (2019). Performance of an OO compute kernel on the JVM: Revisiting Java as a language for scientific computing applications. In: Proc. 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes: . Paper presented at MPLR 2019 (pp. 144-156). New York: ACM Press
Open this publication in new window or tab >>Performance of an OO compute kernel on the JVM: Revisiting Java as a language for scientific computing applications
2019 (English)In: Proc. 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, New York: ACM Press, 2019, p. 144-156Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
New York: ACM Press, 2019
National Category
Software Engineering Computational Mathematics
Identifiers
urn:nbn:se:uu:diva-396391 (URN)10.1145/3357390.3361026 (DOI)978-1-4503-6977-0 (ISBN)
Conference
MPLR 2019
Available from: 2019-10-21 Created: 2019-11-04 Last updated: 2019-11-12Bibliographically approved
Källén, M. & Wrigstad, T. (2019). Performance of an OO compute kernel on the JVM: Revisiting Java as a language for scientific computing applications (extended version).
Open this publication in new window or tab >>Performance of an OO compute kernel on the JVM: Revisiting Java as a language for scientific computing applications (extended version)
2019 (English)Report (Other academic)
Series
Technical report / Department of Information Technology, Uppsala University, ISSN 1404-3203 ; 2019-007
National Category
Software Engineering Computational Mathematics
Identifiers
urn:nbn:se:uu:diva-396931 (URN)
Available from: 2019-11-04 Created: 2019-11-12 Last updated: 2019-11-12Bibliographically approved
Knorn, S., Varagnolo, D., Staffas, K., Wrigstad, T. & Fjällstrom, E. (2019). Quantitative analysis of curricula coherence using directed graphs. Paper presented at 12th IFAC Symposium on Advances in Control Education (ACE), JUL 07-09, 2019, Philadelphia, PA. IFAC-PapersOnLine, 52(9), 318-323
Open this publication in new window or tab >>Quantitative analysis of curricula coherence using directed graphs
Show others...
2019 (English)In: IFAC-PapersOnLine, E-ISSN 2405-8963, Vol. 52, no 9, p. 318-323Article in journal (Refereed) Published
Abstract [en]

This paper investigates methods for quantitatively examining the connectivity and knowledge flow in a university program considering courses and concepts included in the program. The proposed method is expected to be useful to aid program design and inventory, and for communicating what concepts a course may rely on at a given point in the program. As a first step, we represent the university program as a directed graph with courses and concepts as nodes and connections between courses and concepts as directed edges. Then, we investigate the connectivity and the flow through the graph in order to gain insights into the structure of the program. We thus perform two investigations based on data collected from an engineering program at a Swedish university: a) how to represent (parts of) the university program as a graph (here called Directed Courses-Concepts Graph (DCCG)), and b) how to use graph theory tools to analyse the coherence and structure of the program.

Place, publisher, year, edition, pages
ELSEVIER, 2019
Keywords
Courses Concepts Matrix (CCM), Courses Concepts Graph (CCG), university program design, graph theory, connectivity, max flow-min cut
National Category
Discrete Mathematics Engineering and Technology
Identifiers
urn:nbn:se:uu:diva-395367 (URN)10.1016/j.ifacol.2019.08.227 (DOI)000485262600056 ()
Conference
12th IFAC Symposium on Advances in Control Education (ACE), JUL 07-09, 2019, Philadelphia, PA
Available from: 2019-10-17 Created: 2019-10-17 Last updated: 2020-01-08Bibliographically approved
Blessing, S., Fernandez-Reyes, K., Yang, A. M., Drossopoulou, S. & Wrigstad, T. (2019). Run, Actor, Run: Towards Cross-Actor Language Benchmarking. In: AGERE 2019 Proceedings of the 9th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control: . Paper presented at 9th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, Athens, Greece, October 22 - 22, 2019 (pp. 41-50).
Open this publication in new window or tab >>Run, Actor, Run: Towards Cross-Actor Language Benchmarking
Show others...
2019 (English)In: AGERE 2019 Proceedings of the 9th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, 2019, p. 41-50Conference paper, Published paper (Refereed)
Abstract [en]

The actor paradigm supports the natural expression of concurrency. It has inspired the development of several actor-based languages, whose adoption depends, to a large extent, on the runtime characteristics ( the performance and scaling behaviour) of programs written in these languages.

This paper investigates the relative runtime characteristics of Akka, CAF and Pony, based on the Savina benchmarks. We observe that the scaling of many of the Savina benchmarks does not reflect their categorization (into essentially sequential, concurrent and parallel), that many programs have similar runtime characteristics, and that their runtime behaviour may drastically change nature ( go from essentially sequential to parallel) by tweaking some parameters.

These observations lead to our proposal of a single benchmark program which we designed so that through tweaking of some knobs (we hope) we can simulate most of the programs of the Savina suite.

National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:uu:diva-398048 (URN)10.1145/3358499.3361224 (DOI)978-1-4503-6982-4 (ISBN)
Conference
9th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, Athens, Greece, October 22 - 22, 2019
Available from: 2019-11-30 Created: 2019-11-30 Last updated: 2019-12-09Bibliographically approved
Castegren, E., Clarke, D., Fernandez-Reyes, K., Wrigstad, T. & Yang, A. M. (2018). Attached and Detached Closures in Actors. In: Proceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control: . Paper presented at AGERE'18 (8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control), Boston, MA, USA, November 05, 2018 (pp. 54-61). ACM Digital Library
Open this publication in new window or tab >>Attached and Detached Closures in Actors
Show others...
2018 (English)In: Proceedings of the 8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control, ACM Digital Library, 2018, p. 54-61Conference paper, Published paper (Refereed)
Abstract [en]

Expressive actor models combine aspects of functional programming into the pure actor model enriched with futures. Such functional features include first-class closures which can be passed between actors and chained on futures. Combined with mutable objects, this opens the door to race conditions. In some situations, closures may not be evaluated by the actor that created them yet may access fields or objects owned by that actor. In other situations, closures may be safely fired off to run as a separate task.

This paper discusses the problem of who can safely evaluate a closure to avoid race conditions, and presents the current solution to the problem adopted by the Encore language. The solution integrates with Encore's capability type system, which influences whether a closure is attached and must be evaluated by the creating actor, or whether it can be detached and evaluated independently of its creator.

Encore's current solution to this problem is not final or optimal. We conclude by discussing a number of open problems related to dealing with closures in the actor model.

Place, publisher, year, edition, pages
ACM Digital Library, 2018
Keywords
closures, parallel programming, concurrent programming, type systems
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-367318 (URN)10.1145/3281366.3281371 (DOI)000458146800006 ()978-1-4503-6066-1 (ISBN)
Conference
AGERE'18 (8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control), Boston, MA, USA, November 05, 2018
Funder
Swedish Research Council, 2012-4967Swedish Research Council, 2014-05545
Available from: 2018-11-29 Created: 2018-11-29 Last updated: 2019-12-13Bibliographically approved
Castegren, E., Wallin, J. & Wrigstad, T. (2018). Bestow and Atomic: Concurrent programming using isolation, delegation and grouping. The Journal of logical and algebraic methods in programming, 100, 130-151
Open this publication in new window or tab >>Bestow and Atomic: Concurrent programming using isolation, delegation and grouping
2018 (English)In: The Journal of logical and algebraic methods in programming, ISSN 2352-2208, E-ISSN 2352-2216, Vol. 100, p. 130-151Article in journal (Refereed) Published
Abstract [en]

Any non-trivial concurrent system warrants synchronisation, regardless of the concurrency model. Actor-based concurrency serialises all computations in an actor through asynchronous message passing. In contrast, lock-based concurrency serialises some computations by following a lock-unlock protocol for accessing certain data. Both systems require sound reasoning about pointers and aliasing to exclude data-races. If actor isolation is broken, so is the single-thread-of-control abstraction. Similarly for locks, if a datum is accessible outside of the scope of the lock, the datum is not governed by the lock. In this paper we discuss how to balance aliasing and synchronisation. In previous work, we defined a type system that guarantees data-race freedom of actor-based concurrency and lock-based concurrency. This paper extends this work by the introduction of two programming constructs; one for decoupling isolation and synchronisation and one for constructing higher-level atomicity guarantees from lower-level synchronisation. We focus predominantly on actors, and in particular the Encore programming language, but our ultimate goal is to define our constructs in such a way that they can be used both with locks and actors, given that combinations of both models occur frequently in actual systems. We discuss the design space, provide several formalisations of different semantics and discuss their properties, and connect them to case studies showing how our proposed constructs can be useful. We also report on an on-going implementation of our proposed constructs in Encore. 

National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-336020 (URN)10.1016/j.jlamp.2018.06.007 (DOI)000444363000008 ()
Projects
UPMARC
Funder
EU, FP7, Seventh Framework Programme, 612985Swedish Research Council, 2012-4967
Available from: 2018-06-30 Created: 2017-12-11 Last updated: 2019-12-13Bibliographically approved
Brandauer, S., Castegren, E. & Wrigstad, T. (2018). C♭: A New Modular Approach to Implementing Efficient and Tunable Collections. In: Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2018): . Paper presented at SPLASH 2018 - Systems, Programming, Languages and Applications: Software for Humanity, Boston, 4-9 November, 2018 (pp. 57-71). ACM
Open this publication in new window or tab >>C♭: A New Modular Approach to Implementing Efficient and Tunable Collections
2018 (English)In: Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2018), ACM , 2018, p. 57-71Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
ACM, 2018
Keywords
data structure design, domain specific language, performance tuning
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-366812 (URN)10.1145/3276954.3276956 (DOI)000455805700005 ()
Conference
SPLASH 2018 - Systems, Programming, Languages and Applications: Software for Humanity, Boston, 4-9 November, 2018
Projects
UPMARC2012-04867 Structured Aliasing
Funder
Swedish Research Council, 2012-04967
Available from: 2018-11-26 Created: 2018-11-26 Last updated: 2019-12-13Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-4269-5408

Search in DiVA

Show all publications