Automated Consistency Management Framework for the Model Based Software Development

by Alexander Reder
Abstract:
The development of a software product is a multistage process and we know the later an error is discovered the more costly it is to repair it. Erroneous implementation of requirements are often found very late because the early stages of the development process lack efficient support for detecting and avoiding errors. Integrated development environments used to implement software products provide support for detecting errors, but the detection is limited to the programming languages. These environments typically are not able to check if code really implements the costumer requirements correct, i. e., if the program is semantically correct. Perhaps, this can be done in the design stage, however, the error detection of design modeling tools are often limited to specific languages. Furthermore, many approaches are batch-based where the error detection (the detection of inconsistencies between requirements and their realization) is done occasionally, usually after it has been triggered manually. This time consuming process has the downside this it may provide error feedback late and in potentially large quantities depending on the time that has passed. Apart from that, detecting inconsistencies is worthless if it is not known what to do with this information. Eventually inconsistencies need to be resolved and there are limited alternatives on how to do so. Currently, no solution exists that combines the detection of inconsistencies with their eventual resolutions, including their side effects, in an scalable, efficient, and incremental technology. This thesis represents an approach for model-based software development that supports the user during the entire life cycle of an inconsistency: from the detection to resolution. As a proof of concept, the approach is implemented as an Eclipse plug-in for the IBM Rational Software Architect, the UML modeling language and the OCL constraint language. While the approach is generic and not limited to these tools and languages, the tool implementation was used for the evaluation of applicability,correctness, and scalability. It shows that the approach provides the functionality to define arbitrary constraints, supports instant detection of inconsistencies and proposes solutions how to resolve them as well as calculating the side effects of this solution.
Reference:
Alexander Reder, "Automated Consistency Management Framework for the Model Based Software Development", PhD thesis, Johannes Kepler University (JKU), Linz, Austria, 2013. (Advisor: Alexander Egyed)
Bibtex Entry:
@PhdThesis{jku2013Reder,
  Title                    = {Automated Consistency Management Framework for the Model Based Software Development},
  Author                   = {Alexander Reder},
  School                   = {Johannes Kepler University (JKU), Linz, Austria},
  Year                     = {2013},

  Abstract                 = {The development of a software product is a multistage process and we know the later an error is discovered the more costly it is to repair it. Erroneous implementation of requirements are often found very late because the early stages of the development process lack efficient support for detecting and avoiding errors. Integrated development environments used to implement software products provide support for detecting errors, but the detection is limited to the programming languages. These environments typically are not able to check if code really implements the costumer requirements correct, i. e., if the program is semantically correct. Perhaps, this can be done in the design stage, however, the error detection of design modeling tools are often limited to specific languages. Furthermore, many approaches are batch-based where the error detection (the detection of inconsistencies between requirements and their realization) is done occasionally, usually after it has been triggered manually. This time consuming process has the downside this it may provide error feedback late and in potentially large quantities depending on the time that has passed. Apart from that, detecting inconsistencies is worthless if it is not known what to do with this information. Eventually inconsistencies need to be resolved and there are limited alternatives on how to do so. Currently, no solution exists that combines the detection of inconsistencies with their eventual resolutions, including their side effects, in an scalable, efficient, and incremental technology. This thesis represents an approach for model-based software development that supports the user during the entire life cycle of an inconsistency: from the detection to resolution. As a proof of concept, the approach is implemented as an Eclipse plug-in for the IBM Rational Software Architect, the UML modeling language and the OCL constraint language. While the approach is generic and not limited to these tools and languages, the tool implementation was used for the evaluation of applicability,correctness, and scalability. It shows that the approach provides the functionality to define arbitrary constraints, supports instant detection of inconsistencies and proposes solutions how to resolve them as well as calculating the side effects of this solution.},
  Comment                  = {Advisor: Alexander Egyed},
  File                     = {:PhD Theses\\2013 Alexander Reder\\Automated Consistency Management Framework for the Model Based Software Development.pdf:PDF},
  Keywords                 = {consistency, repair, change, FWF P21321-N15},
  Owner                    = {paul},
  Paper                    = {Publications/PhD Theses/2013 Alexander Reder/Automated Consistency Management Framework for the Model Based Software Development.pdf},
  Presentation             = {Publications/PhD Theses/2013 Alexander Reder/Automated Consistency Management Framework for the Model Based Software Development presentation.pdf},
  Timestamp                = {2015.09.12},
  Url                      = {Publications/PhD Theses/2013 Alexander Reder/Automated Consistency Management Framework for the Model Based Software Development.pdf}
}
Powered by bibtexbrowser