A modular multi-agent framework for innovation diffusion in changing business environments: conceptualization, formalization and implementation

Product or service innovations are effective in creating and maintaining a competitive advantage. Thus, it is important for organizations to understand how market actors adopt innovations and engage with them, since even good innovations may fail or diffuse at a slow rate (Rogers 2003). For many companies, it is hard to predict how innovations will diffuse in a dynamic environment. This results in uncertainty about whether an innovation is fit to become a sustainable business model. Their adoption by intended target groups does not only depend on the qualities of the innovation (Frederiks et al. 2015). Instead, it takes place within a complex social system, Abstract Understanding how innovations are accepted in a dynamic and complex market environment is a crucial factor for competitive advantage. To understand the relevant factors for this diffusion and to predict success, empirically grounded agent-based models have become increasingly popular in recent years. Despite the popularity of these innovation diffusion models, no common framework that integrates their diversity exists. This article presents a flexible, modular and extensible common description and implementation framework that allows to depict the large variety of model components found in existing models. The framework aims to provide a theoretically grounded description and implementation framework for empirically grounded agent-based models of innovation diffusion. It identifies 30 component requirements to conceptualize an integrated formal framework description. Based on this formal description, a java-based implementation allowing for flexible configuration of existing and future models of innovation diffusion is developed. As a variable decision support tool in decision-making processes on the adoption of innovations the framework is valuable for the investigation of a range of research questions on innovation diffusion, business model evaluation and infrastructure transformation.

in which the diffusion of the respective innovations is influenced by numerous factors and mechanisms (Schwarz 2007).Business models and innovations need to encompass the dynamics of the market setting by including the personal and mental structures of market participants, as social influences are a market-dominating factor in the innovation diffusion paradigm (Kiesling 2011).
Innovation diffusion (ID) is understood as the analysis of the spread of an innovation (Rogers 2003).Early models on the diffusion of innovation commonly aggregated the adopters and non-adopters in singular variables (see Bass (1969) as seminal work).Over time, approaches that differentiated the actors into individual agents (so-called agentbased models, or ABMs) have received increasing attention.In these models, entities are modeled individually as autonomous, social, reactive and proactive agents (Wooldridge 1998).Agent actions are determined by autonomous decision-making strategies in accordance with the agents' personal objectives depending on various conditions.Phenomena in these models emerge from the behavior and interactions of the agents (Kiesling 2011).ABMs are suited to deal with complex social and socio-ecological systems (Buchmann et al. 2016).
Quantitative models of innovation diffusion that account for the complexity of the modeled system are particularly suited to assist decision makers in the development of effective strategies (Scheller and Bruckner 2019).In order to model the strategies of the heterogeneous agents realistically, it is necessary to collect and analyze an extensive amount of empirical data for grounding these models (Glaser and Strauss 1967), both theoretically and empirically (Smajgl and Barreteau 2014a).One promising approach for this is to employ empirically grounded agent-based models (eABMs) (Bonabeau 2002;Macal and North 2010;Kiesling et al. 2012).
eABMs are gaining importance as a valuable methodology for describing ID processes (Kiesling et al. 2012).Since these models are primarily applied to reflect real market issues (Smajgl and Barreteau 2014a), papers with real-world case studies to support decision makers are becoming more popular (Smajgl and Barreteau 2014b).This is also due to their capability of explaining and reproducing observed complex non-linear diffusion patterns through relatively simple local micro-level interactions (Kiesling 2011).Casebased applications "have an empirical space-time circumscribed target domain." (Boero and Squazzoni 2005).They are usually built "to provide forecasts, decision support, and policy analysis [...]" (Kiesling et al. 2012), showing that the application domain of eABMs for ID is very versatile.Similarly, existing eABMs differ extensively in their design and grounding and therefore also in their predictions and conclusions (Smajgl and Barreteau 2014b;Zsifkovits 2015).
Despite the individual differences among models, many eABMs share a lot of commonalities.However, as (Bell et al. 2015) stated, in most cases models are developed primarily without regarding existing approaches and shared common structures, resulting in a lack of " [...] a clear foundation of agreed-upon approaches and libraries that offer a baseline for problem solutions that characterize other modeling fields.".The selection of modeling aspects is often ad hoc (Durlauf 2012) without any defendable rationale (Smajgl and Barreteau 2014b).In the current culture, papers furthermore commonly fail to document critical methodological details (Smajgl and Barreteau 2014b).In line with this, the problem this article addresses is: Assessing the diffusion of new products is a business-critical activity.Due to the lack of a common foundation of eABM on ID, model construction is often adhoc, as hardly any generic framework for ID assessment exists.A generic framework for ID assessment that integrates and extends modeling approaches of eABMs permits modelers to compare and evaluate specific model mechanisms with little effort (Scheller et al. 2019).This allows the evaluation of modeling decisions and thus the identification of the model most appropriate for the subject at hand.Individual, context-specific models of concrete complex phenomena require extensive diligent data collection (empirical grounding), as noted above.The foundational structure of the models (i.e. the components, relationships and model dynamics), on the other hand, needs to be grounded on theory or existing models (theoretical grounding).The latter is particularly important for systems that aim at supporting various models and modeling contexts, most of all those aspiring to be generic frameworks.
While empirical grounding is specific to the modeled context, theoretical grounding is a more overarching requirement that can be addressed by basing the model context on existing, proven models.This property can be well-encompassed by an appropriate framework, resulting in the following requirements: High-level requirements:

R1
The framework must allow to depict the large variety of model components found in existing models.

R2
The framework must be flexible and modular to address the diversity of innovation diffusion models.
It should be noted that the framework needs to furthermore be extensible to account for future ID models.However, through the flexibility and modularity, this requirement is given implicity through R2.Based on the (high-level) requirements R1 and R2, a solution addressing the problem stated above is characterized as follows: Solution objective: A solution needs to provide a flexible, modular and extensible common description and implementation framework that allows to depict the large variety of model components found in existing models in order to provide a theoretically grounded description and implementation framework for empirically grounded agent-based models of innovation diffusion.Achieving this objective yields an integrated model framework suited to incorporate decisive components of proven models, as well as providing a formal model and a software implementation for existing and novel applications.As part of a research endeavor on infrastructure modeling, the framework is coined Integrated Resource Planning and Interaction (or short: IRPact).IRPact is based on a conceptual overview of various model components and dynamics of Scheller et al. (2019).A summary of major aspects is depicted in Fig. 1.From a scientific point of view, the presented eABM framework aims to analyze the ID process interrelations between customer behavior and product attributes.The framework is intended to both give researchers orientation on model development and to reduce construction and conceptualization time by providing a common framework.It furthermore strives to increase model and result robustness by allowing model component and parameterization evaluation.In practice, the framework can help decision makers to evaluate business model innovations in a fast-changing environment and thus develop a sustainable business strategy.
This article is organized along the process of the research it describes: The "Component analysis" section reviews and synthesizes existing components of eABMs for ID analysis and derives the conceptual requirements of the framework.Subsequently, the mathematical eABM framework is outlined in the "Framework modeling" section.The model description serves to describe the design of a versatile eABM framework to evaluate ID processes under different system conditions.The "Software implementation" section elaborates on the software implementation of the framework serving to facilitate the flexible configuration of the developed eABM.In the "Conclusion" section the developed model and the development process are discussed and further work is addressed.

