Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by HASLab

2010

Matrices as Arrows! A Biproduct Approach to Typed Linear Algebra

Authors
Macedo, HD; Oliveira, JN;

Publication
MATHEMATICS OF PROGRAM CONSTRUCTION, PROCEEDINGS

Abstract
Motivated by the need to formalize generation of fast running code for linear algebra applications, we show how an index-free, calculational approach to matrix algebra can be developed by regarding matrices as morphisms of a category with biproducts. This shifts the traditional view of matrices as indexed structures to a type-level perspective analogous to that of the pointfree algebra of programming. The derivation of fusion, cancellation and abide laws from the biproduct equations makes it easy to calculate algorithms implementing matrix multiplication, the kernel operation of matrix algebra, ranging from its divide-and-conquer version to the conventional, iterative one. From errant attempts to learn how particular products and coproducts emerge from biproducts, we not only rediscovered block-wise matrix combinators but also found a way of addressing other operations calculationally such as e.g. Gaussian elimination. A strategy for addressing vectorization along the same lines is also given.

2010

Measuring Software Systems Scalability for Proactive Data Center Management

Authors
Carvalho, NA; Pereira, J;

Publication
ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS: OTM 2010, PT II

Abstract
The current trend of increasingly larger Web-based applications makes scalability the key challenge when developing, deploying, and maintaining data centers. At the same time, the migration to the cloud computing paradigm means that each data center hosts an increasingly complex mix of applications, from multiple owners and in constant evolution. Unfortunately, managing such data centers in a cost-effective manner requires that the scalability properties of the hosted workloads to be accurately known, namely, to proactively provision adequate resources and to plan the most economical placement of applications. Obviously, stopping each of them and running a custom benchmark to asses its scalability properties is not an option. In this paper we address this challenge with a tool to measure the software scalability regarding CPU availability, to predict system behavior in face of varying resources and an increasing workload. This tool does not depend on a particular application and relies only on Linux's SystemTap probing infrastructure. We validate the approach first using simulation and then in an actual system. The resulting better prediction of scalability properties should allow improved (self-)management practices.

2010

QoS-aware Component Composition

Authors
Barbosa, LS; Meng, S;

Publication
PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPLEX, INTELLIGENT AND SOFTWARE INTENSIVE SYSTEMS (CISIS 2010)

Abstract
Component's QoS constraints cannot be ignored when composing them to build reliable loosely-coupled, distributed systems. Therefore they should be explicitly taken into account in any formal model for component-based development. Such is the purpose of this paper: to extend a calculus of component composition to deal, in an effective way, with QoS constraints. Particular emphasis is put on how the laws that govern composition can be derived, in a calculational, pointfree style, in this new model.

2010

Open source certification

Authors
Damiani, E; Barbosa, L; Breuer, PT; Ardagna, CA;

Publication
COMPUTER SYSTEMS SCIENCE AND ENGINEERING

Abstract

2010

Towards the introduction of QoS information in a component model

Authors
Meng, S; Barbosa, LS;

Publication
Proceedings of the ACM Symposium on Applied Computing

Abstract
Assuring Quality of Service (QoS) properties is critical in the development of component-based distributed systems. This paper presents an approach to introduce QoS constraints into a coalgebraic model of software components. Such constraints are formally captured through the concept of a Q-algebra which, in its turn, can be smoothly integrated in the definition of component combinators. © 2010 ACM.

2010

Slicing for architectural analysis

Authors
Rodrigues, NF; Barbosa, LS;

Publication
SCIENCE OF COMPUTER PROGRAMMING

Abstract
Current software development often relies on non-trivial coordination logic for combining autonomous services, eventually running on different platforms. As a rule, however, such a coordination layer is strongly woven within the application at source code level. Therefore, its precise identification becomes a major methodological (and technical) problem and a challenge to any program understanding or refactoring process. The approach introduced in this paper resorts to slicing techniques to extract coordination data from source code. Such data are captured in a specific dependency graph structure from which a coordination model can be recovered either in the form of an ORC specification or as a collection of code fragments corresponding to the identification of typical coordination patterns in the system. Tool support is also discussed.

  • 207
  • 261