Authors:
Mahmoud Husseini Orabi
;
Ahmed Husseini Orabi
and
Timothy C Lethbridge
Affiliation:
University of Ottawa, Canada
Keyword(s):
Umple, Active Object, Composite Structure, UML.
Related
Ontology
Subjects/Areas/Topics:
Agile Model-Driven Development
;
Applications and Software Development
;
Component-Based Software Engineering
;
Constraint Modeling and Languages
;
Executable UML
;
Frameworks for Model-Driven Development
;
General-Purpose Modeling Languages and Standards
;
Generative Programming
;
Languages, Tools and Architectures
;
MetaModeling
;
Methodologies, Processes and Platforms
;
Model Transformations and Generative Approaches
;
Model-Based Testing and Validation
;
Model-Driven Architecture
;
Model-Driven Software Development
;
Models
;
Paradigm Trends
;
Service Oriented Architectures
;
Software Engineering
;
Software Process Modeling, Enactment and Execution
;
Syntax and Semantics of Modeling Languages
Abstract:
UML standards lack systematic solutions that can handle concurrency and time constructs in a single unified notation. In this paper, we integrate concurrency as a part of Umple, a combined modelling and programming language. Our extensions can help ease component-based development of real-time, distributed, and embedded applications. The work, which is based on an extended implementation of active object, enables better validation of systems, and improves usability from the developer’s perspective. We describe the syntax and semantics of our Umple extensions, and also show how the constructs are transformed into C++. After that, we evaluate our work qualitatively, by comparing Umple with other specifications that focus on time as key; we show that Umple gives more flexibility than UML and MARTE. We also evaluate our work quantitatively using LOC and cyclomatic complexity metrics, showing that a developer would have to write many fewer lines of code when using Umple than when programm
ing directly in C++.
(More)