Component analysis
In order to theoretically ground the framework and address requirement R1, this section identifies component requirements (CRs) it needs to fulfill.It builds upon a systematic review of eABMs as presented in Scheller et al. (2019).
The identified concepts and inferred modeling requirements are grouped by components representing model foundations, products, mental structures, and agents.An illustrative high-level illustration of the interplay of the identified and integrated model components is given in Fig. 1.A summary of each of the requirements is given in Table 1.

Model fundamentals
ABMs are grounded on several modeling strategies related to (physical) fundamentals, in particular time, space and processes.These strategies are important for the implementation as well as for processing logic.In particular, to depict temporal dynamics, the temporal model context needs to be an integral part of ID models (CR 1).While nearly all models employ discrete timing schemes (time passes in some temporal unit, and all or some agents act in each step), Stummer et al. (2015); Rodriguez et al. (2011) implement continuous time scales.Yet, temporal models are barely ever discussed explicitly (with the notable exception of Kiesling (2011)).The focus of many models is on process modeling, while temporal progress is only implicitly modeled.
Thus, many temporal aspects of these models are situated within the process model and the temporal model is described slenderly (Balbi et al. 2013;Barreteau et al. 2014;Jensen et al. 2015).The process model according to Stummer et al. (2015) governs the stages of the innovation decision process (with at least the stages of awareness, trial and adoption) of Rogers (2003), and specifies the execution of processes (for discrete temporal models) or actions between events (for continuous temporal models).In the framework it thus needs to manage adoption stages and simulation dynamics (CR 2).In addition to temporality, spatiality is an important characteristic in a range of different eABMs (Rai and Robinson 2015;Sopha et al. 2013;Swinerd and McNaught 2014;Schwarz and Ernst 2009).It allows to explicitly integrate the geographic location of entities and needs to address how geometry and the relative positioning of entities is operationalized.Due to the different requirements, an appropriate level of spatial representation needs to be reflected (CR 3).
Providing the infrastructure for communication and influence dynamics while utilizing the spatial characteristics, the social network can be seen as an interconnecting system (Delre et al. 2010;Dunn and Gallego 2010;McCoy and Lyons 2014).The social network describes the connection between agents and is a crucial aspect of several ID models.Frequently, the network is formalized as a directed or undirected graph with model entities for nodes and communication channels for edges (CR 4).The network structure can be given explicitly such as scale-free (Delre et al. 2010), purely local (McCoy andLyons 2014) or small-world (Sopha et al. 2013) network topology.Thus, different network topologies need to be possible (CR 5).A social network can stand for a number of social ties, sometimes even several ones within one model as described in Kostadinov et al. (2014), where friendship and trading relationships are incorporated.It thus needs to provide flexibility for numerous forms of ties (CR 6).

Product modeling
Obviously for ID models, the product entities analyzed are of fundamental importance.Due to the heterogeneity of the investigated models, technologies show a large variety of attributes ranging from technical parameters (Zhang and Nuttall 2011;Schwarz and Ernst 2009) through ecological characteristics (Windrum et al. 2009;Palmer et al. 2015) to cost-related parameters (Eppstein et al. 2011;Palmer et al. 2015).The framework must allow to for depicting this variety (CR 7).While in most models products are static entities within the time frame of adoption, some models require certain dynamics of the modeled products.In this context, Schwarz (2007) incorporates products that enter the simulation at a later time (market introduction) or become unavailable for adoption before the end of the simulation (product discontinuation), requiring a dynamic product set (CR 8).

Mental structures
To enable the use of models sensitive to cognitive modeling, it is important to depict not only the true qualities of innovations but also the perception of qualities.Perceptual aspects of products identified in the literature are ecological aspects (Eppstein et al. 2011), social perception (Stummer et al. 2015) or substitute availability (Windrum et al. 2009), which intends to model acquiring knowledge about qualities and existence of products.This requires a duality of product's true qualities and agents subjective perceptions (CR 9).To address cognitive modeling, eABMs need to address incomplete information, cognitive distortions and (subjective) perception.Thereby perceptions are not always static and can change over time (CR 10).Additionally, an interaction between perceptions and the true nature of products can also be seen by Kiesling (2011), where the true attributes of the products can only be assessed with a post-purchase evaluation of the adopted products (CR 11).
Another aspect of incomplete information is knowledge of the existence (awareness) of products (CR 12) since individual decision-making is based on the on the basic awareness of the technology (Rogers 2003).
A further source of heterogeneity in eABMs is seen in preferences.Analyzed models express preferences as ecological aspects of products, such as environmental concerns (Palmer et al. 2015) or certain aspects of social perception (Stummer et al. 2015;Sopha et al. 2013), requiring differentiated agent and value-specific preferences (CR 13).Models further incorporate attitudes relating to preferences in order to be used by decision processes (Zhang and Nuttall 2011), e.g. for weighing product aspects (Eppstein et al. 2011).Thus, preferences need to link to product qualities in order to relate values to the evaluation of products (CR 14).
Being a source of consumer heterogeneity and an essential component of ID, decision making is arguably one of the most important aspects of ID modeling.It can be understood as the cognitive processes employed for deciding on a product.Decision making is influenced by a variety of various aspects, e.g.mass media and advertisement, communication, product attributes and decision processes (Schramm et al. 2010).At the same time, social influence is also an important aspect in decision making (Graebig et al. 2014), which might also be coupled with spatial factors and serve as another source of heterogeneity (Schwarz 2007).Decision processes thus need to integrate a range of dynamics and attributes (CR 15).Modeling the decision process is grounded in various decision theories or in utilitarian approaches (van Eck et al. 2011;Palmer et al. 2015;Stummer et al. 2015;Schramm et al. 2010;Balbi et al. 2013;Rai and Robinson 2015).Other approaches include game theory (Zhang and Nuttall 2011) or artificial neural networks accounting for emotions in information processing (Wolf et al. 2015).Thus, an innovation diffusion eABM framework must allow for a large variety and flexibility of decision processes (CR 16).Additionally, a decision to adopt is always motivated by the non-fulfillment of some need of the agents to adopt.The initiation impulse and the corresponding intensity of the need requirement therefore also needs special attention as shown by Stummer et al. (2015) (CR 17).Thereby, different decision theories are conceivable (Palmer et al. 2015;Stummer et al. 2015;Balbi et al. 2013;Rai and Robinson 2015).
Moreover, word-of-mouth is an important phenomenon featured in ID eABMs.Due to the multitude of possible communication contents, numerous model aspects fall into this category.Arguably, the most important function of communication is to foster social perception (Stummer et al. 2015;Chappin and Afman 2013;Eppstein et al. 2011), which needs to be covered by the framework (CR 18).One set of channels mentioned in literature is connected to advertisement and mass media (van Eck et al. 2011;Stummer et al. 2015;Wolf et al. 2015).Others are communication channels between consumer agents, taking into account the social network (Stummer et al. 2015;Rai and Robinson 2015;Wolf et al. 2015).The model described in Schramm et al. (2010) uses a more complex channel, which can be modeled by mass media and advertisement, communication, product attributes and the decision process.In order to capture this variety and complexity, communication channels need to be adaptable and be able to integrate this variety (CR 19).For models exemplifying behavior and belief change (Wolf et al. 2015), the framework needs to allow to have behavior and beliefs be mediated through communication within a social network (CR 20).Further model aspects touching upon communication are learning, social norms, mental representation and personal attributes such as social influence and the number of peers to communicate (Wolf et al. 2015).Communication behavior further shows heterogeneity by social and spatial factors (Schwarz 2007).Due to the plurality of communication forms and contents, communication modeling thus needs to allow for heterogeneous and spatially-sensitive communication processes (CR 21).
In addition to communication between consumers, van Eck et al. ( 2011) imply a corporate entity using mass media.The publications of Stummer et al. (2015), Wolf et al. (2015) and Broekhuizen et al. (2011) make use of channels related to advertisement and mass media, while (Schramm et al. 2010) model the interplay of mass media and aspects of product attributes and decision processes.The framework thus needs to allow for mass media and advertisement (CR 22).More abstractly, an ID model needs to address information and advertisement modeling, particularly how a range of information and advertisement processes take place.This includes changing the perception or preference of an agent, taking into account the nature of a product for information and some desired value for advertisement which is proactively sought instead of pushed on agents (CR 23).

