Formalization of UML Composition in OCL

2013 ◽  
Vol 1 (1) ◽  
pp. 26-40
Author(s):  
Hector M. Chavez ◽  
Wuwei Shen

With the increasing use of design models during the development process, developers now face a daunting task to maintain consistency between the design models and their implementation. Consistency maintenance is particularly challenging when a design model language introduces constructs that have no direct counterpart in programming languages. For example, the UML composition, an important relationship in software development, reflects some important principles in software engineering such as encapsulation. Unfortunately, influenced by the ownership model, existing approaches supporting UML composition require the non-accessibility property. However, composition in the UML specification does not support the ownership model. In this paper we present a UML composition formalization using the Object Constraint Language (OCL) that strictly adheres to the UML specification.

Author(s):  
Petraq Papajorgji ◽  
Panos M. Pardalos

This chapter aims to present a new modeling paradigm that promises to significantly increase the efficiency of developing enterprise information systems. Currently, the software industry faces considerable challenges as it tries to build larger, more complex, software systems with fewer resources. Although modern programming languages such as C++ and Java have in general improved the software development process, they have failed to significantly increase developer’s productivity. Thus, developers are considering other paths to address this issue. One of the potential paths is designing, developing and deploying enterprise information systems using the Model Driven Architecture (MDA). MDA is a model-centric approach that allows for modeling the overall business of an enterprise and capturing requirements to developing, deploying, integrating, and managing different kinds of software components without considering any particular implementation technology. At the center of this approach are models; the software development process is driven by constructing models representing the software under development. Code that expresses the implementation of the model in a certain underlying technology is obtained as a result of model transformation. Thus, the intellectual investment spent in developing the business model of an enterprise is not jeopardized by the continuous changes of the implementation technologies. Currently there are two main approaches trying to implement MDA-based tools. One of the approaches is based on the Object Constraint Language and the other on Action Language. An example of designing, developing and deploying an application using this new modeling paradigm is presented. The MDA approach to software development is considered as the biggest shift since the move from Assembler to the first high level languages.


2011 ◽  
pp. 687-705
Author(s):  
Petraq Papajorgji ◽  
Panos M. Pardalos

This chapter aims to present a new modeling paradigm that promises to significantly increase the efficiency of developing enterprise information systems. Currently, the software industry faces considerable challenges as it tries to build larger, more complex, software systems with fewer resources. Although modern programming languages such as C++ and Java have in general improved the software development process, they have failed to significantly increase developer’s productivity. Thus, developers are considering other paths to address this issue. One of the potential paths is designing, developing and deploying enterprise information systems using the Model Driven Architecture (MDA). MDA is a model-centric approach that allows for modeling the overall business of an enterprise and capturing requirements to developing, deploying, integrating, and managing different kinds of software components without considering any particular implementation technology. At the center of this approach are models; the software development process is driven by constructing models representing the software under development. Code that expresses the implementation of the model in a certain underlying technology is obtained as a result of model transformation. Thus, the intellectual investment spent in developing the business model of an enterprise is not jeopardized by the continuous changes of the implementation technologies. Currently there are two main approaches trying to implement MDA-based tools. One of the approaches is based on the Object Constraint Language and the other on Action Language. An example of designing, developing and deploying an application using this new modeling paradigm is presented. The MDA approach to software development is considered as the biggest shift since the move from Assembler to the first high level languages.


2013 ◽  
Vol 284-287 ◽  
pp. 3409-3412
Author(s):  
Ilk Yu Ha ◽  
Chong Gun Kim

UML is a rich semantic language, but it is difficult to ensure consistency of the diagrams you have written. In this paper, we propose cross checking rules to improve consistency among UML diagrams, especially between UML static and dynamic diagrams. We derive integrated metamodels in order to reflect more clear interactions of UML elements in the checking rules and use OCL(Object Constraint Language) to represent the checking rules accurately. By comparing with the well-formed rules of UML specification, we study on consistency of UML diagrams. We also derive integrated metamodels of static and dynamic diagrams by analyzing the relationships of UML diagrams. Finally, we test the usability of derived rules through a case study.


Sensors ◽  
2021 ◽  
Vol 21 (10) ◽  
pp. 3480
Author(s):  
Walter Takashi Nakamura ◽  
Iftekhar Ahmed ◽  
David Redmiles ◽  
Edson Oliveira ◽  
David Fernandes ◽  
...  

The success of a software application is related to users’ willingness to keep using it. In this sense, evaluating User eXperience (UX) became an important part of the software development process. Researchers have been carrying out studies by employing various methods to evaluate the UX of software products. Some studies reported varied and even contradictory results when applying different UX evaluation methods, making it difficult for practitioners to identify which results to rely upon. However, these works did not evaluate the developers’ perspectives and their impacts on the decision process. Moreover, such studies focused on one-shot evaluations, which cannot assess whether the methods provide the same big picture of the experience (i.e., deteriorating, improving, or stable). This paper presents a longitudinal study in which 68 students evaluated the UX of an online judge system by employing AttrakDiff, UEQ, and Sentence Completion methods at three moments along a semester. This study reveals contrasting results between the methods, which affected developers’ decisions and interpretations. With this work, we intend to draw the HCI community’s attention to the contrast between different UX evaluation methods and the impact of their outcomes in the software development process.


Sign in / Sign up

Export Citation Format

Share Document