5 research outputs found
ClassSheet-driven spreadsheet environments
Spreadsheet systems are well known and widely used in all kinds of business applications. They are used by tens of millions of people who create hundreds of millions of spreadsheets every day [1]. Spreadsheet systems are easy to use and very intuitive, allowing the aggregation of all types of data
Coupled evolution of model-driven spreadsheets
Spreadsheets are increasingly used as programming languages, in the construction of large and complex systems. The fact is that spreadsheets, being a highly flexible framework, lack important programming language features such as abstraction or encapsulation. This flexibility, however, comes with a price: spreadsheets are populated with significant amounts of errors. One of the approaches that try to overcome this problem advocates the use of model-driven spreadsheet development: a spreadsheet model is defined, from which a concrete spreadsheet is generated. Although this approach has been proved effective in other contexts, still it needs to accommodate for future evolution of both the model and its instance, so that they remain synchronized at all moments. In this paper, we propose a pair of transformation sets, one working at the model level and the other at the instance level, such that each transformation in one set is related to a transformation in the other set. With our approach, we ensure model/data compliance while allowing for model and data evolution
Directed evolution of model-driven spreadsheets
Dissertação de mestrado em Engenharia InformáticaSpreadsheets are among the most used programming languages today. The easy to use
and the intuitive nature of the visual interface makes them a preferred programming tool
for any kind of individual or organization. The flexibility they provide to organize data as
users need to is one of the reasons that makes them so popular. However, this flexibility
also makes them very error-prone.
In order to improve spreadsheet quality and reduce the number of errors, software engineering
practices were introduced, namely object oriented and model-driven techniques.
These techniques enabled the specification of the spreadsheet business logic, which offers
the possibility to better structure data, while at the same time narrowing the range of types
of errors made by user input. While these developments had a huge impact, spreadsheet
evolution is still an inherently human process, which is in itself error-prone.
In many real world applications of spreadsheets, they are used to store and disseminate
data between different systems. Different systems can use different data formats, this leads
to the need to change and adapt the data produced by a source system so that it complies
to the data format consumed by a target system. Usually in these cases, both the initial
and final data models are known in advance.
The objective of this thesis is to present techniques that enable data evolution to be made
automatically, using model-driven spreadsheets.Folhas de cálculo são um dos paradigmas de programação mais utilizados actualmente. A
sua facilidade de utilização e reduzida curva de aprendizagem torna-as numa das ferramentas
de programação mais utilizadas diariamente por milhões de indivíduos e organizações.
A flexibilidade concedida pelas folhas de cálculo para organizar dados consoante a preferência
dos utilizadores é uma das razões que as torna tão populares. Esta flexibilidade
tem, contudo, uma grande desvantagem: torna-as muito propícias a erros.
De forma a elevar a qualidade, e reduzir o número de erros em folhas de cálculo, foram
introduzidas práticas já estabelecidas em engenharia de software, nomeadamente técnicas
de desenvolvimento orientado a objectos e desenvolvimento dirigido por modelos. Com
estas técnicas passou a ser possível especificar a lógica de negócio de folhas de cálculo, o
que proporciona a estruturação dos dados nelas contidos e, ao mesmo tempo, limita o tipo
de erros passíveis de serem cometidos pelos utilizadores. Embora estes desenvolvimentos
tenham tido um grande impacto, a evolução de folhas de cálculo continua a ser um processo
inerentemente humano, o que pode, ainda assim, originar erros.
Em muitos casos reais de utilização de folhas de cálculo, elas são utilizadas para armazenar
e disseminar informação entre diferentes sistemas. Diferentes sistemas podem utilizar
diferentes formatos de dados, isto leva à necessidade de adaptar os dados produzidos por
um sistema para que sejam compatíveis com um determinado sistema de destino. Normalmente
nestes casos, ambos os modelos de dados são conhecidos à partida. O objectivo
desta tese é apresentar um conjunto de técnicas que permitam fazer esta evolução de forma
totalmente automática, utilizando para isso folhas de cálculo dirgidas por modelos.Fundação para a Ciência e a Tecnologia (FCT) - FCOMP-01-0124- FEDER-010048 and FCOMP-01-0124-FEDER-020532 projects.FEDER Funds through the Programa
Operacional Factores de Competitvidade - COMPETE