A Comparative Study of the Systematic Mapping of Object-Oriented Models to Code Development Frameworks
Average rating
Cast your vote
You can rate an item by clicking the amount of stars they wish to award to this item.
When enough users have cast their vote on this item, the average rating will also be shown.
Star rating
Your vote was cast
Thank you for your feedback
Thank you for your feedback
Author
Georgiev, Martin HristovKeyword
Brockport Honors ProgramBehavior Mapping
Frameworks
Case Study
Google Web Toolkit
CakePHP
Java
PHP
Date Published
2011-05-01
Metadata
Show full item recordDescription
Despite recent advances in Software Engineering, the ‘software crisis’ persists. Researchers have explored the concept of Model-Driven Architectures (MDA) to obtain a high-level view of a software application in a technology-independent manner. These constitute what are known as Platform-Independent Models (PIMs)). Thereafter, a PIM’s features are systematically mapped to an implementation environment features (creating a Platform-Specific Model (PSM)). Most MDA techniques focus on the structural aspects of the system under construction. Little attention is paid to mapping behavior models to implementation technologies. This paper presents results from an approach that focused on modeling the behaviors of single-threaded, GUI-on-database systems using UML Sequence and State diagrams, and then systematically mapping these to desktop-based and web-based implementations. Well-known GRASP principles, especially the ‘Information Expert’ and the ‘Front Controller’ concepts, are applied to obtain a high-quality behavioral model. Thereafter, precise mapping techniques from model to implementation environment constructs are devised. Our results demonstrate that the mapping from the same model to different environments is strongly influenced by the features of the environment itself. We present our results in the context of a case study for a real-world customer, implemented using the following platforms: “Plain Old Java” on the desktop, Google Web Toolkit (GWT) and a Model-View-Controller (MVC) framework using PHP - CakePHP. We present several important results. We have learned that a model ‘Front Controller’ object that serves as the primary interface to the user, and is independent of the back-end database tables it interfaces with, can be easily mapped to appropriate constructs in Java-based desktop and GWT implementations. However, CakePHP’s naming conventions make this mapping indirect, and may thus break the ‘traceability’ from model to implementation. Our various results describe a means to measure the extensibility and maintainability of such implemented systems.Collections