Benjamin Heymann
email: b.heymann@criteo.com

David Rohde
email: d.rohde@criteo.com

Criteo

Welfare-Optimized Recommender Systems

Keywords: CCS Concepts:, Information systems → Recommender systems discrete choice, random utility models, neural networks, recommendation, dynamic pricing, welfare optimization

We present a recommender system based on the Random Utility Model. Online shoppers are modeled as rational decision makers with limited information, and the recommendation task is formulated as the problem of optimally enriching the shopper's awareness set.

Notably, the price information and the shopper's Willingness-To-Pay play crucial roles.

Furthermore, to better account for the commercial nature of the recommendation, we unify the retailer and shoppers' contradictory objectives into a single welfare metric, which we propose as a new recommendation goal. We test our framework on synthetic data and show its performance in a wide range of scenarios. This new framework, that was absent from the Recommender System literature, opens the door to Welfare-Optimized Recommender Systems, couponing, and price optimization.

Fig. 1. The model of the user as a rational decision-maker with a limited awareness set. At time t1 and t2, the user observes different models of phones, with their prices. At time t3, they decide whether to buy one of the two phones, or to leave the website emptyhanded. This decision is the output of a rational process of utility maximization that takes into account both the features and the prices of the two phones. The novelty of our framework is that we make explicit the difference between what the user knows (the awareness set) and the entire catalog.

recommendation systems. The apparent similarity of conversions and clicks from the point of the merchant/advertiser is misleading, and the current click-optimization approaches are conceptually lacking when it comes to conversion modelling. The three main differences are:

• While clicks are free for the users, conversions cost real money, and therefore the item price should play a big role in the utility computation within the Recommender System. In other words, the price of an item is a disincentive to buy, but not to click.

• Due to finite budgets, users have to make choices and items serving the same need are mainly in competition in the user shopping process. This is much better modelled as a Categorical distribution over the choices, instead of the standard Bernoulli used for click modelling.

