Introduction To UML Profiles For System Design And Modelling

UML Profiles

UML or Unified Modelling Language can be defined as a standardized language that is used for modelling and program or software architecture design purpose. It is a modelling language that consists of an integrated set of diagrams (Dennis, Wixom and Tegarden 2015). These diagrams are so designed so as the serve the purpose of helping software and system developers in their design and development process. UMLs help the developers to visualize, specify and document all the necessary participles that are involved in the software systems and their integrated business models. Gómez (2016), says that UML profile is however a lightweight extension technique that better describes UML designs. This report will throw light on the thorough details of UML profiles and elaborate its need in the software modelling and development industry. The various types of UML profile options will be studied, analysed and the challenges will be presented.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

UML profiles can be defined as a lightweight extension technique or mechanism that aids the process of software or system designing with simpler means. These aid the modelling process by defining tagged values, constraints and custom stereotypes. These are used in the process of adapting initial UML metamodel in a variety of domains and platforms. UML helps with the idea of modelling any system from a variety of perspectives. Basso (2012), states that the modelling of the system with respect to various sets of perspectives allows the developer or the program designer to clearly choose the vision that he or she wishes to comprehend within the respective project. This is since UML has its own set of rules defining the semantics and syntaxes.

System modelling is known as the process designing system models, which represent the different perspectives of the respective system. It conceals the inner details of the system and presents only an abstract view of it. UML has been forever used for its unique characteristics in representing object oriented architecture (Larman 2012). Unlike the general UML diagrammatic representations where all necessary details of the system are required to be represented in the design phase, UML profiles help to provide a simpler overview of the entire sy.pstem. Profiling helps to cover the application’s imaginable scenarios, which can otherwise not be conceptualized using the UML only. UML profiling patterns were first applied to OO program design, but over time patterns have been identified for analysis, project management, systems architecture and more.

There have been different and unique adaptations of the UML profiling technique. These have been segregated considering the annotation of non-functional requirements of the various software systems. There are mainly two distinct types of recognized UML profiles namely SPT or Schedubility, Performance and Time and the recently emerging technique known as the QoS or the Quality of Service. The SPT profiling technique was UML’s first attempt towards the enhancement of currency concepts and timing. It helped a ton in improving the functionalities and performance analysis processes. QoS or Quality of Service has been used to frame a much broader scope of usage in the field of information technology. The QoS profile had been adopted by the OMG organization back in June 2004. It is now being enhanced by the FTF or the Finalization Task Force, which marks as a precede technique to the formal adoption that originally existed (Bernardi, Merseguer and Petriu 2012).

Uses of UML Profiles

As mentioned earlier, UML profiles can be segregated upon their usage statistics into a few distinct classifications that are SPT or Schedubility, Performance and Time and the recently emerging technique known as the QoS or the Quality of Service. The SPT profiling technique was UML’s earliest attempt towards the enhancement of currency concepts and timing capabilities whereas QoS emerged in the later period as a more flexible and broader spectrum of service in the UML profiling era (Shousha, Briand and Labiche 2012).

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Facts show that SPT was implemented in a minimum of two different UML tools. They used SPT techniques in order to improve the performance and schedulability analysis for the respective domains or groups. The conceptual model defines the fundamental abstractions that are in relation with the domain of UML profiles. This kind of modelling technique, though is independent of the UML metamodel, yet it describes the detailed concepts, which are related with the standard UML elements. These are often regarded as an informative part of the UML profile. Concept modelling in QoS is however a different ballgame. Any QoS component helps in the offering of services that carry a certain set of qualities as mentioned in the protocols of the QoS profiles. A QoS profile can be defined as a QoS relation which specifies the qualities that are provided by the basic QoS component, such that the environment already provides the qualities that it assumes. These qualities are known as QoS statements. QoS consists of certain constraints (Bernardi, Merseguer and Petriu 2012). These are the restrictions of values used in the QoS characteristics. A QoS profile relates the specifications of QoS components to other UML modelling elements, hence identifying all the important functionalities of the CQML component.

