<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Expressing Systemic Contexts in Visual Models of System Specifications</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">José</forename><forename type="middle">D</forename><surname>De La Cruz</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">School of Computer and Communications Sciences</orgName>
								<orgName type="institution">Ecole Polytechnique Fédérale de Lausanne</orgName>
								<address>
									<postCode>CH-1015</postCode>
									<settlement>Lausanne</settlement>
									<country key="CH">Switzerland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Alain</forename><surname>Wegmann</surname></persName>
							<email>alain.wegmann@epfl.ch</email>
							<affiliation key="aff0">
								<orgName type="department">School of Computer and Communications Sciences</orgName>
								<orgName type="institution">Ecole Polytechnique Fédérale de Lausanne</orgName>
								<address>
									<postCode>CH-1015</postCode>
									<settlement>Lausanne</settlement>
									<country key="CH">Switzerland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Gil</forename><surname>Regev</surname></persName>
							<email>gil.regev@epfl.ch</email>
							<affiliation key="aff0">
								<orgName type="department">School of Computer and Communications Sciences</orgName>
								<orgName type="institution">Ecole Polytechnique Fédérale de Lausanne</orgName>
								<address>
									<postCode>CH-1015</postCode>
									<settlement>Lausanne</settlement>
									<country key="CH">Switzerland</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Expressing Systemic Contexts in Visual Models of System Specifications</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">EC04BE7C3A1500964FE033275172F057</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T19:02+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Decision support systems can be used to manage systems. Managed systems are described by system specifications. System specification notations, such as UML, often separate in different diagrams the static specification and the dynamic specification of the system of interest. As a consequence, precious contextual information disappears, leading to misunderstandings during the interpretation of the specification. We claim that these problems result from a mechanistic view of reality. By taking a systemic view of reality, it is possible to develop a specification technique that integrates the static and dynamic aspects of the system and, hence, make the contextual information explicit. The benefit is the creation of more expressive system specifications that are less error prone when used for designing and managing systems.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>In decision-making, people have to take decisions about controlled systems. Often a controlled system is managed by an operator and a decision support system <ref type="bibr" target="#b0">[1]</ref>. When the controlled system is not in an expected state, the operator needs to decide what actions to take to regulate the system. When taking its decision, the operator uses a model of the controlled system. Such models are often represented with a graphical specification. We will show in this paper that these graphical representations do not make explicit a lot of the contextual information (for example, what are the effects of the different actions of the controlled system). Our approach for system specification makes contextual information explicit in diagrams. Thus, the operator, who works with a graphical system specification to take her decisions, has less implicit information to include in her decision process.</p><p>Our goal is the representation of contextual information in graphical system specifications. We base our work on the Merriam-Webster [2] definition of context; a definition which is well formed from a systemic modeling standpoint. They define the "context of something" as the "interrelated conditions in which something exists or occurs". Our goal with this paper is to understand both what "something" is and what the "interrelated conditions" are when this definition is applied to graphical system specifications.</p><p>UML <ref type="bibr" target="#b1">[3]</ref> is one of the most popular graphical notations for modeling software (UML takes its roots in software development), systems <ref type="bibr" target="#b2">[4]</ref> and businesses <ref type="bibr" target="#b3">[5]</ref>. UML consists of a set of diagrams that can be categorized into structure-related diagrams (part I of <ref type="bibr" target="#b4">[6]</ref>) and behavior-related diagrams (part II of <ref type="bibr" target="#b4">[6]</ref>). Examples of structure related diagrams are: class, object, and deployment diagrams; examples of behaviorrelated diagrams are: interaction, activity, and state diagrams<ref type="foot" target="#foot_1">2</ref> . The choices made to classify the diagrams as either structure-related or behavior-related dramatically reduce the possibility to express the "interrelated conditions" in which model elements exist: i.e. reduce the capability to express context.</p><p>The way UML diagrams are categorized (and the kind of elements they represent) can be explained by the epistemological principles that underlie mechanistic human thinking, and in particular scientific thinking. As claimed by Lemoigne <ref type="bibr" target="#b6">[8]</ref>, the universal ontology principle drives us to look for theories that are "time-invariant" (universal ontology epistemological principle). This leads all of us (including the UML language designers) to carefully separate diagrams that are time-independent (structure-related) from diagrams that are time-dependent (behavior-related). Quite often, the time-independent diagrams are considered as more general as the timedependent diagrams. For example, a class diagram describes the concepts known by a system at all times. A sequence diagram is "just" an occurrence of a behavior (among the many possible). To make a class diagram specific to a context (i.e. to show only the concepts necessary to describe a behavior) appears to reduce its generality and, hence, to reduce its value. So, class diagrams are usually not context-dependent. This example illustrates why diagrams do not represent time-dependent together with timeindependent model elements. So such diagrams cannot represent contextual information (i.e. the "interrelated relations" between these two kinds of model elements).</p><p>This categorization of diagrams would not be so much of a problem if some additional graphical elements were added to represent the relations between the elements represented in the separate diagrams. For example, in a sequence diagram, it could be useful to represent the state changes of objects that result from the processing of messages. Unfortunately, another epistemological principle strikes here. It is one aspect of reductionism, called Occam's razor <ref type="bibr" target="#b7">[9]</ref>. This principle leads us to minimize the number of elements used in our theories (and in the diagrams). As a consequence, we do not consider useful to represent the context of what we model. We consider that this context is obvious, already known by the modelers, and will clutter the diagram with superfluous information, distracting the modeler from the "essential" message.</p><p>In summary, the categorization of the UML diagrams and the loss of contextual information could be explained by the implicit application to the modeling language of both the universal ontology and the Occam's razor epistemological principles.</p><p>We claim that we can define three modeling principles that can contribute to bring contextual information back into graphical modeling languages applied to system specifications. Based on these principles, we define the elements that need to be represented in a system functional specification and we propose a graphical notation that makes the context explicit (i.e. the modeling elements are represented with their "interrelated conditions"). The notation is relatively close to UML, so people with UML experience can understand it.</p><p>The structure of the paper is as follows. In Section 2 we present an example to illustrate the research questions we address in this paper. This example will be used through the paper. In Section 3, we present the three principles underlying our notation and explain what needs to be made explicit in the diagrams. In Section 4, we present the solution we obtained for the example of Section 2. Finally, in Section 5, we relate our work to other research.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Example and Research Questions</head><p>We illustrate our point with the example of a video rental store. The focus of the analysis is the store's IT system called the POint of Rental Terminal (PORT). We provide, in this Section, the UML specification of one service provided by the PORT.</p><p>The PORT registers the loan of videos as well as the return of rented videos made by the customers. For renting videos, a customer must first log into the PORT. Then, she selects the videos she wants to rent. The selected videos are all put into one virtual basket. At the end of the selection process, the customer performs either a Submit or a Cancel. The Submit action confirms the rental of the videos already in the basket; a loan record will then be created in the PORT. If the customer cancels the action, no loan record will be created.</p><p>The concepts known by the PORT in this example are: video (in states rented and available), customer, and loan (in states onLoad and committed). We will model the Submit action, when the videos are already selected and a confirmation from the customer is required to finalize the loan. Figure <ref type="figure" target="#fig_0">1</ref> describes the service Submit_LoanVideo. This service is represented as an activity executed by the PORT (Fig. <ref type="figure" target="#fig_0">1a</ref>). The PORT system has one list, which includes the videos that belong to the video store (Fig. <ref type="figure" target="#fig_0">1b</ref>). The states of both videos and loans change over time (Fig. <ref type="figure" target="#fig_0">1c and 1d</ref>). The objects of class Video can be in either state: available or rented. The transitions are triggered by the messages shown in Fig 1c <ref type="figure">.</ref> In general, there is one state machine by object. We can also see that the objects dialog during the activity (Fig. <ref type="figure" target="#fig_0">1e</ref>). For instance, the PORT has videos Video_1, Video_2 and Video_3 before the loan (Fig. <ref type="figure" target="#fig_0">1f</ref>); then, the customer loans Video_2 and Video_3. As a result, Video_2 and Video_3 become part of the loan Loan_1 (Fig. <ref type="figure" target="#fig_0">1g</ref>). Video_1 is the only instance that is not rented at the end of the activity Submit_LoanVideo</p><p>The UML system specification is made up of a set of seven diagrams and one OCL description.</p><p>Each diagram represents a different concern of the system. This makes the individual diagrams more legible than if they would be merged together. But, as a consequence, the overall specification cannot be easily understood as a whole. There are no visible links between the elements represented in the different diagrams. In most cases, it is the modeler who "glues" the diagrams together within his or her mind <ref type="bibr" target="#b8">[10]</ref>. The seven diagrams required to model the single, partial scenario Submit_LoanVideo in figure <ref type="figure" target="#fig_0">1</ref> illustrates this problem.</p><p>The OCL description is used to add contextual information. OCL <ref type="bibr" target="#b9">[11]</ref> is a textual language for UML. It is used as a complement to the diagrams but is not fully integrated with them. OCL adds one more artifact to interpret. This example raises the following questions: 1. "Can we use fewer, more integrated, diagrams?" The principle of separation of concerns <ref type="bibr" target="#b10">[12]</ref> says that each aspect of the description must be treated individually. However, our experience shows that the overview of the specification is lost in the process. 2. "Can we represent more contextual information in diagrams?" OCL is the means for communicating information that binds diagrams together. We would like to introduce similar information as OCL but graphically.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">"Can we create a model that graphically shows what the services we model</head><p>actually do?" Traditionally, the changes made by the service are made explicit by snapshots. However, to fully understand what happens, the modeler needs to write and read OCL in addition to all the diagrams. As a consequence, the task of understanding the goal the modeler wants to achieve with the service requires a large effort from the modeler <ref type="bibr" target="#b8">[10]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Systemic Modeling of Systems</head><p>In order to make context explicit in system specification, we need to first define the concepts we use to specify systems. Our modeling ontology is inspired by the ISO/ITU standard RM-ODP <ref type="bibr" target="#b11">[13]</ref> that defines how to model systems. A formal description of RM-ODP we have developed is available in <ref type="bibr" target="#b12">[14]</ref>.</p><p>We define the model elements system and environment<ref type="foot" target="#foot_2">3</ref> . The "system" can be defined as a whole (i.e. only its externally visible functionality is described) or as a composite (i.e. its composition is described). One cannot design a system of interest (SoI) without taking into consideration the immediate "environment" that interacts with it. The "supra-system" of the SoI is "the next higher system in which the SoI is a component. The immediate environment is the supra-system minus the SoI itself." <ref type="bibr" target="#b13">[15]</ref>.</p><p>System functionality is described with "information objects" and "actions". Information objects describe information that the system has about itself and about its environment. The system's information is modeled with the "state" of information objects. Actions modify the state of information objects. Note that the information objects and the actions can be further considered as whole or as composite.</p><p>In our approach, we also define two hierarchies: the organizational level hierarchy and the functional hierarchy <ref type="bibr" target="#b14">[16]</ref>. If a system is represented as a whole at a given organizational level then it is represented, at the next organizational level, as a composite (i.e. showing its sub-systems). The "organizational level hierarchy" is useful to capture system components (e.g. an IT system made of software components). The "functional level hierarchy" captures different levels of detail in the functionality of the systems. For example, an action might be described as a whole in one level of functionality and as a composite in the next one. All these concepts are informally defined in <ref type="bibr" target="#b14">[16]</ref> and formally in <ref type="bibr" target="#b15">[17]</ref>.</p><p>The definition of context is the "interrelated conditions in which something exists or occurs" [2]. The term "something" can be replaced by the concepts defined in our modeling ontology. We therefore need to show the "interrelated conditions" (in terms of system, environment, information object, action, state) in which the system, environment, information object, action, state exist. Our main focus in this paper is system specification. Hence, we will mainly analyze the relationships between the concepts: system, information objects, states and actions. We will briefly mention the relation between the system and its environment but this is the topic of future work.</p><p>The "interrelated conditions" between these key elements can be grouped to create a few principles that can explain how to describe context:</p><p>• System / environment complementarity • Action / information object &amp; state complementarity • Whole / composite complementarity In this Section, we present these modeling principles and their impact on the notation. In some cases, we illustrate the principle with illustrations taken from the PORT example.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>System / environment complementarity</head><p>The most obvious "interrelated condition", as stated in the Merriam-Webster definition, is between the system and its information objects and actions. All actions and information objects are within a system. In the notation, the information objects and the actions should be surrounded by a rectangle that represents the system to which they belong (as shown in Figure <ref type="figure">2</ref> for the Information Object X of S).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Fig. 2. "Interrelated condition" between a system and its environment</head><p>Another "interrelated condition" that we will just mention in passing here is the relation between the system and its environment. A system has information about itself and about its environment. For example, in the video store example, the PORT has some information about the physical video that exists in its environment. So, one of the "interrelated conditions" in which an information object exists is the relation between the information object itself (belonging to a system of interest) and what it represents (in the environment of the system of interest). In Figure <ref type="figure">2</ref>, T represents the supra-system of S and X shown in the left part of T is in the immediate environment of the system S. The information object X in S represents the knowledge of S about X in T. This is represented by the &lt;&lt;trace&gt;&gt; relationship. A more systematic analysis of the relationship between a system and its environment is part of our future research.</p><p>We capture the necessity to relate actions, information objects and states to a system in which they exist and the necessity to relate a system to its environment as the "system / environment complementarity principle".</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Action / information object complementarity</head><p>An action changes the state of one or more information objects. Quite often the action's identifier makes implicitly references to the information objects that change state. For example, the modeler can guess that an action rent in a video store refers to a video and a renter because she knows the meaning of the word rent. With this knowledge, the modeler can guess the relationship between the elements in the diagrams (e.g. in UML, the action rent shown in an activity diagram and the video concept shown in a class diagram as illustrated in Figure <ref type="figure" target="#fig_0">1</ref>). This is not sufficient as the concepts used can be defined in multiple ways. For example, it is unclear if the rent is related to some payment or not. We can eliminate this ambiguity by making explicit, in one diagram, the "interrelated conditions" between the actions and the information objects involved in the actions. So one of the "interrelated conditions", in which an action exists, is the set of information objects that are modified by the action.</p><p>This relation between actions and information objects can be further developed. When a modeler represents an action, implicitly she is referring to a change of state of information objects. Vice-versa, when a modeler represents the change of state of information objects, she is referring to an action. This is known as the state/behavior duality. This duality leads the modeler to often consider that modeling either the action or the state change is sufficient to specify the system. We claim that, if we want to make the context explicit, we need to model both. So, the "interrelated conditions" in which an action exists include the states (before and after the action) of the information objects involved in the action. Vice-versa, the state is related to the actions that consumes them or modifies them. Figure <ref type="figure">3</ref> represents an action A that modifies the state of the information object X and created the object Y. The arrow between the states S1 and S2 illustrates the state transition resulting from the execution of A.</p><p>To show the relation between the actions and their effects, we need a way to relate them. This is done by an identifier (eventA in Figure <ref type="figure">3</ref>), that designates all changes. It is also necessary to represent what triggers the action's execution (and how the action enables system exchanges with its environment). This is done by special information objects that act as parameters. The stereotype &lt;&lt;par in&gt;&gt; indicates that the information object is an input parameter for the system (&lt;&lt;par out&gt;&gt; would indicate an output parameter). In Figure <ref type="figure">3</ref>, the fact that parA enters the system via Param (an input parameter) triggers the state change of X (rounded arrow from S1 to S2) and the creation of Y (shown by the multiplicity change 0 1). All the changes are marked by eventA. One of the labels is underlined and this highlights what triggers the changes. We can see in Figure <ref type="figure">3</ref> that a UML class diagram, a UML activity diagram and a UML state diagram can be merged together.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Fig. 3. Action/State complementarity</head><p>Information objects live in the context of actions. We call this the context of existence of an information object. In figure <ref type="figure">3</ref> we see that action A is the context of existence of all the information objects shown. This means that none of the represented information objects will out-live the action A. In Section 4, we will illustrate how we can represent that an information object can potentially exist during the whole lifecycle of a system (this will be done by relating information objects to the action that represents the overall system lifecycle).</p><p>We capture the necessity to relate action, information objects and state as the "action / information object / state complementarity principle".</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Whole / composite complementarity</head><p>In systemic modeling, the modeling elements (e.g. system, action, information object) can be interpreted as whole or as composite. A modeling element as whole appears as monolithic and its internal structure is hidden for the modeler. A model element as composite exposes to the modeler the component elements and the way they are related. The whole is defined as the result of the composition of its components. The composition of the components can be understood as we know what the whole is. So, as system theory shows <ref type="bibr" target="#b16">[18]</ref>, whole and composite are both necessary as they define the context of each other: the whole is part of the "interrelated conditions" of existence of the composite (and vice-versa). It is because we can recognize the whole that we can see the components and vice-versa. For example, in a video store, the action Rent is understood because we implicitly know that such action includes getting information about the renter and getting information about the videos to be rented. Vice-versa, it is because we know the component actions GetRenter and GetVideos that we can imagine the existence of the composite action Rent. Even if this point appears to be "hair splitting", it is actually crucial if we want to make explicit the implicit information that is hidden in the diagrams.</p><p>In figure <ref type="figure">4</ref>, we apply this principle to the action A. Action A as whole (the bubble on the top) is equivalent to A as composite, composed of the actions A1, A2, A3 and of the constraints of execution between them. The triple association between A as whole and A as composite makes this equivalence relation explicit. In other words, A as whole can be substituted by A as composite.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A2 A1 A3</head><p>S A A</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Fig. 4. Action as whole and action as composite</head><p>The action A as whole and the action A as composite define two functional levels in the functional level hierarchy. One interesting question is: what action is at the top of the functional hierarchy of a system of interest? In other words, what is the action in a system which includes all the actions the system does? This is the action that corresponds to the system lifecycle. This lifecycle action captures the behavioral context in which all other actions exist. The lifecycle action starts when the system is created and ends when the system is dismissed (i.e. the action lasts from system "cradle to grave"). The system's lifecycle action is at the top of the functional hierarchy. The added-value to model the lifecycle is to force the modeler to think on how the system is created and how it is phased out. This can highlight critical issues in terms of system initialization or information retrieval at system phase-out. In figure <ref type="figure">5</ref> we can see that the lifecycle of the system S is equivalent to the set of all the actions that the system can execute (A, B, C and their execution constraints). Each action can be further refined. For example, action B is decomposed into actions B1, B2, B3 together with their execution constraints. In the figures 4 and 5 we have used the most simple execution constraint among the actions, but in real cases, more complex constraints might be used, including loops, partial order, etc.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Fig. 5. Lifecycle composition with actions</head><p>The same complementarity whole / composite of actions shown in figures 4 and 5 can be found on information objects. However, presenting this is out of the scope of this paper.</p><p>We capture the necessity to relate whole and composite as the "whole / composite complementarity principle".</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Summary</head><p>In this section we have presented three principles that drive our modeling process:</p><p>• System / environment complementarity • Action / information object &amp; state complementarity • Whole / composite complementarity These principles permit the inclusion of contextual information in graphical system specification. Contextual information has to do with the "interrelated conditions" in which model elements exist. Through our systemic approach we have shown that any system has a lifecycle, made up of actions that will change the state of the information objects that exist in the system. These information objects represent information about a system of interest and about its environment. The relations between all these model elements need to be explicit if we want to model explicitly the context To accept adding the additional contextual information we propose, requires abandoning the two epistemological principles we have presented in the Introduction.</p><p>The universal ontology epistemological principle states that we can have "universal models". We have shown in our discussion that the actions and the information objects are bound to the lifecycle of the object in which they exists. So, instead of a universal ontology principle we rely on the "lifecycle epistemological principle" that we define as "all actions and information objects exist in specific lifecycles (of systems and actions/information objects)".</p><p>To accept to contextual relations between the model elements requires being less strict in applying the Occam's razor. We still wish to limit the number of concepts we use in the theory (for example in our method, we have 6 main concepts: system, environment, action, information object and state). However, we should not limit the analysis of the relationships between them to only relations between information objects or relations between actions (as, for example, normally done in UML). We should keep the possibility to represent all relationships between actions, information objects and state. In other words: we claim that the Occam's razor should not be applied to eliminate the contextual information.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Application</head><p>Systemic Enterprise Architecture Methodology (SEAM) models complex systems by applying systemic principles <ref type="bibr" target="#b14">[16]</ref>. SEAM is based on explicit epistemological principles (such as the "lifecycle principle") and on the three complementarity principles we just presented. SEAM aims at a holistic and hierarchical representation of the systems. Its main application is enterprise architecture and service modeling. Figure <ref type="figure" target="#fig_1">6</ref> illustrate our technique to represent contextual information. Figure <ref type="figure" target="#fig_1">6</ref> represents, in one diagram, the Submit_LoanVideo action that was modeled with the 7 UML diagrams and the OCL code in Figure <ref type="figure" target="#fig_0">1</ref>. We can interpret the diagram in Figure <ref type="figure" target="#fig_1">6</ref> as follows:</p><p>The PORT system manages:</p><p>− Video which represents the PORT information about the physical video in the VideoStore. The Video can be either rented or available. The system keeps the knowledge of which Video is available (through the lifecycle association called PORT_Available_Video_List). − Loan which represents the fact that a video is rented. The Loan can be either committed or onLoad (when prepared). The system keeps the knowledge of which Loan exists (through the lifecycle association called PORTcommitted_Loan_List).</p><p>All these represent what we would call the "invariant" information in the system. This information will exist during the whole lifecycle of the system (but will not be universal!).</p><p>We need now to represent the action Submit_LoanVideo. − Actions have parameters. The parameter information objects are special cases of information objects that enable communication with the environment of the system. Submit and Response (in gray in Figure <ref type="figure" target="#fig_1">6</ref>) are parameters. Parameters exist only during the execution of the action and they are not known to other actions. − Actions have pre and post conditions. These are visible in Figure <ref type="figure" target="#fig_1">6</ref> (beginning and end of the rounded arrows). The action takes as pre-condition a Loan in the onLoad state and the parameter Submit in the state Confirm. The parameter is coming from the system's environment. As a post-condition, the action creates a Loan in the committed state and outputs a message to the environment (via the parameter Response). − Actions are triggered. In Figure <ref type="figure" target="#fig_1">6</ref>, event [OK] that corresponds to the fact that the Submit input parameter is in the state Confirm, triggers the action. As a result, all transitions marked by [OK] (e.g. Loan from onLoad to committed, rented; Video referenced by Loan/committed and not by Loan/onLoad and output parameter Response generated) are executed. − Actions work on specific information objects. This is represented by the relation current that goes from the action towards the information object Loan. The relation current exists only in the context of the action Submit_LoanVideo. It is not known by any other actions in the lifecycle of the PORT system. On the other hand, the information objects PORT_available_Video_List and PORT_committed_Loan_List exist in the context of the lifecycle of the PORT system; thus, they exist for all actions. Information can be exchanged between actions with the interplay between information objects that exist at different levels of action (e.g. information exchanged between actions using information objects that exist in the system lifecycle). The detailed presentation of this aspect is out of the scope of this paper.</p><p>If wished, it is also possible to represent the action with two diagrams: one showing the state of the system before the action (Figure <ref type="figure" target="#fig_2">7a</ref>) and one after the action (Figure <ref type="figure" target="#fig_2">7b</ref>). These two diagrams explain the meaning of Figure <ref type="figure" target="#fig_1">6</ref> but provide less information as the relation between both diagrams is not made explicit. The effect of the action can be understood by the fact that the cardinality of the association between Loan in state committed and Video in state rented changes from 0 to 2 while the other one changes from 2 to 0. In summary, Figure <ref type="figure" target="#fig_1">6</ref> is a general purpose dynamic diagram that integrates the preand post-conditions shown in Figure <ref type="figure" target="#fig_2">7</ref> into a single diagrammatic context. Its purpose is to make explicit the changes caused by the action Submit_LoanVideo; these changes are not evident in figures 7a and 7b (as no relations are shown between the two diagrams). We can say that change is a property that emerges to the modeler whenever he compares two diagrams of system state as the ones in Figure <ref type="figure" target="#fig_2">7</ref>. With our notation, as shown in Figure <ref type="figure" target="#fig_1">6</ref>, we make such changes apparent to the modeler. Now, we can show how the contextual information we propose to add can address the problems identified in Section 2. Let us discuss each problem:</p><p>• "Can we use fewer, more integrated, diagrams?" We have shown that the diagrams can provide more contextual information if "structure-related"</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>(a) (b)</head><p>and "behavior-related" elements can appear in the same diagram. It could even be conceived that one diagram can represent all information (about a simple situation). This shows that the definition of what should be in the diagram does not need to be enforced by the modeling language but should only be the result of modeler's taste and needs.</p><p>• "Can we represent more contextual information in diagrams?" With the definition of context we have selected, it is possible to make all contextual information explicit. There is only a limit dictated by the legibility of the diagram.</p><p>• "Can we create a model that graphically shows what the services we model actually do?" With our notation we have shown that we could show pre and post conditions for actions. They are represented by the "change" relationship.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">State of the art</head><p>UML <ref type="bibr" target="#b3">[5]</ref> is the de facto standard of the software industry for object-oriented analysis and design.. Studies on usability of UML, such as <ref type="bibr" target="#b8">[10,</ref><ref type="bibr" target="#b17">19]</ref>, focus only on single diagrams, avoiding the problems caused by the heterogeneous notations. However, some authors consider the UML richness as notation has negative effects since dealing with many items require more analytic effort from the designer <ref type="bibr" target="#b18">[20]</ref>. It is clear that UML can be improved to show more contextual information as we define it in this paper.</p><p>Reasoning with Diagrams (RwD) is an initiative where two sets of graphical formal specifications have been created, namely Spider and Constraint diagrams. Such diagrams are used for reasoning about properties of the resulting object's instances after an action. The first ones describe sets and constraints between sets <ref type="bibr" target="#b19">[21]</ref>. The latter ones extend spider diagrams to show relations between sets and their elements <ref type="bibr" target="#b20">[22]</ref>. The specification of behavior can be done via 3-D contract boxes <ref type="bibr" target="#b21">[23]</ref>. RwD specifications are similar to ours. However, their scope is limited to expressing constraints, and their notation is incompatible with UML (they use 3-D layouts for contracts, and special notation for expressing constraints).</p><p>Object-Process Method (OPM) is Dori's work on system modeling <ref type="bibr" target="#b22">[24]</ref>. As SEAM, it is a holistic approach. Dori has created a graphical and a textual notation (OPD and OPL, respectively), that are exchangeable at any moment of the development. This notation is incompatible with UML but the OPM tool supports the translation of OP models to UML.</p><p>Brézillon proposes the use of Contextual Graphs <ref type="bibr" target="#b23">[25]</ref>. They distinguish different viewpoints (contexts from observers) on a process or situation, and inherently the roles of the agents that participate in the system. They facilitate reasoning for decision making but they are not designed to represent behavior as presented in this paper. Our approach complements the one of Brézillon as our goal is to support precise system specification.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusions and Future Work</head><p>This paper addresses the graphical representation of contexts in visual system specification. We show that the two epistemological principles (universal ontology and Occam's razor) can explain the way we currently structure graphical specifications. We claim that, if we adopt the lifecycle epistemological principle (instead of the universal ontology principle) and if we do not eliminate the contextual relationships, we can get system specifications that exhibit the "interrelated conditions in which the model elements exist". In other words: we can have system specifications that make the contextual information explicit. It is worth highlighting that the Merriam-Webster context definition is very well written from a systemic standpoint.</p><p>Practically, we identified three modeling principles that need to be adopted to model the contexts:</p><p>• System / environment complementarity • Action / information object &amp; state complementarity • Whole / composite complementarity With these principles, we have shown how an action (Submit_LoanVideo) can be graphically specified in its in context if we make explicit its relations to the information objects it modifies (Video and Loan) and its relations to the parameters that enter and leave the system (Submit and Response).</p><p>The proposal made in this paper has been validated in software engineering courses and by making an explicit mapping between the proposed notation and the Z specification language <ref type="bibr" target="#b24">[26]</ref>. Future work includes: modeling of relations between system and environment, modeling of relations between whole / composite, scalability of the notation, tool support.</p><p>In the context of decision support system, our proposal can bring benefits when it is necessary to document the systems that need to be controlled with a decision support system. This is necessary if we expect that the operators, that will use the decision support system, should have an explicit understanding of the controlled system they will have to regulate. Further work includes the validation of the notation in relation with an existing decision support system.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. A simplified set of UML diagrams + OCL code for defining the service Submit_LoanVideo.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 6 .</head><label>6</label><figDesc>Fig. 6. SEAM diagram for service Submit_LoanVideo.. Whenever the input parameter Confirm arrives, the OK event is enabled in all transitions.</figDesc><graphic coords="11,121.68,281.76,345.50,199.32" type="vector_box" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 7 .</head><label>7</label><figDesc>Fig.7. Describing behavior of action Submit_LoanVideo in two diagrams. (a) is the state of the system before the action, (b) the state of the system after the action.</figDesc><graphic coords="13,121.86,122.46,345.44,363.18" type="vector_box" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">The work presented in this paper was supported (in part) by a fellowship awarded by the CFBE and the EPFL-SOC.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">The use case diagram is an exception as it describes structure and behavior, however, the use case diagram has some limitations (e.g. diagram centered on one system) which limits its use as a general purpose diagram<ref type="bibr" target="#b5">[7]</ref>.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">In RM-ODP, the term "system" designates an entity in the universe of discourse and not a model element in the model. For sake of simplicity, in this paper, we consider that the term "system" designates the representation of a "system" in the model. So "system" is a model element. This paper does not address any issues related to the universe of discourse.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Reasoning with contextual graphs</title>
		<author>
			<persName><forename type="first">P</forename><surname>Brézillon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Pasquier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-C</forename><surname>Pomerol</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">European Journal of Operation Research</title>
		<imprint>
			<biblScope unit="volume">136</biblScope>
			<biblScope unit="page" from="290" to="298" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<author>
			<persName><surname>Omg</surname></persName>
		</author>
		<ptr target="www.omg.org" />
		<title level="m">Unified Modeling Language (UML)</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><surname>Omg</surname></persName>
		</author>
		<ptr target="http://www.sysml.org/artifacts.htm" />
		<title level="m">SysML Specification</title>
				<imprint/>
	</monogr>
	<note>0.9 Draft</note>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Business modeling with UML Business Patterns at work</title>
		<author>
			<persName><forename type="first">H.-E</forename><surname>Eriksson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Penker</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2000">2000</date>
			<publisher>Wiley</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<author>
			<persName><surname>Omg</surname></persName>
		</author>
		<idno>ptc/03-08-02</idno>
		<ptr target="http://www.omg.org/docs/ptc/03-08-02.pdf" />
		<title level="m">Unified Modeling Language: Superstructure 2.0 Final adopted specification</title>
				<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">The Role of ¨Roles¨ in Use Case Diagram</title>
		<author>
			<persName><forename type="first">A</forename><surname>Wegmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Genilloud</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 3rd International Conference on the Unified Modeling Language (UML2000)</title>
				<meeting>3rd International Conference on the Unified Modeling Language (UML2000)</meeting>
		<imprint>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="210" to="224" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">J.-L</forename><surname>Le Moigne</surname></persName>
		</author>
		<title level="m">Les épistémologies constructivistes</title>
				<meeting><address><addrLine>Paris</addrLine></address></meeting>
		<imprint>
			<publisher>Presses Universitaires de France</publisher>
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<author>
			<persName><forename type="first">R</forename><surname>Audi</surname></persName>
		</author>
		<title level="m">Cambridge dictionary of philosophy</title>
				<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Why significant UML change is unlikely</title>
		<author>
			<persName><forename type="first">D</forename><surname>Dori</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM (CACM)</title>
		<imprint>
			<biblScope unit="volume">45</biblScope>
			<biblScope unit="page" from="82" to="85" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">On Formalizing the UML Object Constraint Language OCL</title>
		<author>
			<persName><forename type="first">M</forename><surname>Richters</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Gogolla</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Conceptual Modeling -ER &apos;98, 17th International Conference on Conceptual Modeling</title>
				<meeting>Conceptual Modeling -ER &apos;98, 17th International Conference on Conceptual Modeling</meeting>
		<imprint>
			<date type="published" when="1998">1998</date>
			<biblScope unit="page" from="449" to="464" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">On the importance of the separation-ofconcerns principle in secure software engineering</title>
		<author>
			<persName><forename type="first">B</forename><surname>De Win</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Piessens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Joosen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ACSA Workshop on the Application of Engineering Principles to System Security Design (WAEPSSD)</title>
				<meeting>ACSA Workshop on the Application of Engineering Principles to System Security Design (WAEPSSD)</meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<idno>X.903</idno>
		<ptr target="http://isotc.iso.ch/livelink/livelink/fetch/2000/2489/Ittf_Home/PubliclyAvailableStandards.htm" />
		<title level="m">Open Distributed Processing -Reference Model</title>
				<imprint>
			<date type="published" when="1995">1995-1996</date>
			<biblScope unit="volume">2</biblScope>
		</imprint>
	</monogr>
	<note>ITU-T Recommendation X.901. X.904</note>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">Triune Continuum Paradigm: a paradigm for General System Modeling and its applications for UML and RM-ODP</title>
		<author>
			<persName><forename type="first">A</forename><surname>Naumenko</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>EPFL</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">G</forename><surname>Miller</surname></persName>
		</author>
		<title level="m">Living Systems</title>
				<imprint>
			<publisher>University Press of Colorado</publisher>
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
	<note>2nd edition</note>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">A Method and Tool for Business-IT Alignment in Enterprise Architecture</title>
		<author>
			<persName><forename type="first">A</forename><surname>Wegmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Balabko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L.-S</forename><surname>Le</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Regev</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Rychkova</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Conference on Advanced Information Systems Engineering (CAiSE&apos;05)</title>
				<meeting>Conference on Advanced Information Systems Engineering (CAiSE&apos;05)</meeting>
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Definition of an Object-Oriented Modeling Language for Enterprise Architecture</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">S</forename><surname>Le</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Wegmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Hawaii International Conference on System Sciences (HICSS&apos;05)</title>
				<meeting>Hawaii International Conference on System Sciences (HICSS&apos;05)</meeting>
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">An Introduction to General Systems Thinking: Silver Anniversary Edition</title>
		<author>
			<persName><forename type="first">G</forename><surname>Weinberg</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001">2001</date>
			<publisher>Dorset House Publishing</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Object-oriented modeling with UML: a study of developers&apos; perceptions</title>
		<author>
			<persName><forename type="first">R</forename><surname>Argawal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">P</forename><surname>Sinha</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM (CACM)</title>
		<imprint>
			<biblScope unit="volume">46</biblScope>
			<biblScope unit="page" from="248" to="256" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">The Magical Number Seven, Plus or Minus Two: Some Limits on our Capacity for Processing Information</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">A</forename><surname>Miller</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Psychological Review</title>
		<imprint>
			<biblScope unit="volume">63</biblScope>
			<biblScope unit="page" from="81" to="97" />
			<date type="published" when="1956">1956</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Spider Diagrams: A Diagrammatic Reasoning System</title>
		<author>
			<persName><forename type="first">J</forename><surname>Howse</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Molina</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Taylor</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kent</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Gil</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Visual Languages and Computing</title>
		<imprint>
			<biblScope unit="volume">12</biblScope>
			<biblScope unit="page" from="299" to="324" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Towards a Formalization of Constraint Diagrams</title>
		<author>
			<persName><forename type="first">J</forename><surname>Gil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Howse</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kent</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 2002 IEEE CS International Symposium on Human-Centric Computing Languages and Environments</title>
				<meeting>2002 IEEE CS International Symposium on Human-Centric Computing Languages and Environments<address><addrLine>HCC</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2001">2001. 2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Visualising action contracts in object-oriented modelling</title>
		<author>
			<persName><forename type="first">S</forename><surname>Kent</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Gil</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEE Proceedings -Software</title>
		<imprint>
			<biblScope unit="volume">145</biblScope>
			<biblScope unit="page" from="70" to="78" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<title level="m" type="main">Object-Process Methodology: A Holistic Systems Paradigm</title>
		<author>
			<persName><forename type="first">D</forename><surname>Dori</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>Springer Verlag</publisher>
		</imprint>
	</monogr>
	<note>1 edn</note>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Context dynamic and explanation in contextual graphs</title>
		<author>
			<persName><forename type="first">P</forename><surname>Brézillon</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Modeling and Using Context (CONTEXT-03)</title>
				<editor>
			<persName><forename type="first">P</forename><surname>Blackburn</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">C</forename><surname>Ghidini</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><forename type="middle">M</forename><surname>Turner</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">F</forename><surname>Giunchiglia</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer Verlag</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="94" to="106" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">The Z Notation: A Reference Manual</title>
		<author>
			<persName><forename type="first">M</forename><surname>Spivey</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">International Series in Computer Science</title>
		<imprint>
			<date type="published" when="1992">1992</date>
			<publisher>Prentice Hall</publisher>
		</imprint>
	</monogr>
	<note>European. 2nd edition</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