• While clicks are conditioned on existing recommendation systems policies (they are bandit feedback by nature), conversions are in a large part organic and therefore less sensitive to changes in recommendation policy. Also, because the goal of recommendation is to facilitate two-party transactions, one needs to clearly state on whose behalf the Recommender System is operating (the buyer or the seller's side).

Our approach

To address all these shortcomings, we rely at learning time on the user's browsing history to infer the set of items over which the user is making the decision to buy or to leave ( Figure 1), and then we frame the problem of recommendation as the problem of finding the optimal enrichment of the user's awareness set (Figure 2). Also, we propose a novel recommendation objective: welfare maximization, moving the focus from ways of splitting the pie -which is the main focus of multi-stakeholder literature-to how to maximize the pie. This leads us to an objective based on the Willingness-To-Pay (WTP), which measures the maximum price that the user is willing to pay for an item.

More precisely, it is the price point where the user is indifferent to buying or not the item [START_REF] Leonard | Elicitation of personal probabilities and expectations[END_REF].

To be able to maximize the WTP objective, we propose a simple algorithm which can be seen as an extension of the classical Matrix Factorization (MF) algorithm [START_REF] Koren | Matrix Factorization Techniques for Recommender Systems[END_REF][START_REF] Xue | Deep matrix factorization models for recommender systems[END_REF] that incorporates price and that can serve both as a user decision model and as a WTP estimator.

Paper contents

In Section 2, we cover the related work on recommendation with prices. In Section 3 we discuss potential applications of the Welfare objective for Recommendation. In Section 4, we introduce the user discrete choice model, and propose RUM-MF (random utility model via matrix factorization), a simple extension of existing MF algorithms. In Section 5, we Manuscript submitted to ACM Fig. 2. The role of recommendation in a limited information setup. Based on its knowledge of the user, the RS points the user to a new item that is likely to be useful. The value of RS is equal to the difference in utility between the user's decisions with or without the recommendation.

introduce our simulated environment and present our results against multiple performance-optimizing baselines on classical and welfare-based metrics. In Section 6, we conclude and outline future research directions.

RELATED WORK

Performance-optimized Recommendation

Performance-optimized Recommendation has a long history, with many initial works related to the problems of clickthrough rate (CTR) optimization for online advertising and search ranking. There are two categories of methods. The first relies on the label or reward given by the user, the second directly learns an order on the items.

The first class of methods was motivated by online advertising, and mostly relies on likelihood-based models. They are preferred due to their calibration properties, and range from the use of large-scale logistic regression with sparse features as in [START_REF] Chapelle | Simple and scalable response prediction for display advertising[END_REF], Gradient Boosted Trees [START_REF] Kushal | Learning the click-through rate for rare/new ads from similar ads[END_REF], Factorization and Field-aware Factorization Machines [START_REF] Juan | Field-aware factorization machines for CTR prediction[END_REF][START_REF] Rendle | Factorization machines[END_REF], and more recently, Deep Neural Networks [START_REF] Swaminathan | Counterfactual risk minimization: Learning from logged bandit feedback[END_REF], Bayesian Methods [START_REF] Sakhi | BLOB: A Probabilistic Model for Recommendation that Combines Organic and Bandit Signals[END_REF], Variational Autoencoders [START_REF] Liang | Variational autoencoders for collaborative filtering[END_REF], and Policy-based methods [START_REF] Swaminathan | Counterfactual risk minimization: Learning from logged bandit feedback[END_REF], leading to state-of-the-art results.

The second class of methods was motivated by search engine design and mostly relies on learning-to-rank models. This includes classical ranking methods such as SVM-Rank [START_REF] Joachims | Optimizing search engines using clickthrough data[END_REF], Triplet Loss and Syamese Networks [START_REF] Dong | Triplet loss in siamese network for object tracking[END_REF] and that have been more recently supplemented by Bayesian Personalized Ranking (BPR) [START_REF] Joachims | Unbiased learning-to-rank with biased feedback[END_REF][START_REF] Rendle | BPR: Bayesian personalized ranking from implicit feedback[END_REF].

Price in Recommendation

Moving to specialized approaches for conversion modelling and the use of price in recommendation, the literature is quite varied and ranges from full user shopping decision modelling via multiple objective matrix factorization of the shopping data as in [START_REF] Wan | Modeling consumer preferences and price sensitivities from large-scale grocery shopping transaction logs[END_REF], to ranking approaches that supplements user -item affinity measures with global and local budget preferences, as in [START_REF] Hu | Learning within-session budgets from browsing trajectories[END_REF].

More recently, [START_REF] Zheng | Price-aware recommendation with graph convolutional networks[END_REF] proposes a Graph Convolution Network-based method to infer category -specific price elasticity, and [START_REF] Wadhwa | Personalizing Item Recommendation via Price Understanding[END_REF] explores several methods to compute item price bands and explicitly model user price affinity for various types of products.

Recommendation and Econometric Models

Probably the closest area of research is the existing body of work around the use of economic-inspired recommendation models. In [START_REF] Zhang | Economic recommendation with surplus maximization[END_REF], the authors outline the relationship between recommendation and surplus or welfare maximization and propose a way to estimate the personalized WTP based on the concavity of the utility function. In our paper, we extend their ideas to support what we think is the realistic case of limited awareness, and propose a different way to estimate the WTP that is closer to standard Matrix Factorization approaches. Similar limitations of the user decision set where already noted in the economic theory [START_REF] Sebastián Lleras | When more is less: Limited consideration[END_REF] literature.

WTP estimation. In [START_REF] Zhao | E-commerce Recommendation with Personalized Promotion[END_REF], the authors propose learning the WTP with auctions on mechanical turk, and using it for personalized promotion. In the follow-up paper [START_REF] Zhao | Multi-Product Utility Maximization for Economic Recommendation[END_REF], the authors propose Multiproduct Utility Maximization (MPUM) based on the complementarity property of some existing choices. In [START_REF] Hu | Learning within-session budgets from browsing trajectories[END_REF] the authors propose learning the in-session WTP using views and purchase decisions.

Buyer's Utility. More recently, in a series of papers [START_REF] Ge | Maximizing Marginal Utility per Dollar for Economic Recommendation[END_REF][START_REF] Xu | E-commerce Recommendation with Weighted Expected Utility[END_REF] the authors propose two economic recommendation objectives, Marginal Utility per Dollar and Weighted Expected Utility. Unlike in our approach, the authors are only considering the user-side.

Seller's Revenue. On the vendor side, [START_REF] Das | Maximizing profit using recommender systems[END_REF][START_REF] Jannach | Price and Profit Awareness in Recommender Systems[END_REF] both raise the point that the product prices have an impact on the seller's revenue and profit and propose alternative ways to incorporate this information in the final recommendation ranking function. In [START_REF] Lu | Show me the money: Dynamic recommendations for revenue maximization[END_REF], the authors propose an extension to dynamic recommendation strategies that take into account demand saturation, and show that the problem is NP-complete and propose tractable heuristics.

Random Utility Models

Discrete Choice Theory is a classical branch of Economics, and Random Utility Models are one of the main tools of the discipline. Discrete Choice theory has its origins in the 60s with work such as [START_REF] Kenneth J Arrow | Capital-labor substitution and economic efficiency[END_REF]. Its use to answer marketing questions was pioneered by Daniel McFadden in [START_REF] Mcfadden | Econometric models of probabilistic choice. Structural analysis of discrete data with econometric applications[END_REF]. He won a Nobel Prize for his work on Random Utility Models (RUM), and more precisely on Conditional Logit models [START_REF] Mcfadden | Conditional logit analysis of qualitative choice behavior[END_REF]. Random Utility models (RUM) have been introduced in the 1970s, a time where the availability of user consumer data was scarce and the observability of the salient user and product features was reduced. However, in modern times, a lot of the user shopping activity moved online, therefore tremendously increasing the volume of available user shopping data and its granularity. Furthermore, it can be argued that in many cases, the modeller has access to a full view of the product information available to the consumer at the moment of the decision. That means that at learning time, we have total access to the full feature set used in the decision-making process, albeit in a raw form. For this reason, recent work has explored the possibility of applying RUM to consumer basket modelling and dynamic pricing (SHOPPER) [START_REF] Donnelly | Counterfactual inference for consumer choice across many product categories[END_REF]. However, though the authors drew parallels to existing recommendation models, the model was not used and benchmarked for recommendation.

WELFARE AND RECOMMENDATION

There are many ways to frame the problem of designing a Recommender System algorithm as a machine learning problem. For some, it is the question of guessing the most probable next item, or of matrix completion, for some others, it is an exploration-exploitation problem (bandit setting). A more recent line of approaches frames the problem of designing a Recommender System algorithm in terms of economic value maximization [START_REF] Zhang | Economic recommendation with surplus maximization[END_REF]. Our claim is that in the presence of sales data, recommendation algorithms can use the price information to directly optimize the welfare of Manuscript submitted to ACM the whole system (which is made of the advertisers and the users), instead of maximizing the probability of an action (click or conversion for instance). We use the simple but powerful idea that users convert when the price is below a stochastic threshold value, the Willingness-To-Pay (WTP) [START_REF] Leonard | Elicitation of personal probabilities and expectations[END_REF], and leverage a mature recommendation algorithm -Matrix Factorization (MF)-to learn the user decision process and the underlying WTP.

We concur with authors in [START_REF] Abdollahpouri | Beyond personalization: Research directions in multistakeholder recommendation[END_REF] who wrote that "recommender systems serve multiple goals and that the purely user-centered approach found in most academic research does not allow all such goals to enter into their design and evaluation". In the case of online shopping, if the Recommender System is a user assistant, one has to raise the concern of contradictory objectives because on the one hand, the sellers might want to maximize their revenues or profit, and, on the other hand, the user is looking to maximize their utility.

The difference between what the user actually pays and the WTP can be seen as a surplus/utility that the user wants to maximize. On the seller side, we suppose the seller to be a revenue maximizer -we could equivalently suppose a profit maximizing criterion by taking into account the seller's procurement cost. We propose to maximize the total welfare of the system buyer+seller, defined as the sum of the utility of the buyer and the seller. If, whenever a sale occurs, the buyer's utility is their surplus (WTP -price) and the seller utility is the revenue generated by the sale (the price), then the sum of the two results in the system maximizing the expected WTP.

A SHOPPER'S BEHAVIOURAL MODEL

User Decision Model

In this section, we present a simple model for the user behaviour. Such model can be understood by describing what happens between the moment the user reaches the e-tailer page, to the moment the user leaves or decides to buy something. In this description, we suppose that the user is looking for one specific category of product (for example, a pair of shoes or a mobile phone). By design, our model does not encompass the purchase of several goods, hence while not adapted for grocery shopping, we believe this encompasses a lot of the situations where Recommender Systems play a key role as shopping assistants.

Our main assumption is that while the user browses the e-tailer website -for example, looking for a new mobile phone -, they learn about the different alternatives proposed by the website. More precisely,we suppose that we can infer the awareness set over which the user decides to purchase something, or simply leave. For instance, in order to build the awareness set, one can take the browsing history and add the most popular items in the category, as well as the previous purchases.

By doing so, and assuming the user is rational and risk-neutral, we can define its decision process as choosing the item 𝑗 ★ that maximizes their utility over the associated awareness set at time t 𝐷 𝑖 (𝑡) , to which we add the no buy option (by definition, the no buy option brings 0 utility). More formally, we have that:

𝑗 ★ (𝑡) ∈ argmax 𝑗 ∈𝐷 𝑖 (𝑡 ) 𝑢 𝑖,𝑗 (𝑡), (1)
where 𝑢 𝑖,𝑗 (𝑡) is the total utility of user 𝑖 for item 𝑗:

𝑢 𝑖,𝑗 (𝑡) = 𝑤 𝑖,𝑗 -𝑝 𝑗 (𝑡), (2)
computed as the surplus between the Willingness-To-Pay (WTP) 𝑤 𝑖,𝑗 and the price 𝑝 𝑗 (𝑡) of item 𝑗 at time 𝑡 . In our case, time 𝑡 is the index of the browsing session, to support the case where the user has performed multiple shopping trips.

Manuscript submitted to ACM

It is classical but notable that in our formulation, we get a relation between the utility, and the odds ratio between two alternatives:

log Pr(𝑥 𝑖 (𝑡) = 𝑗 |( 𝑗, 𝑗 ′ ) ∈ 𝐷 𝑖 (𝑡)) Pr(𝑥 𝑖 (𝑡) = 𝑗 ′ |( 𝑗, 𝑗 ′ ) ∈ 𝐷 𝑖 (𝑡)) = 𝑢 𝑖,𝑗 -𝑢 𝑖,𝑗 ′ 𝜅 𝑖 . (5)
The interpretation of Equation 5is that the odd ratio between two alternatives is fully explained by the difference in utility the two alternatives provide to the user. So if 𝜅 𝑖 is known, we can relate the WTP, the prices, and the odd ratio between two alternatives

EXPERIMENTS

While many RecSys performance studies rely on datasets with logged partial feedback to back their claim, such methodology is not adapted to the problem at hand, since we cannot have access to the true WTP in real life datasets.

For this reason, we build our own simulated environment in which we observe the behavior of our proposed method against existing state-of-the-art. For more discussion on the use of simulators in the analysis of Recommender Systems, see [START_REF] Michael D Ekstrand | SimuRec: Workshop on Synthetic Data and Simulation Methods for Recommender Systems Research[END_REF].

The simulator

Our data generator takes as input the number of users and items, the number of sessions per user, the number of items seen in each session and the dimension 𝑑 of the latent space. It then generates two vectors from a 𝑑-dimensional Gaussian distribution. Those two vectors are then used as means for generating the users and items 𝑑-dimensional representations (by sampling from a Gaussian distribution). Each item's price is set to be revenue maximizing plus uniform noise. Once the items and the users are generated, we generate user sessions by exposing users to random sub-samples of items from the catalog and at the end of each session we run the utility computation to create the session outcome. Simulation environments. For our experiments, we define three types of configurations with various levels of difficulty for our simulator, as shown in Table 1. We classify the level of difficulty of the environment based on the user and item-level sparsity of the training data. In the medium configurations, each user sees 30% of the catalog and each item has associated around 300 events. In the hard case each user sees only 3% of the catalog and each item is visited on average only 30 times. Both the item and user vectors are of dimension 10 and the associated Gaussian distributions have their variance set to 3. The only other simulator parameter is the price noise which we kept fixed to the range 0-5.

Training

We implemented all our models in PyTorch and used Adam [START_REF] Diederik | Adam: A method for stochastic optimization[END_REF] to optimize over a 𝐿 2 -regularized cross-entropy loss. In the implementation of the RUM-MF model we opted for a slightly different parametrization than the one in Equation.4, which is still equivalent to it, but in which the parameter 𝜅 𝑖 parameter can be seen as the price sensitivity of the user specific to the product category:

Pr(𝑥 𝑖 (𝑡) = 𝑗) 𝑅𝑈 𝑀-𝑀𝐹 = exp(𝑋 𝑖 • 𝑌 𝑗 -𝜅 𝑖 𝑝 𝑗 (𝑡)) 𝑗 ′ ∈𝐷 𝑖 (𝑡 ) exp(𝑋 𝑖 • 𝑌 𝑗 ′ -𝜅 𝑖 𝑝 𝑗 ′ (𝑡)) (6)
The Neural Network jointly learns the embedding and 𝜅 on sales signals by LLH maximization. As a result, we will estimate the WTP as the ratio of the dot product between the user and item vectors and the user sensitivity to price:

𝑤 𝑖,𝑗 = 𝑋 𝑖 •𝑌 𝑗 𝜅 𝑖 .
When estimating WTP, we cap all our learnt sensitivities to minimum 0.1.

Metrics

In order to compute our metrics, we assume that our recommendations will be shown in slates of various sizes. We use a greedy approach to fill the banner using the top k products ranked by their expected Value per Sale (eVPS), as defined below:

𝑒𝑉 𝑃𝑆 𝑗 |𝑖 = Pr( û𝑖,𝑗 > 0) × 𝑉 𝑎𝑙𝑢𝑒 𝑗 (7)
where 𝑉 𝑎𝑙𝑢𝑒 𝑗 is the value of the sale, which can be one of the four: volume (value equal to 1), user's utility, seller's revenue and overall welfare. While the greedy slate-filling approach is not optimal, it is by far the most popular approach and it has been shown in [START_REF] Derakhshan | Product ranking on online platforms[END_REF] to be a good approximation of the global maximum. To note, because of the greedy strategy, metrics that are not aligned with the user's utility, such as the seller's revenue, might not be monotonous in 𝑘.

To define our metrics, we introduce the following notation:

• 𝑗 * 𝑖 is the true optimal choice for the user 𝑖 over the catalog, 𝑗 * 𝑖 = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑗 ∈𝐶 𝑢 𝑖,𝑗 • 𝑆 𝑘 𝑖 is the set containing the top k choices sorted by their predicted utility for the user i, to which we add the no buy option. 𝑆 𝑘 𝑖 is practically an awareness set built by the RS.

• 𝑗 * 𝑖𝑘 is the optimal choice for the user 𝑖 out of the set of items present in the slate 𝑆 )/|𝐼 |) . For the classical metrics, while both of them are well-known, computing probability of sale at various slate sizes is novel, and only possible due to our access to an oracle.

