So, it is not allowed to modify the semantics, structure, and original concepts [ 30 ] of the standard UML. The proposed stereotypes are related to the components of the activity diagram [ 5 ], because they easily adapt themselves to characterize the simulation model [ 31 , 32 ].
This diagram already has established appropriate notations and concepts showing the steps activities , decision points, and bifurcations that occur in a transaction so that makes it easier to display. But any tool supporting UML profiles can be used. The semantic analysis performed to obtain the corresponding equivalences allows identifying the classes of the activity diagram that are necessary to extend through stereotypes.
The simulation software has a greater number of modules, besides those mentioned here, some of which are identified with other classes of UML. The elements that are part of the profile are a subset of the UML metamodel applied to a simulation environment.
An InitialNode is a starting point for the implementation of an activity. In the UML specification, Superstructure v2. The Create module has attributes that define the input parameters, which must be defined by the user when starting the simulation.
Figure 4 shows the stereotype and the extended metaclass. At the starting point of a simulation model we consider the a incoming flow rate generated random or programmed constant as well as the b number of entities that arrive to the system per unit time. In the mining process described in this work, every truck that enters into the system is a starting point. Figure 5 shows the metamodel corresponding to the OMG specification. In this figure we show the metaclass named InitialNode which is a generalization of the metaclass named ControlNode.
Additionally, it has to satisfy the semantics specified with OCL. In a simulation model, this class should specify the number of entities to be clustered as well as how these entities will be grouped refers to whether to use random groups or, on the contrary, the entities should be grouped according to a specific attribute.
This is shown in Figure 9. Figure 10 shows this relationship. The basic modules that integrate the simulation model of Arena are related to each other through connectors [ 10 ].
These connectors indicate how entities flow within the model. These connectors are represented with the metaclass of the activity diagram named ControlFlow. It is not necessary to extend this base class because there is a bilateral matching of the semantics.
Stereotypes defined above integrate the simulation profile that is applied in a mining process. The extended metaclasses were obtained as a result of observing the behavior of the basic modules of the simulation process. This analysis showed that while they share similarities in semantics, these modules have specific attributes that are not specified in the UML base classes, which is why we extended those classes, as described in the previous paragraphs. A model is an abstraction of a system.
In particular in this work we model a mining process. It should be as accurate as possible. In order to find an unambiguous and consistent model, it is necessary to reformulate the restrictions to the developed profile. OCL offers a convenient way of getting models with a high degree of consistency, because it is a formal language used to describe keywords in the model [ 34 ], making them more accurate and less ambiguous.
Algorithm 1. The restrictions fulfill the purpose of validating the model where the proposed stereotypes apply. If an error occurs, it is immediately observed.
In this case, we can introduce corrections so that the model complies with the preestablished conditions and reconcile with the expected results. UML allows expressing specific concepts of discrete event simulation in the field of mining, through the extension of its basic classes. This feature provides high functionality to the proposed extended model, because its behavior is similar to the simulated system. System validation which was obtained by applying the profile to the mining process, where the load-transport cycle is a key part of a reservoir, satisfied the requirements imposed by the daily production.
Having a standard language like UML implies that it is possible to obtain a model with stereotypes with well-formed rules without ambiguous concepts. In this paper we presented an extension of UML for the basic elements of the Arena simulation software, which provides a higher level of abstraction.
The integrated vision of these two languages UML and simulation helps build a consistent model for the process being simulated. Therefore, combining both tools facilitates the development of a system. Metamodel Level. At this level, any UML tool supporting profiles can be used to import the mining profile defined in this work.
In this way, any engineer can use any UML tool for building their mining models using the same modeling language UML profile. The second advantage is that if using a simulation language, other than Arena, or if the same Arena is extended with new characteristics, those characteristics can be easily included into the profile.
The mining UML profile can be included with the specific semantic of any simulation language. Finally, using formal languages supporting mathematic specifications such as OCL first order logic, theory of set and theory of bag ensures much more accurate models than the ones used by other traditional modeling languages such as ERD Entity Relationship Diagram , DFD Data Flow Diagram as general modeling language or ExtendSim Suite, Arena Blocks as specific modeling languages.
The mathematic specifications are incorporated as OCL specifications in the metamodeling level of the profile. Model Level. At this level, the engineer builds its standard models using the proposed profile, and these models can be used in any mining environment. The stereotypes can be applied with any mining process simulation software not only Arena.
Moreover, any UML tool that allows incorporating the standard profiles according to the OMG can be used to modify these models. Finally, we obtained models verified mathematically with OCL. Those are more accurate models according to the restrictions that are specified in the profile level. The authors declare that there is no conflict of interests regarding the publication of this paper.
This is an open access article distributed under the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Article of the Year Award: Outstanding research contributions of , as selected by our Chief Editors. Read the winning articles. Journal overview. Special Issues. Academic Editor: Hongyi Li. Received 25 Jul Revised 14 Nov Accepted 28 Nov Published 04 Feb Abstract An UML profile describes lightweight extension mechanism to the UML by defining custom stereotypes, tagged values, and constraints. Related Work Modeling and simulation techniques provide the possibility of studying new strategies and to predict the effect of new policies, new designs, and new strategies which would otherwise be too expensive or even impossible to implement and test on real cases.
Simulation with Arena Modeling and simulation provide the basis for the efficient solving of various problems related to the operation of complex systems like analysis, optimization, and management and industry problems like mining process, and so forth.
Figure 1. Table 1. Shovel 1 Shovel 2 Shovel 3 Treatment plant Exp 6. Table 2. Figure 2. Behavior diagrams show the dynamic behavior of the objects in a system, which can be described as a series of changes to the system over time , there are seven types of behavior diagrams as follows:. The class diagram is a central modeling technique that runs through nearly all object-oriented methods. This diagram describes the types of objects in the system and various kinds of static relationships which exist between them.
In the Unified Modeling Language, a component diagram depicts how components are wired together to form larger components or software systems. It illustrates the architectures of the software components and the dependencies between them. Those software components including run-time components, executable components also the source code components. The Deployment Diagram helps to model the physical aspect of an Object-Oriented software system.
It is a structure diagram which shows architecture of the system as deployment distribution of software artifacts to deployment targets. Artifacts represent concrete elements in the physical world that are the result of a development process.
It models the run-time configuration in a static view and visualizes the distribution of artifacts in an application. In most cases, it involves modeling the hardware configurations together with the software components that lived on.
An object diagram is a graph of instances, including objects and data values. A static object diagram is an instance of a class diagram; it shows a snapshot of the detailed state of a system at a point in time. The difference is that a class diagram represents an abstract model consisting of classes and their relationships.
However, an object diagram represents an instance at a particular moment, which is concrete in nature. The use of object diagrams is fairly limited, namely to show examples of data structure. Some people may find it difficult to understand the difference between a UML Class Diagram and a UML Object Diagram as they both comprise of named "rectangle blocks", with attributes in them, and with linkages in between, which make the two UML diagrams look similar.
Some people may even think they are the same because in the UML tool they use both the notations for Class Diagram and Object Diagram are put inside the same diagram editor - Class Diagram.
But in fact, Class Diagram and Object Diagram represent two different aspects of a code base. In this article, we will provide you with some ideas about these two UML diagrams, what they are, what are their differences and when to use each of them.
You create "classes" when you are programming. For example, in an online banking system you may create classes like 'User', 'Account', 'Transaction', etc. In a classroom management system you may create classes like 'Teacher', 'Student', 'Assignment', etc. In each class, there are attributes and operations that represent the characteristic and behavior of the class. Class Diagram is a UML diagram where you can visualize those classes, along with their attributes, operations and the inter-relationship.
UML Object Diagram shows how object instances in your system are interacting with each other at a particular state. We use the term object-event worldview for any DES approach combining OO modeling and programming with a general concept of events.
Since simulation engineering can be viewed as a special case of software engineering, it is natural to apply the ideas of MDE also to simulation engineering. In MDE, there is a clear distinction between three kinds of models as engineering artifacts created in the analysis, design and implementation phases of a development project:. Domain models are solution-independent descriptions of a problem domain produced in the analysis phase. They are solution-independent, or computation-independent , in the sense that they are not concerned with making any system design choices or with other computational issues.
Rather, they focus on the perspective and language of the subject matter experts for the domain under consideration. In the design phase, first a platform-independent design model, as a general computational solution, is developed on the basis of the domain model. The same domain model can potentially be used to produce a number of even radically different design models. Then, by taking into consideration a number of implementation issues ranging from architectural styles, nonfunctional quality criteria to be maximized e.
These one-to-many relationships between conceptual models, design models and implementation models are illustrated in Figure 1. In the implementation phase, an implementation model is coded in the programming language of the target platform. Finally, after testing and debugging, the implemented solution is then deployed in a target environment. A model for a software or information system, which may be called a software system model , does not consist of just one model diagram including all viewpoints or aspects of the system to be developed or to be documented.
Rather it consists of a set of models, one or more for each viewpoint. The two most important viewpoints, crosscutting all three modeling levels: domain, design and implementation, are. In the computer science field of database engineering, which is only concerned with information modeling, domain information models have been called conceptual models , information design models have been called logical design models , and database implementation models have been called physical design models.
Information implementation models are called data models or class models. So, from a given information design model, we may derive an SQL data model, a Java class model and a C class model.
Since the latter subsume the former, we prefer using UML class diagrams for making all kinds of information models, including SQL database models. Notice that there is more agreement on the right concepts for information modeling than for process modeling, as indicated by the much larger number of different process modeling languages.
We claim that this reflects a lower degree of understanding the nature of events and processes compared to understanding objects and their relationships. Other languages have been designed for being used on one or two of these three levels only. For instance, Petri Nets cannot be used for conceptual process modeling, since they lack the required expressiveness.
We illustrate the distinction between the three modeling levels with an example in Figure 2. Model-driven simulation engineering is based on the same kinds of models as model-driven software engineering: going from a domain model via a design model to an implementation model for the simulation platform of choice or to several implementation models if there are several target simulation platforms.
The specific concerns of simulation engineering, like, e. However, they define requirements for the modeling languages to be used.
Conceptual information modeling is mainly concerned with describing the relevant entity types of a real-world domain and the relationships between them, while information design and implementation modeling is concerned with describing the logical or platform-independent and platform-specific data structures in the form of classes for designing and implementing a software system or simulation.
In addition, one may model various kinds of part-whole relationships between different kinds of aggregate entities and component entities, but this is an advanced topic that is not covered in this tutorial. As explained in the introduction, we are using the visual modeling language of UML Class Diagrams for information modeling.
In this language, an entity type is described with a name, and possibly with a list of properties and operations called methods when implemented , in the form of a class rectangle with one, two or three compartments, depending on the presence of properties and operations.
Integrity constraints , which are conditions that must be satisfied by the instances of a type, can be expressed in special ways when defining properties or they can be explicitly attached to an entity type in the form of an invariant box. An association between two entity types is expressed as a connection line between the two class rectangles representing the entity types.
The connection line is annotated with multiplicity expressions at both ends. A multiplicity expression has the form m.. Typically, a multiplicity expression states an integrity constraint. For instance, the multiplicity expression However, the special multiplicity expression For instance, the model shown in Figure 3 describes the entity types Shop and Delivery , and it states that.
Using further compartments in class rectangles, we can add properties and operations. For instance, in the model shown in Figure 4 , we have added. Notice that in Figure 4 , each property is declared together with a datatype as its range. Likewise, operations are declared with a possibly empty list of parameters, and with an optional return value type.
When an operation or property declaration is underlined, this means that it is class-level instead of instance-level. For instance, the underlined operation declaration leadTime : Decimal indicates that leadTime is a class-level operation that does not take any argument and returns a decimal number.
We may want to define various types of integrity constraints for better capturing the semantics of entity types, properties and operations. The model shown in Figure 5 contains an example of a property constraint and an example of an operation constraint. These types of constraints can be expressed within curly braces appended to a property or operation declaration. The keyword id in the declaration of the property name in the Shop class expresses an ID constraint stating that the property is a standard identifier, or primary key, attribute.
The expression Exp 0. UML allows defining special categories of modeling elements called stereotypes. For instance, for distinguishing between object types and event types as two different categories of entity types we can define corresponding stereotypes of UML classes «object type» and «event type» and use them for categorizing classes in class models, as shown in Figure 6.
A class may be defined as abstract by writing its name in italics, as in the example model of Figure An abstract class cannot have direct instances. It can only be indirectly instantiated by objects that are direct instances of a subclass.
The Business Process Modeling Notation BPMN is an activity-based graphical modeling language for defining business processes following the flow-chart metaphor. In , the Object Management Group has released version 2.
A Start Event is drawn as a circle with a thin border line, while an Intermediate Event has a double border line and an End Event has a thick border line.
A Sub-Process can be either in a collapsed or in an expanded view. The latter shows its internal process structure. A Gateway is a node for branching or merging control flows. A Gateway can have both input and output flows. An arrow expressing the temporal order of Events, Activities, and Gateways. A Conditional Sequence Flow arrow starts with a diamond and is annotated with a condition in brackets. However, the BPMN process diagram language has several semantic issues and is not expressive enough for making platform-independent computational process design models that can be used both for designing DES models and as a general basis for deriving platform-specific process automation models.
A good modeling tool, with the advantages of an online solution, is the Signavio Process Editor , which is free for academic use. Ontologically, BPMN activities or, more precisely, activity types are special event types. However, the subsumption of activities under events is not supported by the standard semantics of BPMN. Another severe issue of the official BPMN token flow semantics is its limitation to case handling processes.
Each start event represents a new case and starts a new process for handling this case in isolation from other cases.
This semantics disallows, for instance, to model processes where several cases are handled in parallel and interact in some way, e. Consequently, this semantics is inadequate for capturing the overall process of a business system with many actors performing tasks related to many cases with various interdependencies, in parallel.
We need to adapt the language of BPMN Process Diagrams for the purpose of simulation design modeling where a process model must represent a computationally complete process specification.
While we can use large parts of its vocabulary, visual syntax and informal semantics, we need to modify them for a number of modeling elements. A DPMN Event circle corresponds to an event type of the underlying information design model and may trigger both state changes, as specified in Data Object rectangles attached to the Event circle, and follow-up events, as specified by possibly conditional event scheduling Sequence Flow arrows. We consider a simple case of inventory management: a shop selling one product type e.
On each business day, customers come to the shop and place their orders. If the ordered product quantity is in stock, customers pay their order and the ordered products are handed out to them. Otherwise, the order may still be partially fulfilled, if there are still some items in stock. If there are no items in stock, customers have to leave the shop without any item. When the stock quantity falls below the reorder point, a replenishment order is sent to the vendor for restocking the inventory, and the ordered quantity is delivered 1—3 days later.
A class symbol can also be divided to show a class's operations, attributes, and responsibilities. Lines are also important symbols to denote relationships between components. Generalization and Inheritance are denoted with empty arrowheads. Composition is shown with a filled in diamond. Aggregation is shown with an empty diamond.
Dependencies are marked with a dashed line with an arrow. Activity diagrams have symbols for activities, states, including separate symbols for an initial state and a final state. The control flow is usually shown with an arrow and the object flow is shown with a dashed arrow.
A complex enterprise application with many collaborators will require a solid foundation of planning and clear, concise communication among team members as the project progresses. Visualizing user interactions, processes, and the structure of the system you're trying to build will help save time down the line and make sure everyone on the team is on the same page. Learn more about how to build a class diagram without drawing at all using SmartDraw's Class Diagram Extension.
Learn More. Start Now.
0コメント