Agent modeling
Innovation diffusion is primarily concerned with adoption decisions of agents or stakeholders, making consumer agents (e.g.individuals or households) the center of these models.They are characterized by a large range of personal, economic and social attributes.Examples for this are subjective norms (Graebig et al. 2014) or characteristics within the socio-economic coordinate system (Wolf et al. 2015), such as age, salary, years of ownership, average behavior (Eppstein et al. 2011), or innovativeness (Schramm et al. 2010), necessitating individual attributes for these agents (CR 24).Consumer heterogeneity has been explicitly mentioned by various models based on heterogeneous social structure (Schwarz and Ernst 2009;Palmer et al. 2015;Eppstein et al. 2011;McCoy and Lyons 2014;Sopha et al. 2013).This heterogeneity is not only seen in individual aspects, but also those characterizing whole groups of agents and their relationship with other groups.Thereby, the grouping is often done on a socio-economic or psycho-sociological basis (such as lifestyle groups, cognitive involvement in decision processes (Schwarz 2007)), requiring groups of similar agents (intra-homogeneity) that are distinct from other groups (inter-heteorogeneity), resulting in component requirement CR 25.
In addition to consumer agents, company agents have been modeled in different eABMs, be it indirectly as in Balbi et al. (2013) and Zhang and Nuttall (2011), or directly as brand agents (Schramm et al. 2010).In this role, corporation entities interact with the consumer agents to exert product-relevant consumer influence (CR 26) and prompt a decision process.Furthermore, active product management such as strategic alignment (Balbi et al. 2013), suppliers influence (Zhang and Nuttall 2011;Kostadinov et al. 2014) and competitors influence was modeled and should be possible to implement (CR 27).In Schramm et al. (2010), corporate entities are modeled directly (and endogenously) as brand agents which as sales agents also can handle different product portfolios of different companies (CR 28).This is even more the case for models in which the point-of-sale (POS) is explicitly depicted as physically distinct sales agent with a range of products, product availabilities and prices, and a purchase process as implemented by Stummer et al. (2015).Similar to other agents, and as outlined in Schramm et al. (2010), Balbi et al. (2013), Zhang and Nuttall (2011) and Kostadinov et al. (2014) for company or brand agent a sales agent should furthermore exhibit proactive behavior, resulting in the need for proactive behavior and purchase processes that optionally take place in a spatial context (CR 29).
Additionally, a policy agent is used both endogenously and exogenously in existing eABMs, e.g. in Zhang and Nuttall (2011) and Barreteau et al. (2014).While in the first case rules and regulations are set by authorities, in the second case administration tasks are aggregated by a policy agent.In order to depict this, a suitable framework should allow for the pro-or reactive management of existing regularities and policies (CR 30).

Framework modeling
This section presents the modeling approach and the formal definition of model components based on the component requirements described in the "Component analysis" section, as summarized in Table 1.Starting from the fundamental structures that other model components are embedded in (time and space, the executed processes and the structure of the social network), the fundamental object of the model, the product, is defined.In order to introduce all crucial components agents depend on, mental structures (perceptions, preferences, decision processes and communication) are introduced before a comprehensive overview of the different agents (consumers and their groups, company agents and points-of-sales, as well as the policy agent) is given.

Modeling approach
As mentioned in the introduction, the modeled framework needs to be flexible and modular (R2) in order to be extendable.This was addressed through a modeling process following a two-tiered abstraction approach.Possible entities or mechanics are integrated into sets and entities are defined by tuples of members of these sets.These sets are often called a scheme, of which a concrete specification appears as an element in the tuple defining a component.
Equivalently, for similar entities with common characteristics, a structure understood as the group is used.Entities associated with them (as derived instances) are formalized through an association function.
The requirement for allowing a large variety of model components (R1) has been detailed into 30 component requirements that guided the modeling process.Before the components are detailed below, a short summary of the model is given and visualized in Fig. 2.
In the modeled processes, consumer agents belonging to consumer agent groups adopt products through decision making processes based on consumer perceptions and preferences that can change over time.Perceptions of products consumers are aware of are shaped through communication with other consumer agents in their social network and advertisement from corporate agents that manage these products.Consumer agents are furthermore exposed to products of various product groups through point of sales that can be embedded in the spatial model.A policy agent can further restrict the product landscape.