Methods

Below we present the set of methods that we take into consideration in our experiments:

Oracle. Represents the best k products for each user, according to the true item features and true user preferences.

We run experiments where we rank the products by their user's utility (Oracle-utility) or by the system welfare (Oracle-welfare).

BestOf. Returns the k most popular products in the training data, sorted by number of sales.

RUM-MF.

Returns the k most likely to be bought products according to the proposed model.

MF-SM(Softmax)

. This is the same method as RUM-MF, but without using the price in the model training. As a note, we predict the WTP 𝑤 𝑖 by considering that the innerproduct between the user and item vectors is still approximating the utility 𝑢 𝑖 for the pair and adding the item price to it: Pr(𝑥

𝑖 (𝑡) = 𝑗) 𝑀𝐹 -𝑆𝑀 = exp(𝑋 𝑖 •𝑌 𝑗 ) 𝑗 ′ ∈𝐷 𝑖 (𝑡 ) exp(𝑋 𝑖 •𝑌 𝑗 ′ )
MF-PCLICK. Treats every conversion as an independent outcome, similar to Factorization Machine methods used for Click-through Rate Prediction [START_REF] Juan | Field-aware factorization machines for CTR prediction[END_REF]. Since the method is not recovering the willingness-to-pay, only two objectives are available for the slate generation, namely volume of sales and seller's revenue: Pr(𝑥 𝑖 (𝑡) = 𝑗) 𝑀𝐹 -𝑃𝐶𝐿𝐼𝐶𝐾 = 𝜎 (𝑋 𝑖 • 𝑌 𝑗 )

Results

Below we summarize our main findings:

Optimizing for welfare leads to the best welfare output. On the first axis, we wanted to understand the impact of different choices of objective (and the associated value per sale -VPS) on the 5 metrics, as shown in Table 4. The first observation is that, as expected, optimizing for welfare works and it leads to the best welfare metric, RUM-MF-welfare, surpassing by more than 30% the performance of the MF-SM method and almost doubling the performance of MF-PCLICK. This observation is confirmed by Table 5, that shows that the magnitude of the improvement in performance is maintained over all configurations and runs.

RUM-MF outperforms the baselines in all other metrics. In the same Table 4, we can observe that RUM-MF outperforms the other methods not only in Welfare metrics but also in classical Precision and Sales metrics, albeit by a smaller margin.

