David Vidrih (2008) Model driven development: Evaluation of concepts and development of supporting tools. MSc thesis.
The master's thesis discusses a model driven approach to software development as one of the best future ideas in this domain. The basic idea is to describe the problem domain using models which are then automatically transformed to final software solution. The approach promises a reduction in development resources and advanced form of specifying instructions to computers. Model driven approach is still in development phase, and thus can not yet be used in its ideal form of exclusive models drawing. The unsupported parts of developed solution must be developed using conventional approaches, the alternative being development of model driven support for unsupported domains, which can be very demanding task. Working within the supported capabilities meets the promises, but overcoming these limits is usually quite demanding. The main version of this approach is the MDA standard, which offers a good conceptual basis, but does not offer concrete solutions. A good complement to MDA are domain-specific (modeling) languages, that can be used for designing custom languages for any domain, which also do not provide concrete solutions. Thus, we recognize the lack of good theoretical solutions for specifying instructions to computers being the basic problem of software development domain. The thesis also contains a detailed discussion of possibilities for model driven approach supporting tools development and use: possibilities for custom support tools development from scratch, use of partial solutions and advanced development support environments. We also discuss the possibilities of using model driven approach ideas in conventional development. The whole tools discussion is supported with concrete prototypes. We also identified certain weaknesses of model driven approach, such as already mentioned lack of concrete solutions, the questionable absolute ideality of graphic concrete syntaxes, and the problem of duplication of work and solution description by first writing specification and then implementation. Basing on these weaknesses we propose the executable specification; a unified language which is suitable for formal specification of software solutions and is at the same time also directly executable. For the purpose of organization, reusability, comprehensiveness and manageability, the specifications in proposed language may be broken into meaningful units, which may refer to each other. The language itself, due to intuitiveness and minimal required knowledge for its understanding, reads as a natural language. Due to the fact, that creating the support for wide variety of possible domains would be unfeasible for us, we have limited ourselves to developing the support for general-purpose specifications and for graphic interface specific domain. We have also developed a tool for direct execution of the defined executable specifications. The essence of the executable specification idea is aggregation of existing huge amounts of knowledge and ideas of software development domain into a compact high level specification language without unnecessary technical details, which can be executed without additional work.
|Item Type: ||Thesis (MSc thesis)|
|Keywords: ||model driven development, MDA, domain-specific languages, support tools, advanced computer instructions, executable specification|
|Number of Pages: ||149|
|Language of Content: ||Slovenian|
|Mentor / Comentors: |
|Name and Surname||ID||Function|
|izr. prof. dr. Viljan Mahnič||241||Mentor|
|Link to COBISS: ||http://www.cobiss.si/scripts/cobiss?command=search&base=50070&select=(ID=6853716)|
|Institution: ||University of Ljubljana|
|Department: ||Faculty of Computer and Information Science|
|Item ID: ||719|
|Date Deposited: ||09 Dec 2008 09:29|
|Last Modified: ||13 Aug 2011 00:34|
Actions (login required)