Temporal modeling
In addition to the specification of the temporal model context (CR 1), a more general framework needs to enable the implementation of different timing schemes.The temporal model further serves as a frame of reference.
Different time models allow the system to follow different timing regimes.This comprises the discrete and continuous time model.In general, discrete time models operate in steps that advance the time of the simulation step by step (usually T ⊂ N 0 , with T as the set of time steps in the simulation).In this, only model dynamics corresponding to these time points are valid.For continuous times regimes all time points prior to the simulation end time are valid and the mechanism governing simulation time is more event-driven.This is described by T ⊂ (t ∈ R + | t ≤ t end ) , with t end > 0 the end time of the time horizon of interest.
While the timing of the continuous model is marked entirely by events, through their relation to the discrete time, events are used in the discrete setting as well.Events bind dynamic model semantics to the temporal evaluation of their desired effect.This touches on a number of processes, such as the market introduction or discontinuation of a product, communication events, the rise of consumer needs and post-purchase evaluations.These are detailed below in the respective subsections.

Process modeling
In order to manage the stages and dynamics of the adoption process (CR 2), IRPact uses a process model.It allows for various process models, but is primarily intended with adoption stage processes in mind.In a stereotypical implementation it consists of a knowledge, persuasion, decision, implementation and confirmation step, but is open to different process models as well.For the continuous case it works with events corresponding to the phases and specifies actions with regards to product readoption.The process model specifies how agents are processed, and is based on an event scheduler, especially in the case of continuous temporal models.

Spatial modeling
The analysis of existing models showed that the spatial aspects of the simulation should be captured through a spatial model with an appropriate level of spatial representation (CR 3).
Whereas (spatial) agents are positioned through their coordinates loc, their positioning towards the geometry of other spatial model aspects such as the model border is governed by the spatial border map sbm : R × R → B .This map describes whether a (two-dimensional) coordinate loc falls within the borders of the model.
Entities within the simulation are further associated with a spatial distribution for the geographical initialization of the model.These entities are thus assigned a position in the spatial model S according to their configured spatial distribution (see the respective agents for more detail).

Social network modeling
As mentioned in the "Component analysis" section, communication needs to respect the social network of agents.The formulation of the social network as a graph addresses both component requirement CR 4 (possibility to depict social network as graph) with different network topologies (CR 5) and gives the social network large generality.The social network is modeled as a dynamic directed weighted (multi-) graph with agents as nodes and connections (ties) between agents as edges.Central to the social network is the structure of communication channels between consumer agents through different media (such as communication flow, information flow, friend-of-relations etc.).
The social network is modeled as a 4-tuple SN = (G, w, ews, tms) .At the core of the social network is the social graph G = (AN , E) , describing the relationships between agents as nodes r, o ∈ AN through directed edges e = (r, o, m) ∈ E (from node r to node o), where each edge is associated with a medium m ∈ M .A node r is associated with a consumer agent c through the consumer agent social graph association mapping r = csgam(c).
The edges are associated with different interactions through the medium, 1 as specified in other model components representing different qualities of information flow.Similarly, the strength of the ties is formalized through the edge weight function w : E × T → R ≥0 .This allows for rich interpretation and enables dynamic behaviour 1 Such as information exchange, value exchange, trust, marketing information etc.
and heterogeneous edge weights.The multitude of media and their dynamic nature provides a wide variety of agent connections, addressing requirement CR 6.
In order to describe the dynamics of the social network, social networks furthermore feature edge-weight schemes ews ∈ EWS that describe the temporal change of the weights w , as well as topology manipulation schemes tms ∈ TMS .These schemes describe how the connections of the social network (i.e. the edges between nodes r, o ∈ AN ) change through model dynamics by establishing new links or shedding exist- ing ones.

Products
In order to allow for rich variety of product qualities (CR 7), products follow a modeling approach on two abstraction layers: product groups as (abstract) blue-prints of similar products and concrete product instances belonging to different product groups.Products contain a set of product attributes, describing various qualities of products and are organized in ProductGroups through the Product Group Association Map: pgam : P → PG , associating products p ∈ P with their product groups pg ∈ PG .Products can be parameterized either through stochastic product initialization (meaning that product attributes are assigned using a probability distribution) or can be configured as fixed products with set values.An overview of the model components interacting with products is given in Fig. 3.
A product p ∈ P is defined as a 3-tuple PA p,t Set of product attributes at time t with entries pa t ∈ PA p,t .pas p,t Product activation status pas p,t = apm(p, t) (as defined through the adopted product map apm , indicating whether the product is already introduced and not yet discontinued at a given time t).P L D p Product lifetime distribution, specifying how long a product can be used upon adoption before it is removed from the adopted products ap c,t of consumer agents c ∈ C.

Product attributes
Product attributes pa t ∈ PA t describe the qualities of products quantitatively.For this, the product attribute value pav pa,t holds numerical values on a number of quality dimen- sions (one for each product attribute).The product attribute mutability pam pa indicates whether pav is allowed to change over time and the observability pao pa describes to what extent its true quality can be assessed by an agent.A product attribute pa t at time t can thus be described as a 3-tuple pav pa,t Product attribute values pav pa,t = pavm(pa, t) described through the product p t = (PA p,t , pas p,t , P L D p ), with pa t = (pav pa,t , pam pa , pao pa ) ∈ PA t , with attribute value map pavm : PA × T → R ≥0 at simulation time t.pam pa Mutability defined by the product attribute mutability map pam pa = pamm(pa) : PA → B. pao pa Observability pao pa = paom(pa) is given by the product attribute observability map paom : PA → [0, 1].

Product groups
As an abstraction of similar products with individual differences, product groups serve to balance homogeneity and heterogeneity through the use of probability distributions for the description of their attributes: A product group pg ∈ PG is formalized as an 8-tuple2

PGA pg
Set of product group attributes associated with pg.

PPG pg
Set of prerequisite product groups for the product group.

EPG pg
Excluding product groups.

FP pg
Set of fixed products of product group pg.pgn pg Set of needs derived products fulfill.

SP pg
Standard product for the product group pg.odp Overwrite decision process odp = odpm(pg).P L D pg Product lifetime distribution (default) used for products derived from this product group.

Product group attributes
Product group attributes formalize the quality of product groups.Instead of assigning a scalar value on the quality dimension of product attribute values, product groups describe these through probability distributions.Observability and mutability, however, are constant over all ProductAttributes derived from this ProductGroupAttribute.
Analogous to product attributes, a product group attribute is formalized as a 3-tuple P G A V D pga Distribution the product attribute values are drawn from via realizations of the random variable X PGAVD pga .pgam pga Product attribute mutability pgam pga ∈ B. pgao pga Attribute observability pgao pga ∈ [0, 1] of derived product attributes.
The mapping between the product group attributes and the attributes belonging to them is done through the product group attribute product attribute mapping pgapam : PA t → PGA .With the exception of fixed products, the respective initial value of the product attribute pav pa,0 is determined through X PGAVD pga with pga = pgapam(pa).

