Umplification: Refactoring to Incrementally Add Abstraction to a Program

@article{Lethbridge2010UmplificationRT,
  title={Umplification: Refactoring to Incrementally Add Abstraction to a Program},
  author={Timothy Lethbridge and Andrew Forward and Omar Bahy Badreddin},
  journal={2010 17th Working Conference on Reverse Engineering},
  year={2010},
  pages={220-224}
}
Umple adds UML abstractions to base programming languages such as Java, PHP and Ruby. The resulting program can be seen as both model and code at the same time. Umplification is the process of converting a base language program to Umple by a series of refactorings. The result is a program semantically equivalent to the original, but which can be rendered and edited as UML diagrams by a modeling tool or manipulated as a textual program for those who prefer. In this paper we discuss the… Expand
Reverse engineering of object-oriented code into Umple using an incremental and rule-based approach
In this paper we present a novel approach to reverse engineering, in which modeling information such as UML associations, state machines and attributes is incrementally added to code written in JavaExpand
Exploring How to Develop Transformations and Tools for Automated Umplification
TLDR
This research is exploring how to perform incremental reverse engineering from Java to Umple, a process called Umplification, which involves increasing the proportion of modeling concepts in the code. Expand
Umple: An Open-Source Tool for Easy-To-Use Modeling, Analysis, and Code Generation
We demonstrate the Umple technology, which allows software developers to blend abstract models, including class-, stateand composite structure diagrams textually into their Java, C++ or PhP code.Expand
Unifying Modeling and Programming with Valkyrie
Raising the level of abstraction when developing a software system is the driving force behind Model-driven software development (MDSD) – a software engineering paradigm which gained more and moreExpand
Unifying Modeling and Programming with ALF
TLDR
An implementation of the Action Language for Foundational UML (Alf) standard is presented, which allows for textual modeling of software systems and an approach to generate executable Java code from Alf programs is presented. Expand
Integrating UML and ALF: An Approach to Overcome the Code Generation Dilemma in Model-Driven Software Engineering
TLDR
This paper presents an approach of integrating two OMG standards to overcome the so-called code generation dilemma when model and hand-written code evolve independently during the software development process. Expand
Teaching UML using umple: Applying model-oriented programming in the classroom
TLDR
It is shown how a technology called Umple can be used to improve teaching UML and modeling, which allows UML concepts to be added to programming languages, plus web-based code generation from UML to those languages. Expand
Teaching UML Using the Umple Model-Oriented Programming Technology
TLDR
It is shown how a technology called Umple can be used to improve teaching UML and modeling and in response to a survey, students showed enthusiasm about Umple, and indicated they believe it helps them understand UML better. Expand
A manifestation of model-code duality: facilitating the representation of state machines in the umple model-oriented programming language
TLDR
This work suggests that code enhanced with state machine modeling abstractions is semantically equivalent to visual state machine models, and enhances the code to be almost as expressive as the model. Expand
Prodeling with the Action Language for Foundational UML
TLDR
An integrator between an UML-based CASE tool and a tool for Alf is presented, which empowers the modeler to work on the desired level of abstraction and helps to blur the boundaries between modeling and programming. Expand
...
1
2
3
...

References

SHOWING 1-10 OF 15 REFERENCES
Improving program comprehension by enhancing program constructs: An analysis of the Umple language
TLDR
It is argued that Umple will help increase program comprehension by allowing developers to describe a system at a more abstract level, and by reducing the volume of code. Expand
Umple: a model-oriented programming language
  • O. Badreddin
  • Computer Science
  • 2010 ACM/IEEE 32nd International Conference on Software Engineering
  • 2010
TLDR
This research focuses on the syntax and semantics of state machines in Umple and the empirical validation of Umple as a whole. Expand
Umple: Towards combining model driven with prototype driven system development
TLDR
A model-oriented prototyping tool called Umple is presented that supports model driven engineering and overcomes some of the challenges related to prototyping in a modeling environment. Expand
Problems and opportunities for model-centric versus code-centric software development: a survey of software professionals
TLDR
Key findings overall include: modeling tools are primarily used to create documentation and for up-front design with little code generation; and participants believe that model-centric approaches to software engineering are easier but are currently not very popular as most participants currently work in code-centric environments. Expand
Model-driven Development of Complex Software: A Research Roadmap
TLDR
It is argued that full realizations of the MDE vision may not be possible in the near to medium-term primarily because of the wicked problems involved, but attempting to realize the vision will provide insights that can be used to significantly reduce the gap between evolving software complexity and the technologies used to manage complexity. Expand
Design patterns: elements of reuseable object-oriented software
The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find outExpand
Umplification Example Person / Student
  • accessed 2010, http://cruise.site.uottawa.ca/umple/umplificationExample- PersonStudent/ 224
  • 2010
Umplification Example Person / Student
  • Umplification Example Person / Student
  • 2010
UmpleOnline
  • UmpleOnline
  • 2009
Computer Science PhD Thesis, Appendices, and Supplementary Material
  • accessed 2008, http://www.site.uottawa.ca/~tcl/gradtheses/aforwardphd/
  • 2008
...
1
2
...