The performance is maintained for slates with k>1. In Table 6. we confirm that the results hold also for banners/slates with k bigger than 1. This is important since in real-world recommendations, the performance is judged not over single item recommendations but over recommendation sets. We observe that, as expected, the gap in performance becomes smaller as k becomes bigger and all methods start retrieving good items in their top k set. Switching to our formulation can lead to improvements even in the absence of prices. We observe both in Table 4. and 5.

that while not as competitive as RUM-MF, MF-SM outperforms clearly the MF-PCLICK approach. Indeed, even in the absence of prices, the categorical formulation of the problem and the presence of the no-buy option in the model leads to a better estimation of the user's utility vector.

We believe that as new algorithms tend to leverage the price information, welfare maximizing Recommender Systems are likely to become a reality in the near future. Because they will explicitly model the user's behaviour, this new class of RS will allow for a better understanding of the user interaction with the RS. The shift from click maximizer to welfare maximizer will permit a better control of the value sharing between the different stakeholders.

Also, we implicitly relied on the classical Luce axiom of independence from irrelevant alternative, which might not be always satisfied. This is, however, a general problem in discrete choice theory that is not specific to our approach, so that one could investigate if the current approach could borrow, for instance, from nested decision models.

Our goal was to provide a minimal working algorithm, but in practice such algorithm could be adapted to the available information. For example, if we have access to embedded representations of the user and/or the items (based on clicks or sales or browsing behaviours...), then we can use these representations as inputs in a neural network.

Finally, a nice follow-up research project could be to investigate the combination of such price-based Recommender System and price optimization techniques such as couponing.

  4.2 Random Utility Maximization/ Matrix Factorization (RUM-MF)Next, we introduce two additional assumptions that allow us to link the utility maximization to Matrix Factorization. 4.2.1 Gumbel noise. We extend the Equation (2) and connect our model with Random Utility Models: we suppose that there exists noise 𝜖 𝑖,𝑗 (𝑡) on the latent variable 𝑢 𝑖,𝑗 , such that at each decision time, the shopper makes their decision based on û𝑖,𝑗 (𝑡) = 𝑢 𝑖,𝑗 +𝜅 𝑖 𝜖 𝑖,𝑗 (𝑡),, where 𝜅 𝑖 is a positive, scalar model parameter. With this change, the shopper's decision -knowing 𝑖 and 𝑝 -, denoted 𝑥 𝑖 (𝑡) is now random. Also, we suppose the noise samples 𝜖 𝑖,𝑗 (𝑡) to be independent and follow a standard Gumbel distribution, which leads us to the classical softmax decision rule, for 𝑗 ∈ 𝐷 𝑖 (𝑡):Pr(𝑥 𝑖 (𝑡) = 𝑗) = exp(𝑢 𝑖,𝑗(𝑡)/𝜅 𝑖 ) 𝑗 ′ ∈𝐷 𝑖 (𝑡 ) exp(𝑢 𝑖,𝑗 ′ (𝑡)/𝜅 𝑖 ) Factorizable form. We suppose there exists a dimension 𝑑, and a d-dimensional vectorial representation of the users 𝑋 𝑖 and of the items 𝑌 𝑗 such that 𝑤 𝑖,𝑗 = 𝑋 𝑖 • 𝑌 𝑗 , where • is the dot product. Such representation is very close to the

	.	(3)
	4.2.2

Matrix Factorization, and can benefit from pre-existing user and/or item embeddings, that can be built for example using clicks, number of co-occurrences, user segmentation or catalog input. With these two assumptions, the decision model becomes

Pr(𝑥 𝑖 (𝑡) = 𝑗) = exp((𝑋 𝑖 • 𝑌 𝑗 -𝑝 𝑗 (𝑡))/𝜅 𝑖 ) 𝑗 ′ ∈𝐷 𝑖 (𝑡 ) exp((𝑋 𝑖 • 𝑌 𝑗 ′ -𝑝 𝑗 ′ (𝑡))/𝜅 𝑖 )

.