Fixed products
In contrast to assigning attribute values through a stochastic process, fixed products fp ∈ FP = t∈T FP t exhibit predetermined initial values pav pa,0 for the respec- tive PA fp,0 .Fixed products are generally used to parameterize scripted events, that is the market introduction or discontinuation of a product explained below, allowing the manipulation of the simulation product set, addressing CR 8.
The initial relation of consumer agents and existing fixed products is described through the respective fixed product awareness distributions F P A D fp cag (specifying how awareness about fp is initially distributed in cag) and the initial fixed product adoption distributions I F P A D fp cag (describing how the adopters of fp at the beginning of the simulation are distributed), as seen below.
Fixed products fp ∈ FP are likewise formalized as a 3-tuple, only they bypass the sto- chastical generation step: Set of fixed product attributes at time t with entries pa t ∈ PA fp,t .pas fp,t Product activation status pas fp,t = apm(fp, t) in analogy to other products.P L D fp Product lifetime distribution that can differ from other products in the product group, but usually corresponds to those used for stochastically initiated products.
pga = (P G A V D pga , pgam pga , pgao pga ), with fp t = (PA fp,t , pas fp,t , P L D fp ), with

Perception modeling
The primary purpose of the perception sub-model is to enable the duality of true qualities and subjective perceptions (CR 9).While the true qualities of products are already modeled through product attributes, the framework requires individual perceptions of these qualities.These further need to be allowed to change over time to allow for CR 10.The observation of adopted products (CR 11) and (un-)awareness about products (CR 12) is described below.Perception is modeled in a two-tiered fashion in the framework: perceptions of the values of a product attribute pa for consumer agent c at time t are described through the perceived product attribute value map ppavm : C × PA × T → R ≥0 .3Their tempo- ral dynamics abstract some of the technicalities of the ppavm away through perception schemes ps ∈ PS describing the initial status of the ppavm , e.g. as the perceived prod- uct group attribute value distributions P P A V D cag associated with consumer agent group cag,4 and the temporal dynamics (i.e.(ppavm(c, pa, t)|ppavm(c, pa, t), t < t)).
Perception schemes thus describe how perception-forming events are integrated over time, and a single value ppavm(c, pa, t) is calculated at a given time t.
The association of the product group attributes and the respective perception schemes is formalized through the product perception scheme mapping ppsm cag : PGA → PS.

Product observation
The observation of adopted products (CR 11) is realized through perception opportunities after adoption of the respective product (so-called post-purchase evaluation).Post-purchase evaluations add a product perception to the consumer's product attribute perception with a weight based on the observability of the product and the true product attribute value at observation time t: To what degree this changes the perception of the consumer agent depends on the respective perception scheme ps used.

Product awareness
While product attribute perception captures the imperfect information consumers have of the true value of a product attribute, product awareness describes whether a consumer is aware of a product (if a product is on the market), addressing component requirement CR 12. Knowledge of a product's existence is modeled through the product awareness map pawm : C × P × T → B , describing whether c is aware of p at time t ( pawm(c, p, t) = true ).It is initially parameterized through the product awareness dis- tributions P A WD pg cag , and is specific for each product and consumer agent group.Its value is true after product encounter, e.g. through communication about the product by ppavm(c, pa, t)|(ppavm(c, pa, t), pao pa , pav pa, t ) another consumer agent, company originated consumer agent messages or by encountering a product in a POS.
An overview of the described perception modeling is given, inter alia, in Fig. 4.

Preference modeling
Preference modeling addresses agent-specific preferences based on environmental and social values (CR 13) and needs to allow to link product qualities and preferences for product evaluation (CR 14).Moral or ethical dimensions of consumer agents are modeled through values v ∈ V and the importance (strength) agents assign to them, as a numerical value.Preferences are formalized through the preference map pm c : V × T → R ≥0 assigning a numerical value to the strength of value v ∈ V for con- sumer c at simulation time t.The relation between preferences and product attributes is modeled as a weighted map, the (temporally static)5 product attribute value preference mapping pavpm : PA × V → R ≥0 , to be used in product evaluation in the purchase decision process.

Adoption decision modeling
At the core, simulating product adoption is about modeling the decisions of consumer agents between suitable products.The decision processes involved in this should allow to connect advertisement, communication, product attributes and decision processes (CR 15).They should further be highly flexible (CR 16), and allow for taking into account social and spatial factors.
In IRPact, this is formalized through an abstract decision process d associated with a consumers' agent group, representing the cognitive processes they employ for deciding between suitable products.From the perspective of the model, needs the products' Pro-ductGroup fulfills are satisfied with the adoption of the respective product and decision processes are initiated through a need event (CR 17).

Decision process modeling
Formally, decision processes are specified by the product adoption decision map padm : C × P (P) × T × D → P , padm(c, P pot , t, d) = p , describing the taken product adoption for product p of agent c with the eligible potential products P pot at time t for decision process d.For decision modeling where the state of agents in the social network of an agent or other system aspects are used, this is extended to the extended product adoption decision map: epadm : M × T → P , with M representing the model as a tuple of all its components.The decision process is triggered when a need event is processed and is thus governed by the process model, often depending on the internal state of the agents and certain environmental parameters.Decision processes can be executed at a time depending on the modeled system dynamics, governed by the process model as well.
When a product p is adopted (i.e.padm(c, P pot , t, d) = p ), it is added to the set of adopted products ap c,t = pam(c, t) of agent c for the lifetime of the product adoption, as drawn from the respective distribution P L D pga at adoption time.This is formalized through the partial product adoption lifetime map palm : C × T × P → B , describing whether an adopted product is operational (i.e. in a state to satisfy the associated need) at a given time, and is related to pam(c, t) by the following: with t being the time the product is adopted,6 i.e. t = arg min t p ∈ pam(c, t) , and x pl p,c, t being the realization of the random variable X c,t pl corresponding to the product lifetime distribution P L D p for product p adopted by consumer c at time t.
The entire process of adaption is showcased in Fig. 5.

Needs modeling
Needs n ∈ N derive their semantics from products satisfying them, decision processes, and the process describing how they arise.The latter is called a need development scheme NDS cag , associated with ConsumerAgentGroup cag, which is invoked by the pro- cess model to create an ordered list of needs, operationalized as need events.These are temporally situated events that trigger decision processes, which are governed through the process model.Need development schemes differ greatly by their dynamics, and are specified by what happens with products if their lifetime is exceeded.
Needs are associated with a needIndicator for every ConsumerAgentGroup through the need indicator function ni : CAG × N → R ≥0 .Numerical values ni(cag, n) are asso- ciated with need n and ConsumerAgentGroup cag, within the NDS cag , specifying the needs interpretation.

