Model-based spreadsheet engineering
Main Author: | |
---|---|
Publication Date: | 2011 |
Language: | eng |
Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Download full: | http://hdl.handle.net/1822/12387 |
Summary: | Tese de doutoramento em Informática (área Fundamentos da Computação) |
id |
RCAP_605ca8cc98268af8e8fccc90a4131ce3 |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/12387 |
network_acronym_str |
RCAP |
network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository_id_str |
https://opendoar.ac.uk/repository/7160 |
spelling |
Model-based spreadsheet engineering681.3.06Tese de doutoramento em Informática (área Fundamentos da Computação)Spreadsheets can be viewed as programming languages for non-professional programmers. These so-called “end-user” programmers vastly outnumber professional programmers creating millions of new spreadsheets every year. As a programming language, spreadsheets lack support for abstraction, testing, encapsulation, or structured programming. As a result, and as numerous studies have shown, the high rate of production is accompanied by an alarming high rate of errors. Some studies report that up to 90% of real-world spreadsheets contain errors. After their initial creation, many spreadsheets turn out to be used for storing and processing increasing amounts of data and supporting increasing numbers of users over long periods of time, making them complicated systems. An emerging solution to handle the complex and evolving software systems is Model-driven Engineering (MDE). To consider models as first class entities and any software artifact as a model or a model element is one of the basic principles of MDE. We adopted some techniques from MDE to solve spreadsheet problems. Most spreadsheets (if not all) lack a proper specification or a model. Using reverse engineering techniques we are able to derive various models from legacy spreadsheets. We use functional dependencies (a formalism that allow us to define how some column values depend on other column values) as building blocks for these models. Models can be used for several spreadsheet improvements, namely refactoring, safe evolution, migration or even generation of edit assistance. The techniques presented in this work are available under the framework HAEXCEL that we developed. It is composed of online and batch tools, reusable HASKELL libraries and OpenOffice.org extensions. A study with several end-users was organized to survey the impact of the techniques we designed. The results of this study indicate that the models can bring great benefits to spreadsheet engineering helping users to commit less errors and to work faster.Saraiva, João AlexandreVisser, J.Universidade do MinhoCunha, Jácome Miguel Costa2011-03-222011-03-22T00:00:00Zdoctoral thesisinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/12387enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T05:37:31Zoai:repositorium.sdum.uminho.pt:1822/12387Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T15:24:40.297796Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
dc.title.none.fl_str_mv |
Model-based spreadsheet engineering |
title |
Model-based spreadsheet engineering |
spellingShingle |
Model-based spreadsheet engineering Cunha, Jácome Miguel Costa 681.3.06 |
title_short |
Model-based spreadsheet engineering |
title_full |
Model-based spreadsheet engineering |
title_fullStr |
Model-based spreadsheet engineering |
title_full_unstemmed |
Model-based spreadsheet engineering |
title_sort |
Model-based spreadsheet engineering |
author |
Cunha, Jácome Miguel Costa |
author_facet |
Cunha, Jácome Miguel Costa |
author_role |
author |
dc.contributor.none.fl_str_mv |
Saraiva, João Alexandre Visser, J. Universidade do Minho |
dc.contributor.author.fl_str_mv |
Cunha, Jácome Miguel Costa |
dc.subject.por.fl_str_mv |
681.3.06 |
topic |
681.3.06 |
description |
Tese de doutoramento em Informática (área Fundamentos da Computação) |
publishDate |
2011 |
dc.date.none.fl_str_mv |
2011-03-22 2011-03-22T00:00:00Z |
dc.type.driver.fl_str_mv |
doctoral thesis |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/1822/12387 |
url |
http://hdl.handle.net/1822/12387 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
repository.mail.fl_str_mv |
info@rcaap.pt |
_version_ |
1833595296418889728 |