Table 1 .

 1 The three environment configurations

	Manuscript submitted to ACM

  𝑘 𝑖 , 𝑗 * 𝑖𝑘 = 𝑎𝑟𝑔𝑚𝑎𝑥 We divide our metrics into classic metrics, such as Precision@k and Sales@k -respectively | 𝑗 * 𝑖 ∈ Ŝ𝑘 𝑖 |/|𝐼 | and |𝑢 𝑖,𝑗 * 𝑖𝑘 > 0|/|𝐼 |and novel metrics, such as BuyerUtility@k, SellerRevenue@k and Welfare@k ( 𝑖 ∈𝐼 𝑢 𝑖,𝑗 *

			𝑖 𝑗 ∈𝑆 𝑘	𝑢 𝑖,𝑗
		𝑖𝑘	𝑖𝑘 /|𝐼 |, 𝑖 ∈𝐼 𝑝 𝑗 *	/|𝐼 | and
	𝑖 ∈𝐼 (𝑢 𝑖,𝑗 * 𝑖𝑘	+ 𝑝 𝑗 * 𝑖𝑘

Table 2 .

 2 Performance of various models on top product recommendation (k=1) (Medium2, run2)

	Manuscript submitted to ACM

Table 3 .

 3 Welfare@1 metric over multiple environments

		Welfare@1 Welfare@5 Welfare@10
	oracle	21.51	20.84	20.62
	bestof	8.39	11.48	14.9
	rum-mf	11.74	16.92	18.27
	mf-sm	8.93	14.51	16.56
	mf-pclick 7.03	12.7	14.95

Table 4 .

 4 Welfare metric over multiple k (Medium2, run2)

Manuscript submitted to ACM


Sabah Al-Fedaghi
email: salfedaghi@yahoo.com

Conceptual Modeling of Actions

Keywords: Elementary action, conceptual model, activity diagram, thinging machine, static description, events, behavior

Modeling in software engineering includes constructing static, dynamic, and behavioral representations. In describing system behavior, actions and states are two of the most commonly used concepts. In this paper, we focus on the notion of action. It generally held that the meaning of the concept of action is not that easy to grasp. According to some researchers, many existing systems do involve the notion of action, but in an obscure way. In Unified Modeling Language (UML), an action is a single atomic step within an activity, i.e., it is not further decomposed within the activity. Activity represents a behavior that is composed of actions. This paper contributes to the establishment of a broader interdisciplinary understanding of the notion of action in conceptual modeling based on a model called the thinging machine (TM). The TM uses only five primitive actions: create, process, release, transfer, and receive. The goal of such a venture is to improve the process of developing conceptual models by refining basic concepts such as action and event. To demonstrate how TM modeling represents actions, UML activity and Business Process Model and Notation (BPMN) diagrams are re-modeled in terms of the five TM actions. The results reveal the viability of the TM's five actions in modeling and relate them to other important notions such as activity, event, and behavior.

I. INTRODUCTION

Modeling in software engineering and systems engineering involves the process of collecting and analyzing system requirements to build a model that represents the domain (a part of the world) involved. The model includes constructing static, dynamic, and behavioral representations. In describing system behavior, actions, and states are commonly used concepts [START_REF] Alshareef | Metamodeling activities for hierarchical component-based models[END_REF].

According to some scholars, modeling in its various forms is one of the most fundamental processes of the human mind since it allows us to see patterns, to appreciate and manipulate processes and things, and to express meaning [START_REF] Rothenberg | The nature of modeling[END_REF]. Conceptual models are models consisting of concepts that shape the way we think about reality [START_REF]Mental Models[END_REF]. A conceptual model is an artifact that helps to understand a domain and, therefore, contribute to the elicitation of related functional requirements [START_REF] Valaski | Deriving domain functional requirements from conceptual model represented in OntoUML[END_REF]. The resultant description plays a crucial role as a blueprint from which phases of development evolve. The conceptual picture describes a real-world domain while excluding technical aspects and serves as a guide for the subsequent design phase.

In software engineering, conceptual modeling is a crucial software development activity [START_REF] Dieste | Conceptual modeling in software engineering and knowledge engineering: Concepts, techniques and trends[END_REF] that is situated in the broader view of requirements engineering [START_REF] Rolland | From conceptual modelling to requirements engineering[END_REF].

A. What Is Action?

According to Trypuz [START_REF] Trypuz | Formal ontology of action: A unifying approach[END_REF], no current philosophical theories of actions (e.g., belief-desire-intention (BDI), STIT (sees to it that) logics) really answer the question of what an action is, and -in the context of building an ontology of action … [it] is hard conceptually and hard computationally.‖ In philosophy of action, the word -action‖ is (in most cases) taken as being synonymous with the term intentional action [START_REF] Trypuz | Formal ontology of action: A unifying approach[END_REF]. For example, Brutus killing Caesar is an intentional action, because Brutus, when performing this action, had the intention to kill Caesar. For Searle [START_REF] Searle | The intentionality of intention and action[END_REF], the whole action consists of two components-the intention-in-action and the bodily movement [START_REF] Trypuz | Formal ontology of action: A unifying approach[END_REF]. In general, the relation between the actions and the bodily movements is not so well established [START_REF] Trypuz | Formal ontology of action: A unifying approach[END_REF]. One sense of the term action is something done, usually as opposed to something said. Something done is a hyponym of an event (-something that happens at a given place and time‖) [START_REF] Trypuz | Formal ontology of action: A unifying approach[END_REF]. According to Goldkuhl [START_REF] Goldkuhl | Patterns of change and action: A socio-pragmatic perspective on organisational change[END_REF], action means a change in the world, as the notion of action implies that an actor brings about some change, e.g., -when a firm manufactures goods, the employees are acting towards some material in order to create valuable products for customers‖ (italics added). Trypuz [START_REF] Trypuz | Formal ontology of action: A unifying approach[END_REF], going through the scientific fields, collected the following definitions of the action: (a) action is an event, (b) action is a bodily movement, (c) action is an instance of the relation of bringing about (or making happen), whose terms are agent and event, (d) action is the causing of an event, (e) action is a trying of an agent, (f) action is a complex event, (g) action is a bodily movement which is under the control of the agent, and (h) action is a transition between states or situations. The italicized phrases are highlighted because they are related to the TM notions of actions and events, where TMs are composed of five actions and events are instantiated actions.

The IGI Global Dictionary [START_REF]IGI Global Dictionary, What is action[END_REF] provides the following definitions of action: (a) A fact, act, or operation that implies activity, movement, or change, (b) a process that uses the sources to obtain the task, (c) A sequence of goal-directed steps (d) An atomic and instantaneous unit of work done, (e) A complex sum of several movements, that is, the sum of a discretizable event, and (f) A descriptor of an actor's capability to perform operations. In contrast, as will be illustrated, in a TM, activities are composite elementary events. Kuutti [START_REF] Kuutti | Activity theory as a potential framework for humancomputer interaction research[END_REF] connects activities to actions. Activities can be considered to have three hierarchical levels: activity, action, and operation [mixed terminology, from the TM point of view]. A simple example of these levels is a description of the activity of -building a house [in TM, composite actions that form events when injected with time], in which -fixing the roof and transporting bricks by truck [in a TM, composite actions] are at the action level and -hammering and changing gears when driving are at the operation level.

Traditionally, actions are called generic activities-that is, activities that cannot be divided into other activities. An activity is usually designated by a verb or verb form. Actions are identified and individuated in much the same way as entities [START_REF] Machamer | Thinking about mechanisms[END_REF].

B. Actions in Unified Modeling Language

In Unified Modeling Language (UML) 2.0, an action is the fundamental unit of behavior specification. -An action takes a set of inputs and converts them into a set of outputs, though either or both sets may be empty. Actions are contained in activities, which provide their context. Activities provide control and data sequencing constraints among actions as well as nested structuring mechanisms for control and scope‖ [START_REF] Omg | UML 2.0 superstructure specification[END_REF]. According to Bock [START_REF] Bock | UML 2 Activity and Action Models, Part 2: Actions[END_REF], in UML-2, the primitive actions (e.g., creating objects or invoking user-defined behaviors) -are not technically behaviors themselves, but this is more an artifact of metamodeling than a conceptual distinction‖.

The topic of UML action semantics is surrounded with difficult details. In this context, an action represents a computational procedure that changes the state of an element in the system [START_REF] Alvarez | An action semantics for MML[END_REF]. Subclasses of primitive action are tailored to the kind of elements they act upon: null action, variable actions, object actions, and slot actions. There are two actions for objects: one to create a new object of a given class and another one to destroy an object. Compound actions are defined into group actions, conditional actions, and loop actions, each representing one of the basic language constructors. [START_REF] Alvarez | An action semantics for MML[END_REF]. Alvarez et al. [START_REF] Alvarez | An action semantics for MML[END_REF] give an example of the execution of some actions on an object as shown partially in Fig. 1. In this example, -the object is a dog with two slots, one indicating the length of its hair and a second one indicating its age. The birthday:WriteSlotExecution execution changes the value of the slot age of the object fido. The input of the execution is the value Three, that will be the value for the corresponding slot age of the next object in the history of fido‖ [START_REF] Alvarez | An action semantics for MML[END_REF].

According to OMG.: UML 2.0 [START_REF] Omg | UML 2.0 superstructure specification[END_REF], because an action takes input and converts it to output, action seems to be a type of PROCESS as in the well-understood input-process-output model. The word PROCESS is capitalized to distinguish it from the action process, one of the generic TM actions. In UML diagrams [START_REF]uml-diagrams.org[END_REF], an action is a single atomic step within an activity, i.e., that is not further decomposed within the activity. An activity is defined as the coordination of elementary actions or it consists of one atomic action [START_REF] Achouri | A formal semantic for UML 2.0 activity diagram based on institution theory[END_REF]. In UML, it is claimed that activity diagrams provide a high-level means of modeling dynamic system behavior. Aalst et al. [START_REF] Russel | On the suitability of UML 2.0 activity diagrams for business process modelling[END_REF] questioned the suitability of activity diagrams for modeling processes. According to Storrle and Hausmann [START_REF] Sto¨rrle | Towards a formal semantics of UML 2.0 activities[END_REF], in UML -activity diagrams have always been poorly integrated, lacked expressiveness, and did not have an adequate semantics in UML.‖ With version 2.0 of the UML activity diagram (AD), activities have been redesigned from scratch [START_REF] Achouri | A formal semantic for UML 2.0 activity diagram based on institution theory[END_REF]. Several levels of increasing expressiveness were defined, including basic activities and activities by activity nodes.

According to UML diagrams [START_REF]uml-diagrams.org[END_REF], the name of the action is usually an action verb or a noun for the action, e.g., fill order, review document, checkout. An action may specify control flow and data flow. An action will not begin execution until all of its input conditions are satisfied. Action subclasses are: variable action: invocation action, raise exception action, structural feature action, link action, event action (not explicit in UML standard), and opaque action [START_REF]uml-diagrams.org[END_REF]. For example, object actions include different actions on objects, e.g. create and destroy object, test object identity, value, etc. Object actions are not defined explicitly by the UML standard [START_REF]uml-diagrams.org[END_REF]. Fig. 2 shows a sample event action. C. This paper This paper contributes to the establishment of a broader understanding of the notion of action in conceptual modeling based on a model called a thinging machine (TM) [START_REF] Al-Fedaghi | Model multiplicity (UML) versus model singularity in system requirements and design[END_REF][START_REF] Al-Fedaghi | Function-behavior-structure model of design: An alternative approach[END_REF]. The TM model claims that there are five types of primitive action: create, process, release, transfer, and receive. The goal of such research is to improve the process of developing conceptual models by refining basic concepts.

Section 2 reviews the basics of TM modeling with some enhancements to the TM model. To demonstrate how TM modeling represents actions, section 3 models a classical example given by Sloman [START_REF] Sloman | Diagrams in the mind?‖ in Diagrammatic Representation and Reasoning[END_REF] that describes a mechanism that involves the actions of removing (stretchable) underpants without removing trousers. Sections 4 and 5 re-model UML activity and Business Process Model and Notation (BPMN) diagrams in terms of the five TM actions.

II. THINGING MACHINE

The TM model is made of a composition of thimacs (things/machines), which corresponds to viewing domains as a complex of things that are simultaneously machines of five actions (see Fig. 3). A thimac is like a double-sided coin: one side of the coin exhibits the thing-ness, whereas, on the other side, actions emerge to form a machine. Modeling consists of a lower (static) structure of things that are simultaneously machines, and both merge into a thimac. At the upper level (dynamics), a time thimac combines with the static thimac to generate events structure. An analogy for a static thimac and a dynamic thimac is a running computer program. The program itself is a lifeless thing: it just sits there on the disk, instructions (actions) with maybe some static data [START_REF] Reiher | The abstraction: The process, Chapter 4[END_REF]. Running a program is a dynamic thimac that is defined in terms of events, as will be discussed later.

The thimac is an encapsulation of as a thing that reflects the unity and hides the internal structure of the actions and a machine. Fig. 3 shows the structural components (called region), including potential actions of behavior. Behavior, in a TM, is a chronology of events that occur at particular time and over a region (static subdiagram). Potentiality, here, is a degree of reality that becomes full reality when actualized. In the TM static description, a thing is created at the level of potentiality, and that thing is fully actualized when it is eventized (contains time).

The potential reality (the static description) appears in the sense of what is there. If we take an instantaneous shot of, say, a business system, the static model consist of what is there in the system, a picture of a customer, enterprise, order, product, etc., connected by potential actions.

The fully manifested reality is realized when the thimacs in this picture are started as events in time, assuming that the content of the conceptual picture is reachable in reality. The event (as actions with a temporal extension) coincides with a certain change in the domain. The conceptual model can be viewed as a conjecture of reality and need not -look like‖ reality.

Things are what we start with when we construct the TM model. Each thing is defined in terms of at least the create (e.g., exist) action. Create produces new things in a machine, process manipulates things, release positions things before outputting them, transfer transforms things among machines and receive catches incoming things in a machine. A thing is subjected to doing (e.g., a tree is a thing that is planted, cut, etc.), and a machine does (e.g., a tree is a machine that absorbs carbon dioxide and uses sunlight to make oxygen). The tree thing and the tree machine are two faces of the tree thimac. The term thinging is taken from Heidegger's notion of thinging. A TM thing is clusters of potential generic actions that, with time, transform into atomic event constellations within specified acceptable behaviors.

A thimac is a thing. A thing is what can be created (seen, observed), processed (changed), released, transferred, and/or received. A thing is manifested (can be recognized as a unity) and related to the -sum total‖ of a thimac. The whole TM model occupies a conceptual -assemblage of actions‖ that forms a compositional structure of thimacs. The model whole is a grand thimac. The thimac -being‖ as a singular whole arises from the specific actions (including composite actions) and interactions of its constituent subthimacs. Thimacs can be -located‖ only via flow connections of actions among thimacs. A thing is a diagrammatic counterpart to a subdiagram of the TM static description (model). This subdiagram becomes an event (a thing with behavior) when merged with time.

The thimac is also a machine that creates, processes, releases, transfers, and/or receives. Fig. 3 shows a general picture of a (complete) machine. The figure indicates five -seeds‖ of potentialities of dynamism: creation, processing, releasing, transferring, and receiving.

TM modeling involves spatiality and actionality. The static description represents the (potential) actionality-based description that is expressed in terms of five generic actions. The static model and time are constructed in terms of these actions. As we will describe later, in TM modeling, actionality is a static notion that embeds the potentialities of events and behavior, which appear when time is added to the static model.

The generic/elementary (having no more primitive action) actions can be described as follows. Arrive: A thing moves to a machine. Accept: A thing enters the machine. For simplification, we assume that all arriving things are accepted; thus, we can combine the arrive and accept stages into one stage: the receive stage.

Release: A thing is ready for transfer outside the machine. Process: A thing is changed, handled, and examined, but no new thing results. Create: A new thing -comes into being‖ (is found/manifested) in the machine and is realized from the moment it arises (emergence) in a thimac. Things come into being in the model by -being found.‖ While the action create indicates there is such a thing, when inside (a region) of an event, create indicates there is such a thing as of now. Transfer: A thing is input into or output from a machine.

Additionally, the TM model includes the triggering mechanism (denoted by a dashed arrow in this article's figures), which initiates a (non-sequential) flow from one machine to another. Multiple machines can interact with each other through the movement of things or through triggering. Triggering is a transformation from movement of one thing to movement of a different thing.

III. TM MODELING EXAMPLE: ACTIONS OF REMOVING UNDERPANTS WITHOUT REMOVING TROUSERS

Sloman [START_REF] Sloman | Diagrams in the mind?‖ in Diagrammatic Representation and Reasoning[END_REF] described a mechanism that involves actions of removing (stretchable) underpants without removing one's trousers (referring to the famous Mr. Been movie sketch). One solution given by Sloman [START_REF] Sloman | Diagrams in the mind?‖ in Diagrammatic Representation and Reasoning[END_REF] comprises -stretching the left side of the underpants down through the left trouser leg, over the foot and back up the left leg, leaving only the right leg through its hole. The underpants can then be slid down the right leg and out. A similar solution starts on the right side, with the underpants emerging through the left trouser leg.‖ This series of actions provides an opportunity to model such sequence of actions diagrammatically in a TM.

Fig. 4 shows the static TM description of this solution. The left hole of the underpants (gray number 1) moves through the left side of the trousers (2 and 3). Then it moves to the area over the heel of the left foot (4), followed by the area over the toes [START_REF] Dieste | Conceptual modeling in software engineering and knowledge engineering: Concepts, techniques and trends[END_REF], to arrive at the left leg of the trousers [START_REF] Rolland | From conceptual modelling to requirements engineering[END_REF]. Accordingly, the whole pair of underpants [START_REF] González-Pérez | Conceptual modelling for the rest of us with ConML[END_REF] moves through the right leg of the trousers (8) to the outside [START_REF] Segerberg | The logic of action[END_REF].

The order control of these series of actions is accomplished through the chronology of events. A TM event is a subgraph of the static TM model (called a region of the event) plus time. A region of an event is an action or a group of actions that form a TM subdiagram. When it is active (involves time), it becomes full event. For example, Fig. 5 shows the event The left hole of the underpants moves to the left leg of the trousers. For the sake of simplification, an event can be represented by its region.

Accordingly, we select the following events over composite actions (see the events model in Fig. 6). E1: The left hole of the underpants moves to the left leg of the trousers. E2: The left hole of the underpants moves from the left leg of the trousers to the area over the heel of the left foot. E3: The left hole of the underpants moves from the area over the heel to the area over the toes of the left foot. E4: The left hole of the underpants moves from the area over the toes to the left leg of the trousers. E5. The whole pair of underpants moves to the right leg of the trousers. E6: The underpants move outside the right leg of the trousers. Fig. 7 shows the behavior in terms of the chronology of events. This behavior is attributed to the system (trousers, underpants, and legs) and its control as a whole. The behavior model is a coordinated system of events that is formed to attain a certain function.

Trousers Left leg

Release

Right leg Underpants

IV. ACTIVITY Diagram and Actions

According to Bock [START_REF] Bock | UML 2 Activity and Action Models, Part 2: Actions[END_REF], actions are the only elements in UML that have a persistent effect on objects, invoke operations on them, and invoke behaviors directly. For this reason, actions are sometimes called primitive dynamic elements in UML because all behaviors must eventually reduce to actions to have any effect on objects or even to invoke other behaviors. Additionally, according to Bock [START_REF] Bock | UML 2 activity and action models Part 5: Partitions[END_REF], in UML, a class supports the behaviors invoked by actions. Bock [START_REF] Bock | UML 2 activity and action models Part 5: Partitions[END_REF] provided the example shown in Fig. 8. An alternative notation is shown in the same figure (bottom), where partitions are labeled on nodes. The corresponding class model is shown in Fig. 9, where each company has instances of these classes. Fig. 9 could be used without the partitions before details are worked out. This facilitates UML application by modelers who do not use object orientation, such as system engineers and enterprise modelers.

Control flow edges in these figures connect actions to indicate that the action at the target end of the edge (the arrowhead) cannot start until the source action finishes. In this notation, there are two types of edges with different diagrammatic representation: Control edges connect actions directly, whereas object flow edges connect actions' inputs and outputs [START_REF] Bock | UML 2 activity and action models Part 5: Partitions[END_REF]. Actions' inputs and outputs, which are called pins, are connected by object flow edges to show how values flow through the activity, provided by some actions and received by others. [START_REF] Bock | UML 2 activity and action models Part 5: Partitions[END_REF].

A. TM static model

Fig. 10 shows the TM static representation of the above example. An action in TM is defined in terms of the five elementary actions: create, process, release, transfer, or receive, as shown in the definition of thinging machine. First, in Fig. 10, an order is sent to Customer Service (pink number (1)). This triggers (a) the inauguration of the incoming order as an active order (2) and (b) the creation of an invoice that is sent to the customer (3). Additionally, the order is sent to Fulfillment (4), where it is processed [START_REF] Dieste | Conceptual modeling in software engineering and knowledge engineering: Concepts, techniques and trends[END_REF] to trigger sending the product to the customer [START_REF] Rolland | From conceptual modelling to requirements engineering[END_REF]. After delivery, a delivery notification is sent to Customer Service [START_REF] González-Pérez | Conceptual modelling for the rest of us with ConML[END_REF]. When a payment is received from the customer (8), it is processed, and if it is correct (9), a payment notification is sent to Customer Service [START_REF] Goldkuhl | Action within information systems: Outline of a requirements engineering method[END_REF]. In Customer Service, the payment and delivery notifications are processed, which triggers changing the order status to closed [START_REF] Trypuz | Formal ontology of action: A unifying approach[END_REF]. Note that all arrows in this TM diagram denote a flow of things; a control flow will be specified in the behavior model, which will be developed next. Furthermore, note that Fig. 10 can easily be simplified at several levels. For example, we can assume that the arrows' direction indicate the direction of the flow of things; therefore, we can delete the actions, transfer, release, and receive, thus producing the simpler diagram.

The so-called class methods [START_REF] Bock | UML 2 activity and action models Part 5: Partitions[END_REF] are embedded into the TM representation. Fig. 11 identifies these methods of Customer Service. For simplification's sake, the actions are not shown under the assumption that the arrows indicate the direction of flow. In TM, Fig. 10 is a static representation that indicates potential actions. The dynamism is incorporated when time and static actions are encapsulated to form an event. A TM event is a region (a subgraph of the static description) plus time. Fig. 12 shows the event Customer Service receives an order. For simplicity's sake, an event may be represented by its region.

In TM modeling, we distinguish between static descriptions and dynamic activities. UML modeling mixes these aspects of modeling. Control flow edges in the activity diagrams connect actions to indicate that the action at the target end of the edge (the arrowhead) cannot start until the source action finishes.

As mentioned previously, in this notation, there are two types of edges with different diagrammatic representations (see Fig. 13); control edges connect actions directly, whereas object flow edges connect actions' inputs and outputs [START_REF] Bock | UML 2 activity and action models Part 5: Partitions[END_REF]. Fig. 14 illustrates why UML mixes the static and dynamic levels in Fig. 13.

Customer Service

Process

Fulfillment

B. Events and behavior models

Accordingly, to develop the dynamics of the example under consideration, we can use the generic actions as regions of events. However, for clarity consideration, we can specify larger events. Fig. 15 shows the following selected events: E1: Customer Service receives an order. E2: The order is declared as an active order. E3: An invoice is sent. E4: The order is sent to Fulfillment. E5: The product is sent to the customer. E6: Fulfillment sends a notification to Customer Service. E7: Payment is received. E8: Finance sends a payment notification to Customer Service. E9: The order is closed. Fig. 16 shows the behavior model of the given example.

IV. BPMN OR UML ACTIVITY DIAGRAM

Geambaşu [START_REF] Geambaşu | BPMN vs. UML activity diagram for business process modeling[END_REF] studied modeling business processes using the modeling languages BPMN and UML activity diagram (UML AD), which are the two graphical notations most used for the representation of business processes. BPMN can be described as a graph, the nodes of which are actions and the arcs of which are the flows between actions. The BPMN model can provide documentation and regulation functions and serve as an executable algorithm [START_REF] Koryl | Towards emergence phenomenon in business process management[END_REF]. According to Stravinskiene and Serafinas [START_REF] Stravinskiene | The link between business process management and quality management[END_REF], a business process is a complex phenomenon and is more than just a sequence of actions; it is -an agile, complex organizational unit with a logical and time-bound sequence of actions.‖ UML AD covers aspects of process modeling, including actions, control flow, data and object flow, and the information related to process enactment. A behavior comprises a coordinated sequence of actions [START_REF] Khabbazi | Shapi'i, -Business process modelling in production logistics: Complementary use of BPMN and UML[END_REF].

The given example involves a car service for damaged vehicles brought in by the company's customers (see Fig. 17). The process begins with a request made by the customer to the car service for vehicle repairs. Next, the car service schedules the repairs. When the repair start day comes, the customer brings the vehicle to the car service, which performs the required repairs. When all the repairs are finished, the car service creates an invoice that must be paid by the customer to pick up their repaired vehicle (see Fig. 17) [START_REF] Geambaşu | BPMN vs. UML activity diagram for business process modeling[END_REF]. One objective is to analyze BPMN and UML AD considering how well the graphical elements of these two notation languages represent an organization's real business processes and how easily these two business process modeling languages can be mapped to business process execution languages.

The action node of UML AD corresponds to the task object in BPMN. BPMN uses a start event and an end event for the parts of the process corresponding to each participant, whereas UML AD uses only one initial node and one final node for the entire process. Activities (without loops) performed by the participants include the following: Require vehicle reparation services, Schedule reparation, Bring damaged vehicle, Create invoice, Pay invoice, and Pick up vehicle from service. Both representations mix static action and dynamic events (repair start date icons).

Fig. 18 shows the corresponding TM static model. First, the customer creates and sends a request for repairs (number 1) that is received and processed by the car service (2). Then, the request is input to a machine (3) that processes the request and its scheduling data (4) to trigger the creation of a repair appointment [START_REF] Dieste | Conceptual modeling in software engineering and knowledge engineering: Concepts, techniques and trends[END_REF]. According to this appointment, the car is delivered to the car device (6 and 7) to be processed (repeatedly, as will be modeled in the events model [START_REF] Gonzalez-Perez | A conceptual modelling language for the humanities and social sciences[END_REF]. At the end of this processing, an invoice is created [START_REF] Segerberg | The logic of action[END_REF] and sent to the customer [START_REF] Goldkuhl | Action within information systems: Outline of a requirements engineering method[END_REF]. The customer processes (11) the invoice to trigger creating a payment ( 12) that flows to the car service [START_REF] Wright | Norm and Action[END_REF]. In the car service, the payment is processed ( 14); hence, the car is released to the customer (15 and 16).

The events model is shown in Fig. 19 with the following events. E1: The customer sends a request for car repairs that is received and processed by the car service. E2: The request and the car service's scheduling data are processed. E3: A car repair appointment is generated and sent to the customer. E4: The car is delivered to the car service. Finished E5: The car is processed. E6: The car repair is finished. E7: An invoice is created and sent to the customer. E8: The customer sends payment to the car service. E9: The car is released to the customer. Fig. 20 shows the behavior model.

The given examples in previous sections demonstrate that the TM model with five elementary actions seems to furnish a rich foundation for the notion of action in conceptual system modeling. It also seems that such an approach to express actions can be applied to the study of actions in other fields, such as the semantics for natural languages. The next section provides a sample of this application that will be explored further in the future. Davidson (1967) viewed action sentences in terms of what are called events [START_REF] Segerberg | The logic of action[END_REF]. For example, Brutus violently stabbed Caesar is translated (ignoring tense) into a logical expression as follows:

V. OTHER ACTION-RELATED APPLICATIONS OF THE TM MODEL

(∃e)(stab(e,Brutus,Caesar)∧violent(e))(∃e) (stab (e,Brutus,Caesar)∧violent(e)). This captures the fact that this sentence logically entails that Brutus stabbed Caesar [START_REF] Segerberg | The logic of action[END_REF]. Fig. 21 shows the TM static representation of Brutus violently stabbed Caesar. Fig. 22 shows Brutus violently stabbed Caesar in terms of two TM events.

Later, researchers classified verbs into groups: states, activities, accomplishments, achievements, and points. It is to be noted, for example, that verbs of the accomplishments type can be used with the progressive tense, whereas verbs of the achievements type cannot. If, for example, I write a letter, the progress is measured in amounts of words. The letter is therefore the incremental theme in I write a letter because it defines the progress [START_REF] Segerberg | The logic of action[END_REF]. TM modeling represents this I write a letter progression as shown in Fig. 23. The upper left diagram shows the static description, where a letter is created as the result of creating words. The upper right diagram shows the following three events: E1: A word is created. E2: A word is processed (i.e., written). E3: A letter is created. The lower diagram of Fig. 23 shows that E1 and E2 are repeated until a letter is created.

E9

CONCLUSION

In this paper, we focus on the notion of action in the area of conceptual system modeling. In UML and other modeling notation, the meaning of the concept of action is difficult to grasp, and many existing systems involve the notion of action, but in an obscure way. This paper contributes to the establishment of a broader interdisciplinary understanding of the notion of action in conceptual modeling based on a model called a thinging machine (TM). The goal of this venture is to improve the process of developing conceptual models by refining basic concepts. The TM approach to the notion of action provides five elementary actions; events are built from these actions when supplemented with time. Accordingly, the conceptual model can start by building a static representation with before identifying events and the system's behavior as the chronology of these events. At the end of the paper, we have shown that the same five elementary actions can be used in other fields, such as natural language semantics.

The results in this paper reveal the viability of the TM's five actions in modeling and relate them to other important notions, such as activity, events, and behavior. Further research will involve experimenting with this approach in more examples and using it in various application areas.

Fig. 1 .

 1 Fig. 1. An example of the execution of actions on an object (partial)

  Receive

Fig. 3 Fig. 2 .

 32 Fig. 3. Thinging machine

Fig. 4 .Fig. 5 .

 45 Fig. 4. Static description of actions of removing underpants without removing one's trousers

Fig. 6 .Fig. 7 .Fig. 8 .

 678 Fig. 6. The events model

Fig. 13 .OrderFig. 12 .Fig. 11 .

 131211 Fig. 10. The static TM model

Fig. 16 .

 16 Fig. 14. UML mixes static and dynamic levels

Fig. 17 .

 17 Fig. 17. Representation of a business process using BPMN 2.0 (top) and UML AD (bottom)

Fig. 21 . 2 Fig. 22 .

 21222 Fig. 21. Static description of Brutus violently stabbed Caesar

Fig. 20. TM behavior model Customer Car

	Request for reparation	E1		Car Service
	Create	Release	Transfer		Transfer		Receive	Process	Release	Transfer
					Scheduling	Release	Transfer	E2	Transfer
					Data				Receive
		Receive	Transfer	E3	Create Reparation appointment Release Transfer	Process
	Create	Payment Release	Transfer			Transfer		Receive	Process	E8
		Receive	Transfer		Transfer	Release	E9
			Transfer	E4	Transfer		Receive	Process	E5	Finished	E6
	Process	Receive	Transfer				Invoice	Transfer	Release	Create	E7
				Fig. 19. TM events model
						E1	E2	E3	E4	E5	E6	E7	E8
									Brutus	Caesar
								Create	Release	Transfer	Transfer	Receive
								Create	Violent	Stab

Words I