Communication modeling
A central aspect in communication is the influence on product perceptions of consumer agents.In addition to perception, communication modeling is depicted in Fig. 4.
In IRPact, perceptions are shaped primarily through reported experiences of communicating adopters and word-of-mouth of other consumers.With advertisement messages by company agents as part of communication, it furthermore addresses component requirement CR 25 (allow change of the perception or preference of an agent by corporate agents).
Socially-based perception (CR 18) and behavior and belief influence is achieved by the exchange of consumer-originated perception manipulation messages COPM ∋ copm = (c, ĉ, pa, p) through communication within the social network, provid- ing adaptable communication channels (CR 19).These messages are based on their own perception.They change the (perceived) product attribute values of product attribute pa of product p of the receiving agent ĉ , depending on the perceived product values of the sender c of the message.In addition to the messages sent by consumer agents, company agents can also send (product perception manipulation) messages as specified through the advertisement scheme.
If the receiver is not aware of the product yet, they become aware of it through receiving a message.Furthermore, a new perception of pa is added.This perception is based on the perception ppavm(c, pa, t) of the sender c and the weight of the edge connecting them in the social graph (i.e.w((r, o, m), t) , with r = csgam(c), o = csgam(ĉ) ).How this perception is incorporated into the cognitive context of the receiving agent ĉ depends on their perception scheme ps (as parameterized through the ppsm cag , with cag being the respective consumer agent group of ĉ ).This allows for the integration of other model aspects through the different perception schemes and addresses the influence of communication on behavior or believes (CR 20).The timing, frequency and choice of the recipient within the social network of messages are governed by the CommunicationScheme CS cag of the respective consumer groups.This is done through communication events that connect messages with their temporal evaluation through the process model.Formally, this is described by the communication event mapping cem cag : COPM cag × T → CE cag , encompassed by the com- munication scheme of the different consumer groups cag.This provides heterogeneous and flexible communication schemes based on the social and spatial factors used for grouping the agents (meeting component requirement CR 21).A crucial component of these are the message activity distributions MA D cag , which characterize the num- ber of messages per time unit the groups consumer agents send to connected consumer agents ĉ.
Messages creation is governed by message schemes, depending on the sender of the message and the state of the simulation, formalized as ms cag : C × M × T → P (COPM) , describing which messages consumer agents c ∈ C with cagm(c) = cag send at time t ∈ T depending on the model state M .Together, these schemes form the communication scheme CS cag = (ms cag , cem cag ) .

Information modeling
Information is characterized through being proactively sought by agents.Information seeking is governed by schemes invoked by the process model or the respective decision processes, describing what information agents think they require and what strategies they use to find it.Information in IRPact is understood in a naive form, as a piece of knowledge i ∈ I , with I being the set of all information, originating from an informa- tion agent.Forms of handling information are specified through information schemes ( is ∈ IS as pair is = (iavm, pim) ), which define how information model mechanics work and thus describe the information ecosystem within the simulation through their availability and product information seeking behavior.
Information is processed by an agent according to the perception scheme by acting as a perception respective to the product attribute (specified by the information product attribute mapping function ipam : I → PA , defined for all product attribute information pai ∈ PAI ⊂ I).
Information schemes IS specify what information is available for agents to process via the information availability map iavm : I × T → B .They indicate whether a given infor- mation is 'known' at a given time t ∈ T , and how product information is sought by con- sumer agents through the product information map pim : C × PA × T → P (I) .It thus describes what information about a product attribute pa ∈ PA is relevant to a consumer agent c ∈ C at time t ∈ T.

Agent modeling
Agents in IRPact represent cognitive entities in the modeled context.These can be: • units of adoption (in the case of Consumer agents), • companies or company employees responsible for sales / distribution policies of producers (in the case of Company agents), • shops or distribution departments (in the case of POS agents), • actors within the policy sphere (as in the case of Policy agents).
As agents in the model are intended to exhibit cognitive processes, information plays an important role.Its interpretation in a social context depends on the credibility of the information source, modeled as informational authority ia ∈ [0, 1] innate to all agents, quantifying their informational credibility through a numerical value. 7This value is used in processes involving information I and its interpretation depends on the modeled cognition of the respective agents.

Consumer agents
Consumer agents describe cognitive entities that represent households or individual consumers, and are thus often the most important type of agents for the diffusion and adoption of technology.Their primary role in the model is to adopt products and to interact with other agents.Consumer agents are organized in groups, bundling common characteristics of the consumer agents and implementing consumer agent heterogeneity, elaborated on below.Consumer agents are characterized primarily through mental structures and their environment; something unique to them, however, are their individual consumer attributes ca c,t , addressing component requirement CR 24.
A consumer agent c ∈ C (with C being the set of consumer agents) is formalized as a 8-tuple, whose state at time t is described as Consumer Agent Group association indicates which consumer agent group c is a member of cag c = cagm(c) (with consumer agent group mapping cagm : C → CAG associating consumer agent c ∈ C with their respective group cag ∈ CAG).ca c,t State of the consumer attributes ca c,t of c at time t, with the consumer attributes drawn from the distributions C G A cag described below.loc c,t Coordinates of c within the spatial model S , initialized by drawing from the spatial distribution S D cag c of the corresponding agent group cag c .Pr c,t Preference vector describing the agents' preferences pr c,t v for value v at time t as entries ( pr c,t v = pm c (v, t)).Paw c,t Product awareness vector for time t and agents c, indicating what products p ∈ P agent c is aware of.PAP c,t Product attribute perception vector, indicating which perception c has of the value of different product attributes at time t as a numerical value.
c t = (cag c , ca c,t , loc c,t , Pr c,t , Paw c,t , PAP c,t , ap c,t , csgam c ), with 7 Although a universal credibility of an agent's information is unrealistic and agent-inherent factors, their context, the nature of the information and their informational history are relevant for assessing the credibility of another agent, this would make the model a lot more complex.Since there is already little justification for informational aspects of product adoption from the analyzed innovation diffusion models, a simple approach was chosen in IRPact.More complicated informational mechanics can easily be extended or implemented using other model mechanisms.
ap c,t Set of adopted products ap c,t = pam(c, t) , indicating which products are adopted by c ∈ C at time t ∈ T. csgam c Consumer agent social graph association csgam c = csgam(c) , describing which node r in the Social Graph corresponds to c, with consumer social graph association mapping csgam : C → AN.

Consumer agent groups
To achieve the flexibility and balance between homogeneity and heterogeneity required by CR 25 (intra-homogeneous and inter-heterogeneous agent groups), IRPact allows for flexible consumer agent groups ( cag ∈ CAG ) which describe types of consumer agents through abstractions of the consumers.In addition to parameters linked to model dynamics, a cag specifies the distribution on which concrete values of its members are based upon.ConsumerAgentGroups thus serve as a template or blue print for consumer agents that play a decisive role in consumer agent instantiation, where its (numerical) values are drawn from the corresponding distribution, allowing for fine control over the homogeneity and heterogeneity of agents grouped together.A cag is formalized as an 11-tuple: C G A cag Consumer group attribute vector containing the distributions the corresponding consumer agent attributes ca c of members of the agent group are drawn from.