Guerriero (2015), argues that SPT has been thoroughly used in the real time environments with an aim to instantiate the object oriented approach of program design. It has been thoroughly suggested by researchers all over the world that SPT frameworks of UML profile has been better in performance compared to the QoS profiles when it comes to qualitative analysis. In addition, while SPT profile is designed to fit the needs of schedulability and performance analysis, QoS however, allows the module designers to define numerous sets of quality of service requirements. For the safety critical aspect of real-time software, QoS helps to carry out specific analysis with better and fast accuracy.

UML-RT is another crucial realtime UML profile developed by Rational Software. UML-RT Profile makes use of UML’s built-in extensibility mechanisms in order to note the concepts mentioned in the Realtime Object Oriented Modeling, also known as the ROOM Language. Unlike the previously mentioned SPT profile and the QoS Profile, UML-RT has a wider range of use cases. It has not been simply developed to just make annotations for design models to allow information gathering for qualitative or quantitative analysis. Grönninger (2014), states in favour of the RT Profile and claims that it is itself a UML language on its own, having its own protocols. In addition, UML-RT also allows the program designer in producing models of event-driven complex and distributed real time systems.

The QoS profile faces a major number of challenges in the requirement analysis. These include:

  • QoS Identification: It is a crucial process in the designing phase to identify the best to use QoS service that will maximise the outcome.
  • Perspective and Purpose: The purpose behind the application of one such service must also be notified.
  • Prediction Technique: It is also crucial to determine all the techniques that can be applied in the service prediction process.

Conclusion

It can hence be concluded from the above report that the use of UML profiles can help a great zeal in the design and development of systems of various domains. While UML helps to instantiate real life design problems with a more elaborate viewpoint, UML profiles actually give the opportunity to reveal the imaginative aspects of the design as well. The different types of UML profiles like SPT, QoS and RPT have their own specific class of usefulness. While SPTs profile provides better performance and scheduling functionalities, QoS helps in the quantitative analysis process followed by a broader work scenario. Finally, the RPT profile helps in the real time environment design and modelling techniques.

References

Basso, T., Montecchi, L., Moraes, R., Jino, M. and Bondavalli, A., 2015, October. Towards a UML profile for privacy-aware applications. In Computer and Information Technology; Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing (CIT/IUCC/DASC/PICOM), 2015 IEEE International Conference on (pp. 371-378). IEEE.

Bernardi, S., Merseguer, J. and Petriu, D.C., 2012. Dependability modeling and analysis of software systems specified with UML. ACM Computing Surveys (CSUR), 45(1), p.2.

Bernardi, S., Merseguer, J. and Petriu, D.C., 2012. Dependability modeling and assessment in uml-based software development. The Scientific World Journal, 2012.

Dennis, A., Wixom, B.H. and Tegarden, D., 2015. Systems analysis and design: An object-oriented approach with UML. John wiley & sons.

Gómez, A., Merseguer, J., Di Nitto, E. and Tamburri, D.A., 2016, July. Towards a UML profile for data intensive applications. In proceedings of the 2nd International Workshop on Quality-Aware DevOps (pp. 18-23). ACM.

Grönninger, H., Hartmann, J., Krahn, H., Kriebel, S., Rothhart, L. and Rumpe, B., 2014. Modelling automotive function nets with views for features, variants, and modes. arXiv preprint arXiv:1409.6628.

Guerriero, M., Ciavotta, M., Gibilisco, G.P. and Ardagna, D., 2015, September. A model-driven DevOps framework for QoS-aware cloud applications. In Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), 2015 17th International Symposium on (pp. 345-351). IEEE.

Larman, C., 2012. Applying UML and patterns: an introduction to object oriented analysis and design and interative development. Pearson Education India.

Moniem, H.A. and Ammar, H.H., A framework for Performance Prediction of Service-Oriented Architecture. vol, 4, pp.865-870.

Shousha, M., Briand, L. and Labiche, Y., 2012. A uml/marte model analysis method for uncovering scenarios leading to starvation and deadlocks in concurrent systems. IEEE Transactions on Software Engineering, 38(2), pp.354-374.