Content uploaded by Jaroslaw Zelinski
Author content
All content in this area was uploaded by Jaroslaw Zelinski on Jan 10, 2021
Content may be subject to copyright.
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 1z 12
PIM modelling - Reduction of UML
notation
Jarosław Żeliński, independent resarcher, jaroslaw.zelinski@gmail.com
(drat on Researchgate, not published)
The work is an attempt to systematise the use of key OMG.org notations in the process of system
analysis and design. Under the term
. and UML of knowledge in the field of object-oriented analysis and design and the notation systems
used in this area. The author pays special attention to the differences between data- and
responsibility-oriented design methods (chapter Analysis and object-oriented design). The following
section describes the conceptual basis described in the SBVR, MOF, MDA specifications and the
modelling method using UML notation. The author argues that ontology is not a model of the world,
it only describes it.
Key words: UML, SBVR, object-oriented, MOF, MVC, MDA,
1. introduction
Object-oriented analysis and design are based on the so-called object-oriented paradigm. In the 1990s it
was referred to as "building applications from objects connecting data and their processing methods".
These were times when object-oriented methods and languages were mainly used to replace structural
programming, and the key goal was to re-use the code [(Dennis et al., 2012)]. Since around 2000, the
object-oriented paradigm has been defined as object-oriented programming, the key feature of which is
responsibility [(Bruegge et al., 2011); (Wirfs-Brock & McKean, 2009)]. Such a definition fits into the
definition of the concept of a system of general system theory: a system is a set of logically related and
collaborative objects [(Bertalanffy, 2003)], and the perception of an application as a system allows to
consider object-oriented analysis and design (OOAD, Object Orientet Analysis and Design) as system-
oriented analysis and design (see also MDSE, Model Driven System Engineering [(Brambilla et al.,
2012)]).
The key features of the objects are airtightness and polymorphism. Since airtightness and
polymorphism are in consequence also total lack of sharing of any elements between the objects,
Subscribe to DeepL Pro to edit this document.
Visit www.DeepL.com/Pro for more information.
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 2z 12
inheritance has been removed from the paradigm definition, and re-use of the code (components)
guarantees polymorphism ((OMG.org, 2017); (Wirfs-Brock & McKean, 2009); (McLaughlin et al.,
2008)).
However, data-oriented analysis and design methods are still very popular (treating class
attributes as columns of data tables). Additionally, the relational model of data organization causes
problems in designing large multi-domain systems. Object-oriented object-oriented methods are
completely abstracted from data models (in particular from relational models without redundancy).
This paper describes structured methods of analysis and design oriented towards an object-
oriented paradigm in the following way: the system is a set of objects representing a specific
responsibility, constituting a specific whole.
Data-oriented object-oriented design methods and structural code re-use methods in the form of
inheritance are still strongly represented in the literature. In this work an attempt was made to organize
the concepts and methods used in object-oriented methods of analysis and design into one coherent
system of methods and tools.
2. object-based analysis and design
[note to the translator, it would probably be best to refer to the Oxworski dictionary as a source]
The most important concepts used in this text will be paradigm, model and system. The Encyclopedia
(PWN) states:
paradigm: a generally recognised achievement of science. (theory of sciences.) which over a
period of time provides model solutions (model) in a given field of science;
model (nominal model): an arrangement of assumptions made in a given science in order to
facilitate (or enable) the resolution of a given research problem; theoretical model, the definition
of a nominal construct. as a hypothetical mental construct, which is a simplified picture of the
part of reality being studied, in which mental features, relationships or other elements not
relevant for the purpose are eliminated; theoretical models are introduced to science for their
usefulness in building scientific theory.
system: any conceptual or physical system, consisting of parts interrelated and interacting with
each other (Bertalanffy, Ackof), a set of elements and relations between them capable of
achieving specific objectives (www.omg.org, Model Driven Engineering); SJP: a set of
elements having a specific structure and forming a logically ordered whole, an ordered set of
statements, views, forming a theory, a log. a complex and ordered set of sentences connected
with each other by relations of logical result.
Idealisation has been used as a basic tool for building system abstraction [(McMullin, 1985),
(Weisberg, 2007), (Wheeler, 2018)].
2.1 Analysis and design
The concepts of analysis and design are basic engineering terms. The dictionary of the Polish language
(https://sjp.pwn.pl/) provides:
analysis "of a problem or phenomenon from different sides in order to understand or explain it;
or: an explanation or description resulting from such an analysis", "a research method consisting
of extracting from a given whole its elements and examining each of them individually"
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 3z 12
logical analysis "using logical means to check the reasonableness or truthfulness of claims, to
check reasonableness or to clarify concepts".
a "document containing calculations, drawings, etc., concerning the execution of an object or
device".
design "design development"
Object-oriented analysis and design are the above activities, oriented towards an object-oriented
paradigm, i.e. recognition that the subject of analysis is a system composed of cooperating objects. The
product of the analysis is a model of this system, which can also be a project. In other words,
understanding a specific phenomenon leads to the creation of its model, which allows to recreate it e.g.
in the form of software ((McLaughlin et al., 2008)).
2.2 Object methods
Dictionary of Polish language:
the method: 'a deliberately applied way of proceeding in order to achieve the intended purpose'.
way: "a certain course of action, a form of execution of something"
object: 1) "an object that can be seen or touched", 2) "an abstract thing, e.g. a feature or
concept", 3) "something that is related to someone's actions, interests or feelings"
Thus, an object-oriented method of analysis and design, here we will call it a way of developing a
description of the system, expressed by the concept of an object (an object or an abstract thing to which
someone's actions relate). Assuming that a system is: an arrangement of elements that has a certain
structure and forms a logically ordered whole, the object-oriented model of a system is an arrangement
of cooperating objects, each of which has a certain responsibility.
The method of documenting the results of object-oriented analysis is to create block diagrams
expressed in a specific conceptual and iconic system (a set of defined symbols). Currently the de facto
standard is UML notation [(OMG.org, 2017)].
2.3 A field-specific glossary of business terms and rules
SBVR (full name in English: Semantics of Business Vocabulary and Business Rules) is a specification
describing how to build a glossary of terms and a system of business rules based on it. This system is
used to develop a coherent description of business logic.
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 4z 12
Semiotic triangle
Fig.: Semiotic triangle ((OMG.org, 2019))
The semiotic triangle, described by J. Sowa ((Owl, 2000), is the foundation for creating conceptual
models and structures of systems. The SBVR is the linguistic basis for this specification. The SBVR is
a definition and notation system for building conceptual models and systems of business rules. The
basic assumption of the description of business logic is business rules ((Business Rules Group, 2003))
built using defined concepts and predictions. An example of such rules is:
Only cars with chains on their wheels may be allowed to enter a mountain road.
The underlined words are basic dictionary terms. The predicate is in italics. The others are
contextual facts, linking the others into a whole, forming a correct sentence in natural language. The
main advantage of the SBVR is that we express logic with sentences in natural language, not with
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 5z 12
mathematical formulas. For rules to be interpreted correctly and unambiguously, key (underlined) terms
need to be clearly defined, and this is what the domain-specific Uniform Business Terms Dictionary
serves (see (OMG.org, 2019), chapter 8.8.). Within a domain, terms can be semantically linked
(association) by a fact (let on) and a type association (specialisation/generalisation e.g. a mountain road
is a type of road). This can be illustrated by the so-called facts model. It is a diagram of UML notation
classes ((OMG.org, 2017)) containing only concepts (classes), targeted associations representing facts
and generic associations linking more generalised concepts to their types (an example below).
2.4 Object oriented meta-models
Meta-Object Facility ((OMG.org, 2016)) is a specification describing the conceptual basis of notation
systems managed by the Object Management Group (www.omg.org).
MOF vs. SBVR
Fig.: MOF vs. SBVR
The basic elements of notation systems based on MOF specifications are classifiers, classes and objects
(class instances). If the context of the model is the structure of a particular system, the objects are
abstractions representing elements of the real world (or machine code in computer memory). Classes
and classifiers are respectively set names and definitions of elements of these sets (i.e. ontology).
The MOF vs. SBVR diagram shows the levels of abstraction according to MOF, MOF and the so-
called semiotic triangle described in the chapter Fields of Business Terms and Rules Dictionary. The
MOF describes in general terms the relationship between the concepts: object, object class and
expression system. In other words:
M0 is the real world (character designators),
M1 is an abstraction of the real world: its model (signs-objects representing designators on
models),
M2 is a meta-model of the real world, the object classes (names of the designator collections)
and their corresponding classifiers (definitions of the designator collections),
M3 is a meta-meta-model, (description system or specific notation)
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 6z 12
The MOF vs. SBVR diagram shows which levels of abstraction are covered by UML notation and
how the SBVR (semiotic triangle) linguistic system is related to MOF abstraction levels.
2.5 Architecture and model-oriented design
Model Driven Architekture ((OMG.org, 2014b), Architecture Designed using Models) is a specification
that describes four key stages of the software development process carried out using models:
1. Computation Independent Model (CIM)
2. Platform Independent Model (PIM)
3. Platform Specific Model (PSM)
4. Coding (implementation)
The Calculation-independent Model (CIM) is the model defined in the MDA specification as the
basic model. This model reflects knowledge of the system (and software) from a business perspective.
The CIM may contain business knowledge of the organisation, roles, functions, processes and
activities, documentation, constraints, etc. The CIM must contain business requirements for the
software system.
The PIM model focuses on a high-level business logic, abstracting from the technology and
environment of system implementation.
The PSM model defines functionality in a platform-specific manner. It complements the PIM
model with a description of the implementation environment.
Fig. : PIM model vs. PSM model
To show the difference between PIM and PSM models we will use the MVC architectural template
(Model, View, Controler, [(Steve Burbeck, 2012)]). This is currently the basic object-oriented
architectural template. The PIM vs. PSM model (UML notation components diagram) shows two
models. On the right, the PSM model (Platform Specific Model ), which shows the structure of the
MVC pattern. On the left the PIM model (Platform Independent Model). So you can assume that the
Platform Specific Model is an implementation of the Platform Independent Model.
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 7z 12
2.6 Unified Modeling Language and Modeling
Unified Modeling Language ((OMG.org, 2017) is a universal modeling language. The idea of UML is
based on the principle described in the MOF specification of describing (modelling) reality in the form
of abstraction: block diagrams, being a model (M1 MOF level) or a metamodel (M2 MOF level) of a
specific reality. Whether a specific model describes a specific reality or (future) software, in other
words, is either the result of analysis or the result of design.
In UML, we operate the concepts of class and classifier, respectively: the names of things and
their definitions. On UML block diagrams we put their abstractions (agreed symbols). A UML diagram
may represent the relationship between concepts or the system structure. If they represent dictionary
concepts, it is a conceptual model. If they represent specific realities, this diagram is a model of a
specific reality.
Taking the object-oriented paradigm of analysis and design, the UML scheme presents concepts
(names) from a specific conceptual domain or elements of a specific system, and the relationships
between them.
Computers, Models,
and the Embedding World
Computers, Models, and the Embedding World ((Smith, 1985))
Software processes information about the world, software is not that world. He pointed this out (Smith,
1985). This is illustrated by the diagram of Computers, Models, and the Embedding World. Therefore,
in the course of the analysis, the vocabulary structure describing the structure and elements of the real
world (Domain Conceptual Model) should be separated from the architecture of software and processed
information (System Structure Model).
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 8z 12
Fig.: The conceptual model of the system domain and the structure of the system
Some authors have put forward the thesis that the model is part of the ontology [(Guizzardi, 2007)]. I
think that is the wrong approach. The model as a description of the structure of the system and the logic
of its operation (mechanics). Elements of the model (its structure) are called concepts from the
conceptual model, as I have already demonstrated [(Jarosław Żeliński, 2019)], a similar position is
found in the literature [(Farfeleder et al., 2011)]. Therefore, in the further part of the concept, the
conceptual space (namespace, conceptual model or more broadly ontology) and the system model will
be separate models.
The basic elements of system models in the object-oriented approach are presented in the diagram
Conceptual model of the system domain and system structure. The System Structure Model package
contains the system model: its structure. The Domain Conceptual Model package contains concepts and
relations between them.
The system is a collaborative facility, hence the basic link of the system structure is the UML
dependency. UML notation also allows to model complex elements of the systems (structural
classifiers), here additionally the whole part and the containment relationship can be used. Conceptual
models are dictionary concepts and relationships between them. They can be: specialisation-
generalization relationship and semantic relationship (association). Specialisation trees are called
taxonomies. If the model is maintained in an object-oriented paradigm, system models and conceptual
space models are separate models: namespace concepts are used as names of elements (names of
classes, attributes and their values, operations) in a system structure model. The conceptual model
provides an intelligibility of the structure model. The taxonomy of relationships is shown in Fig. Basic
relationships in UML - Taxonomy.
The UML notation is primarily the class diagram discussed here. The UML specification also
contains a description of the so-called thirteen types of diagrams, they are in fact profiles of the class
diagram. It also contains predefined supplementary concepts such as package, value, types and others.
Detailed descriptions of UML notations are available in the original specification ((OMG.org, 2017)) as
well as in the extensive literature. ((Maciaszek, 2001)(McLaughlin et al., 2008), and others). (Note: In
2015, the aggregation relationship and the concept of inheritance were removed from UML.)
Ontology is not a model of the world, it only describes it.
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 9z 12
Fig.: Basic relationships in UML - Taxonomy
Fig.: Use case diagram
A specific role in UML notation is played by the Usage Case Chart. This is a complementary diagram
in UML notation that is used to describe the requirements for the system. The basic elements of this
diagram are the actor, the use case and the object of the project (System). An actor is every being
outside the object of the project, and the Usage Cases are a service of the System, the reason why the
System should be created. The System in this diagram is an abstraction, its realization is the System
Structure Model shown also in the diagram. The conceptual model of the System domain and the
System structure. In the diagram of the Usage Case Chart two contexts of the actor are shown: The
actor can demand a service (use case) from the system (Actor1) or be a service provider for the system
(Actor2).
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 10z 12
3. summary
4 Literature
Name Description
(Ackoff et al., 2006) Ackoff, R. L., Magidson, J., & Addison, H. J. (2006). Idealized design:
Creating an organization's future. Wharton School Pub.
(Bertalanffy, 2003) Bertalanffy, L. van. (2003). General system theory: Foundations,
development, applications (Rev. ed., 14. paperback print). Braziller.
(Brambilla et al., 2012) Brambilla, M., Cabot, J., & Wimmer, M. (2012). Model-driven software
engineering in practice. Morgan & Claypool.
(Bruegge et al., 2011) Bruegge, B., Dutoit, A. H., & Grażyński, A. (2011). Software engineering in
terms of objects: UML, design patterns and Java. Helion Publishing House.
(Business Rules Group,
2003) Business Rules Group. (2003, listopad 1). The Business Rules Manifesto.
https://www.businessrulesgroup.org/brmanifesto.htm
(Dennis et al. , 2012) Dennis, A., Wixom, B. H., & Roth, R. M. (2012). Systems analysis and
design (5th ed). John Wiley.
(Farfeleder et al., 2011) Farfeleder, S., Moser, T., Krall, A., St\aalhane, T., Omoronyia, I., & Zojer,
H. (2011). Ontology-driven guidance for requirements elicitation. Extended
Semantic Web Conference, 212-226.
(Fonseca et al., 2019) Fonseca, C. M., Porello, D., Guizzardi, G., Almeida, J. P. A., & Guarino, N.
(2019). Relations in Ontology-Driven Conceptual Modeling. IN A. H. F.
Laender, B. Pernici, E.-P. Lim, & J. P. M. de Oliveira (Red.), Conceptual
Modeling (T. 11788, p. 28-42). Springer International Publishing.
https://doi.org/10.1007/978-3-030-33223-5_4
(Frigg & Hartmann,
2006) Frigg, R., & Hartmann, S. (2006). Models in Science.
https://plato.stanford.edu/archives/sum2019/entries/models-science/
(Guizzardi, 2007) Guizzardi, G. (2007). On ontology, ontologies, conceptualizations, modeling
languages, and (meta) models. Frontiers in artificial intelligence and
applications, 155, 18.
(Jarosław Żeliński,
2019) Jarosław Żeliński. (2019). Synthesis of MOF, MDA, PIM, MVC, and BCE
Notations and Patterns. W Applications and Approaches to Object-Oriented
Software Design: Emerging Research and Opportunities. IGI Global.
https://www.igi-global.com/book/applications-approaches-object-oriented-
software/235699
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 11z 12
Name Description
(Larman, 2005) Larman, C. (2005). Applying UML and patterns: An introduction to object-
oriented analysis and design and iterative development (3rd ed). Prentice
Hall PTR, c2005.
(Liu, 2004) Liu, C. (2004). Laws and Models in a Theory of Idealization. Synthese,
138(3), 363-385.
(Maciaszek, 2001) Maciaszek, L. (2001). Requirements analysis and system design:
Developing information systems with UML. Addison-Wesley.
(Madkour et al., 2020) Madkour, M., Butler, K., Mercer, E., Bahrami, A., & Tao, C. (2020).
Semantic based model of Conceptual Work Products for formal verification
of complex interactive systems. ArXiv Preprint ArXiv:2008.01623, 11.
(McLaughlin et al.,
2008) McLaughlin, B., Pollice, G., & West, D. (2008). Object-Oriented Analysis
& Design. HELION.
(McMullin, 1985) McMullin, E. (1985). Galilean idealization. Studies in History and
Philosophy of Science Part A, 16(3), 247-273. https://doi.org/10.1016/0039-
3681(85)90003-2
(Miller & Wirfs-Brock,
1999) Miller, J., & Wirfs-Brock, R. (1999). How Can a Subsystem Be Both a
Package and a Classifier? (s. 753). https://doi.org/10.1007/3-540-46852-
8_41
(OMG.org, 2014) OMG.org. (2014, styczeń). About the Business Process Model and Notation
Specification Version 2.0.2. https://www.omg.org/spec/BPMN/
(OMG.org, 2014b) OMG.org. (2014, June 18). Model Driven Architecture (MDA).
https://www.omg.org/mda/
(OMG.org, 2016) OMG.org. (2016, October). MetaObject Facility (MOF).
https://www.omg.org/spec/MOF.
(OMG.org, 2017) OMG.org. (2017, December). Unified Modeling Language (UML)
[OMG.org]. UML. https://www.omg.org/spec/UML/.
(OMG.org, 2019) OMG.org. (2019, December). Semantics Of Business Vocabulary And Rules
(SBVR). https://www.omg.org/spec/SBVR/.
(Smith, 1985) Smith, B. C. (1985). The Limits of Correctness. SIGCAS Comput. Soc. ,
14,15(1,2,3,4), 18-26. https://doi.org/10.1145/379486.379512
(Owl, 2000) Sowa, J. F. (2000). Ontology, Metadata, and Semiotics. W B. Ganter & G.
W. Mineau (Red.), Conceptual Structures: Logical, Linguistic, and
Computational Issues (T. 1867, s. 55-81). Springer Berlin Heidelberg.
https://doi.org/10.1007/10722280_5
(discussion paper, development
version)
PIM modelling - Reduction of
UML notation
(c) Jaroslaw Zelinski
publication: 2021-01-10/69
p. 12z 12
Name Description
(Steve Burbeck, 2012) Steve Burbeck. (2012, lipiec 29). How to use Model-View-Controller
(MVC). https://web.archive.org/web/20120729161926/http://st-
www.cs.illinois.edu/users/smarch/st-docs/mvc.html
(Tarski, 1994) Tarski, A. (1994). Introduction to logic and to the methodology of the
deductive sciences (J. Tarski, Red.). Oxford University Press.
(Weisberg, 2007) Weisberg, M. (2007). Three Kinds of Idealization: The Journal of
Philosophy, 104(12), 639-659. https://doi.org/10.5840/jphil20071041240
(Wheeler, 2018) Wheeler, B. (2018). Idealization and the Laws of Nature. Springer.
(Wirfs-Brock &
McKean, 2009) Wirfs-Brock, R., & McKean, A. (2009). Object design: Roles,
responsibilities, and collaborations. Addison-Wesley.
(Wise & Brimhall,
2019) Wise, R., & Brimhall, E. (2019). A Systems Engineering Approach to the
Development of a Domain-Specific Language for Functional Reference
Architectures. W S. Adams, P. A. Beling, J. H. Lambert, W. T. Scherer, &
C. H. Fleming (Red.), Systems Engineering in Context (s. 241-254).
Springer International Publishing. https://doi.org/10.1007/978-3-030-00114-
8_20