S D cag
Spatial distribution giving the coordinates of agents of cag within the spatial model S.

C P D cag
Preference distribution from which initial groups agent preferences are drawn from.P A WD cag Set of product awareness distributions the initial awareness of corresponding agents are based on.ppsm cag Product perception scheme mapping ppsm cag : PGA → PS , assigning product group attributes pga ∈ PGA their perception scheme ps ∈ PS for perceptions PAP c,t of derived consumers.d Decision process that agents of cag employ.

NDS cag
Need development scheme for cag.

CS cag
Communication scheme CS cag = (ms cag , cem cag ) , specifying how messages and communication events are created through the message scheme ms cag and the communication event scheme cem cag .I F P A D cag Set of initial fixed product adoption distribution of cag for the respective fixed products, describing their dissemination within cag at t = 0. F P A D cag Fixed product awareness distribution set of cag which details product awareness instantiation for fixed products fp at t = 0. ia cag Information authority of agents of cag.

Company agents
To allow for the required versatility, company agents must provide product-relevant consumer influence (CR 26) and active management and operation capabilities (CR 27).
Active management and operation of a company agent coa ∈ COA in IRPact translates to making management decisions, as well as the execution of advertisement and marketing.Decision processes are formalized through the management decision scheme MDS coa and product management is carried out the product quality manipulation schemes PQMS coa as manipulation of product perceptions through unidirectional mes- sages.These concepts address component requirement CR 22 and 23 through productrelevant consumer influence.Product management manifests in the manipulation of the product portfolio in the simulation, addressing requirement CR 8 through the (exogenously supplied) market introduction of products and discontinuation of products of fixed products fp.
While market introduction events activate products (allowing them for adoption, i.e. apm(p, t) = true ∀t ≥ t ), product discontinuation events make a fixed product unavail- able to customers (i.e.apm(p, t) = false ∀t ≥ t ) for an event at scheduled time t.
The state of a company agent at time t is described as: PP coa,t Product portfolio of coa at time t, describing which products the company agent manages PP coa,t ⊂ P t .PQMS coa Product quality manipulation scheme, representing how the product attributes of the products in the product portfolio of the coa can be manipulated.

MDS coa
Management decision scheme coa uses.Describes how the states of products in the product portfolio are managed and how these decisions are taken by the agent.

AS coa
Advertisement scheme, formalizing how advertisement messages for products in their portfolio PP coa,t are sent.ia coa Information authority as an informational agent.

Sales agents
As mentioned above, a POS needs to exhibit a product portfolio (CR 28), provide a purchase process, allow for spatial contextualization and be able to actively manage and operate their business (CR 29).In order to address these component requirements, a POS is parameterized through their dynamic behavior, location in space (if applicable) and a portfolio of available products with a POS-specific prize, allowing to investigate supply limitations and roll-out strategies.Formally, a point-of-sale pos ∈ POS (with POS being the set of points-of-sale within the model) at simulation time t is described as a 5-tuple coa t = (PP coa,t , PQMS coa , MDS coa , AS coa , ia coa ), with pos t = (Av pos,t , PPr pos,t , loc pos , ia pos , PuPS pos ), with The factory method pattern was widely used to create most entities like agents and products.In addition, most of the behavior of the entities is handled by interfaces, called schemes.This labeling is based on the schemes of the model design.Both approaches allow individual implementations to be easily interchangeable.In IRPact tasks or interactions between agents like communication are implemented as events, which can be scheduled and executed at a specific point in time.
The component diagram in Fig. 6 visualizes the structure of IRPact.It shows the modular aspect based on subsystems.These are primarily grounded on the modelling approaches.For a better understanding and distinction, schema components were labeled as schema.
In the following, the concrete implementation of the presented framework model is described.Due to reasons of space and for a better overview, only key classes are considered.The full structure can be found in the mentioned repository.

Temporal model
The temporal model describes the temporal dynamics of the simulation.It is implemented as an abstract TimeModel class to support different temporal modes.The primary task is to govern the temporal order.This aspect also includes starting and controlling the whole simulation.By monitoring the temporal order the TimeModel also holds a reference to the EventScheduler, which handles the scheduling and execution of events.In addition it contains a reference to the ProcessModel to trigger adoption processes.

Process model
The abstract ProcessModel governs the execution of dynamic aspects of the model.In general the process model specifies the order of execution of processes.The concrete realization is based on the used time model.For this reason the implementation of the process model strongly dependents on the time model.To specify how consumer agents act when ceasing to adopt a product, the ProcessModel utilizes an Adoption-ReplacementScheme.This scheme describes how adopted products are replaced once they are discontinued on the market, and how consumer agents respond to these discontinuations.

Spatial model
The spatial model of the simulation is realized using the abstract SpatialModel class.It defines how spatial entities are situated to each other based on a metric scheme.In addition, this class also implements the spatial border map sbm to decide if an entity is within bounds.

Social network
The social network SN was implemented closely to the modelling approach.While the EdgeWeightManipulationScheme interface implements the edge weight function w and the edge weight scheme ews, the TopologyManipulationScheme interface  implements the topology mutability scheme tms.Both enable changes to the underlying social graph, which is implemented in the SocialGraph class.All three parts are combined in the SocialNetwork class, which realizes the social network SN itself.As in modelling, consumer agents are nodes of the graph and edges response to interactions.The consumer agent social association mapping csgam was realized by the Consumer- Agent having a reference to the corresponding node in the graph.

Product implementation
The product implementation is heavily based on the modelling approach.Product, ProductAttribute, ProductGroup and ProductGroupAttribute classes implementing the functionality in accordance to the "Products" section.To realize the product group association map pgam , the Product class holds a reference to their respective ProductGroup instance.
Fixed products are also realized by the Product class.The fixed product awareness distributions F P A D and the initial fixed product adoption distributions I F P A D are part of the ConsumerAgentGroup class.Both are implemented as simple maps.

Perception modeling
Product perception is realised through two different concepts.The ProductAt-tributePerceptionScheme interface calculates the actual perception of a product attribute for a respective agent at a specific point of time.For this reason the Consum-erAgent class contains a perception scheme for every product attribute.This mapping corresponds to the perceived product attribute value map ppavm .The product percep- tion scheme mapping ppsm cag is realised through the PerceptionSchemeConfigu- ration class, which is part of the ConsumerAgentGroup.
Because product observation or post-purchase evaluation is an active task, they are implemented as events.The PostPurchaseEvaluationEvent handles the addition of product perception to concerned consumer agents.
In order for consumer agents to know about the existence of products, the Consum-erAgent class manages a set of known products.If a product is part of the set, the corresponding agent is aware of it.Based on this set, the product awareness map pawm was realized.

Preference modeling
In order to realize the preference model, first the abstraction of values V was required.Since these are usually of descriptive nature to express the state of mind of an agent, they are realized as strings in the simulation.A simple Value class holds the information.Combined with a numerical preference strength, a value is coupled a in Preference class, which realizes the preference mapping pm .In order to assign a preference to a specific information or object, a mapping between the value and the corresponding object is required.Currently only product attributes are considered as assignable targets to evaluate the (agent specific) utility in decision processes.The ProductGroupAt-tributeValueMapping class maps a product group attribute with the corresponding value based on a mapping strength.This implementation corresponds to the product attribute value preference mapping pavpm .The value instance in both, the Prefer- ence class and the ProductGroupAttributeValueMapping class, can be used to obtain the preference strength of the corresponding product attribute.

Decision modeling
Decisions can be of various kinds.The marker interface DecisionMakingProcess forms the base for all decision processes.The ConsumerAgentAdoptionDeci-sionProcess interface realizes the extended product adoption decision map epadm (and thus the normal padm ).It offers methods to select a product to adopt and to find superior alternatives, if available.

Needs modeling
As mentioned in the "Decision process modeling" section, the need concept (and need events) are closely connected to decision processes.Needs, like values, are an abstraction based on the same data type.In IRPact both are based on strings.Needs gain their semantics through other model components, such as the abstract NeedDevelopment-Scheme class.This scheme describes how needs develop and what happens when a product expires.The latter is important in order to decide whether already satisfied needs should be active again.
In order to work and react to needs, they are embedded in an NeedEvent class.That approach allows them to be processed at a specific point in time.
Figure 7 shows all actions taking place to satisfy a need.Because the ProcessModel controls the model dynamics, it is responsible for invoking the NeedDevelopment-Scheme.Based on the concerned consumer agent, the scheme creates all necessary NeedEvents.Like other events, these are scheduled on the EventScheduler.By executing a NeedEvent the adoption process is started.First, all products that satisfy the corresponding need are collected.Based on the ConsumerAgentAdoption-DecisionProcess of the concerned consumer agent, the most suitable product is selected.Finally, the selected product is adopted and subsequent processes are invoked.

Communication modeling
Communication between agents is based on messages.In IRPact messages are instructions.Figure 8 shows the full communication process and all involved components.The MessageScheme interface handles the creation of Message instances for a sending agent.Based on the scheme the receiving agent and the instructions are specified.Next, the created set of messages is processed by a CommunicationScheme to create a set of CommunicationEvents, realizing the communication event mapping cem .
A communication event links a message to the temporal model and allows to schedule instructions and events.Finally the created communication events are scheduled by the EventScheduler and executed on their due date.

Information modeling
As information is too abstract as a concept to have any meaningful implementation in IRPact, Information was chosen to be an abstract class, with only holds a reference to the agent from which it was provided.Information about product qualities is modeled through the ProductAttributeInformation and corresponds to PAI.The way information enters the simulation and is processed is implemented by InformationSchemes.

Agent modeling
In IRPact all agents are extensions of the Agent class.Figure 9 shows the concrete hierarchy.Based on their functionality agents are divided into two categories.Spatial-Agents possess spatial information, implemented as a (2-dimensional) coordinate, to model the location loc.InformationAgents have the ability to share information.The information authority ia is modelled using the ia attribute of the InformationAgents.SpatialInformationAgent combines both extensions.
Because all concrete modeled agents in the "Agent modeling" section are required to have the ability to share information, their implementations are all extensions of the InformationAgent class.In addition, consumer agents and POS agents require an additional location loc.Therefore they are extensions of the Spatial Informa-tionAgent class.The specific behaviour of all agents is mediated through schemes.Figure 9 shows the kind of implementation of the parameters of each agent type.In contrast, the subsystem Agents in the component diagram in Fig. 6 displays the composition of each agent, their used schemes and the relations to other components.

Conclusion
This article started out from the business need of assessing the diffusion of new innovations in a dynamic market.Despite the popularity of eABMs, no common agent-based framework for innovation diffusion exists.In order to provide a theoretically grounded infrastructure for these models, this research set out to develop a flexible, modular and extensible common description and implementation framework for existing and future models.
This was addressed through deriving the high-level requirements of flexibility and modularity (R2) and depicting the variety of existing model components.For the The component requirements were addressed through the formal definition of the framework in four model layers: model foundations, products, mental structures and agents.Based on this, a software implementation allowing for easy configuration and execution of existing and future models within this framework was written in the Java programming language.
Both, the formal model and the software implementation, contain the large variety of components within existing models identified in this article.As both the model framework and the implementation are flexible, modular and extensible and address all component requirements, it can be concluded that the solution objective is met by the approach.
As a variable decision support tool in decision-making processes on the adoption of innovations that is built on modern existing approaches in the literature, we believe that IRPact is valuable for the investigation of a range of research questions on innovation diffusion, business model evaluation and infrastructure transformation.
Future work will focus primarily on the application of this framework.Serving as a proof of concept for the feasibility of the framework, a concrete model for the adoption of rooftop photovoltaic systems by consumers in an urban setting is currently under development.So far, the framework has shown to be a valuable tool for this model and we further expect the model to refine insights on several aspects, such as decision processes, products and the policy agent.The application of a concrete model within IRPact would further prove the practical and scientific value of the framework.Through it, both the interrelations between customer behavior and incentive measures and practical evaluation of business model innovations or policy measures could be evaluated.
Through embedding the framework in a multi-model infrastructure as shown in Reichelt et al. (2020), more comprehensive research questions on infrastructure transformation could furthermore be addressed.IRPact is developed as the socioeconomic counterpart to the techno-economical infrastructure modeling tool IRPopt.Coupling these two perspectives on infrastructure transformation allows to investigate crucial research questions more in-depth and in a more sophisticated manner.In addition to proving its value as a socio-economic modeling tool, insights from this interrelated analysis would identify further development potential for IRPact itself.

Fig. 1
Fig. 1 Illustrative representation of identified agent and product entities, model dynamics and simulation foundations (based on the results of Scheller et al. (2019))

Fig. 3
Fig. 3 Product related entities of IRPact modeling components

Fig. 4
Fig. 4 Perception, communication and information modelling with the relevant components of the IRPact framework

Fig. 5
Fig. 5 Preference and adoption decision modeling process of a single consumer agent Scheme

Fig. 6
Fig. 6 Component diagram of IRPact showing the core modules

Fig. 7
Fig. 7 Visualization of the workflow to satisfy a need through product adaptation

Fig. 9
Fig. 9 Class diagram showing the IRPact agent hierarchy including all relevant fields.Field names are based on parameter names used in "Agent modeling" section