Recall-driven Product Tracing and Supply Chain Tracking using
Answer Set Programming
Monica L. Nogueira and Noel P. Greis
Center for Logistics and Digital Strategy, The University of North Carolina at Chapel Hill, Chapel Hill, U.S.A.
Keywords: Answer Set Programming, Track-and-Trace, Supply Chain, Food Recall Process.
Abstract: Incomplete information and the inability to trace the movement of contaminated products across the food
chain has hindered our ability to locate and remove contaminated products once a food recall has been
announced. The FDA Food Safety Modernization Act (FSMA) that was signed into law in 2011, however,
supports traceability by both expanding the registration requirements for companies that are involved in
food production and, in the event of a food recall, requiring companies to provide information about their
immediate suppliers and customers—what is referred to as “one step forward” and “one step backward”
traceability. In this paper we implement the logic-based approach called answer set programming that uses
inference rules to determine the set of all companies that may be linked to a contaminated product. Unlike
other approaches, we do not depend on the availability of common standards or unique identifiers. Rather,
the proposed approach utilizes information about the company’s primary suppliers and customers along
with their products—consistent with the “one step forward” and “one step backward” required under FMSA
as noted above. We demonstrate this approach using the example of a food recall involving pork products.
1 INTRODUCTION
Food safety is a challenging problem that has been
growing worldwide due to the globalization of the
food supply chain, internationalization of trade, and
customer new eating habits, among other factors.
The lack of a consistent, unified, and standardized
tracking and tracing system for food manufactured,
produced, processed, packed, held, distributed, and
sold in the United States is a major pain point of the
American food safety system, but this is a problem
that affects most countries, if not all. The food
supply chain consists of many entities from
producer/grower and processor to distributor and
retailer. Each of these entities is linked to one
another through the food chain. Contamination can
enter the food chain at any point due to a range of
causes from improper processing or handling to
intentional contamination.
In the U.S. once public health officials have
determined that a foodborne disease event has
occurred and identified the offending product and its
manufacturer, a product recall may be issued by the
U.S. Food and Drug Administration (FDA) agency.
This recall signals the launch of a series of actions
by state food safety departments to remove any
contaminated products from retail shelves within
their states. State agencies must quickly determine
whether any recalled products are being sold by
retail enterprises or whether the contaminated
products have been used as ingredients in any of the
products being sold. At the point of recall, state
agencies are required to piece together information
from enterprises across the food chain in an
environment where there is not a uniform system for
linking this information, nor accepted standards for
identifying products, nor any central place where
this information is stored and accessible.
The difficulty of the task is complicated by (1)
the complexity of the food chain where a single food
product can be made of hundreds of ingredients
which each may be supplied by multiple suppliers;
(2) the fact that uniform standards for data collection
in the food industry do not exist, making it difficult
to re-create the food chain for contaminated
products; and (3) the fact that companies are often
reluctant to make public proprietary information
about their supply chain suppliers and customers.
Further, traceability across enterprise boundaries
requires agreements and coordination among
suppliers and customers that can be difficult to
achieve.
125
L. Nogueira M. and P. Greis N..
Recall-driven Product Tracing and Supply Chain Tracking using Answer Set Programming.
DOI: 10.5220/0004146201250133
In Proceedings of the International Conference on Knowledge Engineering and Ontology Development (KEOD-2012), pages 125-133
ISBN: 978-989-8565-30-3
Copyright
c
2012 SCITEPRESS (Science and Technology Publications, Lda.)
2 MOTIVATION
The lack of track-and-trace capability has received
considerable attention recently due to several high-
profile and costly incidents of foodborne disease in
the United States (c.f. peanut butter, spinach,
jalapenos peppers) and abroad (c.f. milk, pork,
sprouts). New studies from the U.S. Centers for
Disease Control and Prevention (CDC) estimate the
total effect of contaminated food consumed in the
United Sates as follows: 47.8 million illnesses,
127,839 hospitalizations and 3,037 deaths per year
(Scallan et al., 2011a and 2011b). The total cost of
food contamination in the U.S. was recently
estimated to be $152 billion a year including health
and human welfare costs, as well as economic
damage to companies and entire industries (Scharff,
2010). In 2009, the Peanut Corporation of America
(PCA) peanut butter contamination alone sickened
more than 700 people in 44 states and was
associated with nine deaths—and also resulted in the
largest dollar-valued food recall in U.S. history.
More than 3,000 products were recalled. Early
estimates of the costs to the peanut butter industry
due to lost peanut butter and peanut sales were more
than $1 billion.
The PCA peanut contamination also illustrates
the problems of determining both the source and the
location of contaminated foods in the food chain.
Difficulties are complicated when the contamination
is ingredient-driven, that is when the contaminated
product is an ingredient in a large number of
different products that are sold in many different
channels.
Traceability refers broadly to the ability, for any
product at any stage within the food chain, to
identify the initial source (backward tracing) and,
eventually, its final destination (forward tracing)
(Fritz and Schiefer, 2009). Tracking refers to the
ability to identify, for any product, its actual location
at any given time. Together these two capabilities
provide the functionality of a “track-and-trace”
system for the food supply chain.
A 2009 traceability exercise conducted by the
U.S. Department of Health and Human Services
(DHHS) illustrated the gaps in the current system.
Investigators purchased 40 different products and
attempted to trace each through the supply chain
back to the farm or the border, in the event of an
imported food. Of the 40 products, only five could
be traced back completely to the point of origin.
Thirty-one of the products could be traced back
partially; four of the products could not be traced
back at all (DHHS, 2009).
3 BACKGROUND
The FDA Food Safety Modernization Act (FSMA)
that was passed by both houses of the U.S. Congress
in late 2010 and signed into law by President Obama
in January 2011 is the first major overhaul of food
safety law in the U.S. in decades. It sets the stage for
a new era in food safety regulation that moves FDA
towards new risk based approaches.
FSMA includes several key provisions that
position the FDA to improve its ability to respond to
a food recall. First, the FDA now has the authority to
issue a mandatory recall when it has been
determined that there is a reasonable probability that
a food poses a threat to human health. Previously,
FDA could only request a voluntary recall.
FSMA also requires that the FDA, in
consultation with the U.S. Department of
Agriculture (USDA), establish, as appropriate,
within the FDA “ a product tracing system to receive
information that improves the capacity of the
Secretary to effectively and rapidly track and trace
food that is in the United States or offered for import
into the United States” (FSMA, 2011). FSMA does
not specify the details of such a traceability system
or the technology to be used, but directs the FDA to
conduct at least two pilot projects to evaluate
methods for improving traceability. On September
2011, the FDA announced that the Institute of Food
Technologists (IFT) will “carry out two new pilot
projects at the direction of FDA to explore and
demonstrate methods for rapid and effective tracking
and tracing of food, including types of data that are
useful for tracing, ways to connect the various points
in the supply chain and how quickly data can be
made available to FDA” (FDA, 2011).
In addition, FSMA expands the registration
requirements established by the U.S. Congress in the
2002 Bioterrorism Act that required all facilities that
manufacture, process or pack food to register with
the FDA, but exempted farms and retail food
establishments, by limiting that exemption only to
family and smaller growers.
Finally, in support of traceability, FSMA
requires companies to provide for all food products
“one step forward” and “one step backward”
traceability. Food facilities are not required to
provide full traceability for their products “from
farm to fork” but only from/to their immediate
suppliers and immediate customers. If every food
facility maintains such records it should be possible
to trace the entire food chain. The law does not
require tracking to the case level nor the retention of
records for more than two years.
KEOD2012-InternationalConferenceonKnowledgeEngineeringandOntologyDevelopment
126
4 SOLUTION APPROACH
The ability to reduce the costs, both human and
financial, in the event of a food recall event depends
directly on the ability to locate, or trace,
contaminated food products across the food chain.
Our solution approach addresses the need by food
safety personnel in the event of a food product recall
to quickly identify companies within their
jurisdiction that have a high likelihood of possessing
contaminated products. The efficiency and
effectiveness of a traceability system depends on the
ability to collect, transmit, and analyze information
about the handling of food products across all stages
of the food chain.
A wide range of traceability schemes are
currently in use by food system stakeholders (Buhr,
2003; Raschke et al., 2006; Regattieri et al., 2007;
Bulut and Lawrence, 2008; Shanahan et al., 2009;
Souza-Monteiro and Caswell, 2009). These systems
range from paper-based records to bioactive
labelling technology to an array of IT-based
solutions from bar codes and radio-frequency
identification (RFID) technologies supported by
software systems to database management systems.
Across the food chain, companies use a variety of
these systems which may not be interoperable. An
efficient traceability system should be able to link all
these different monitoring techniques into an
integrated, unified and consistent system.
A necessary requirement to accomplish this
integration is the availability of a common standard
identification system that is recognized across all
stakeholders, or a system to create these translations.
Thus, when a contaminated product is confirmed, it
would be possible to trace the unique identifier
(RFID) or product code (bar code) for that product
with all of the companies that were involved in the
creation of that food product. In the case of RFID,
the tag on the contaminated product would contain
the entire history/pedigree for that product. The
Global Traceability Standard, a full supply chain
traceability solution proposed by the universal
standard committee GS1 (General Standard One),
recommends the use of Global Location Numbers
(GLN), a universal trade unit identification scheme
based on the Global Trade Item Number (GTIN),
and Electronic Product Codes (EPC) to enable the
use of RFID tags to trace products (Fritz and
Schiefer, 2008; GS1, 2010). A methodology for
modelling traceability information using the
Electronic Product Code Information Service
(EPCIS) framework and statecharts in the Unified
Modelling Language (UML) to define states and
transitions in food product has recently been
proposed (Thakur et al., 2011). While progress has
been made in achieving this integration, mostly
within large vertically integrated multi-nationals, the
difficulties of achieving such a system based on
standard codes have been noted above.
In this paper, we explore a different logic-based
approach that uses inference rules to determine the
set of all companies that may be linked to a
contaminated product. Our approach does not
depend on the availability of a common standard or
unique identifier. Rather, the proposed approach
utilizes information about the primary suppliers and
customers for all food companies, along with their
products — consistent with the “one step forward”
and “one step backward” required under FMSA as
noted above. In the event of a recall for Product A
manufactured by Company X, we use logic
programming to compute the set of all companies
that are linked to the dyadic unit food-company
across the entire supply chain. Using rules, we can
trace backward to the set of likely companies that
are the possible source of the contamination and can
trace forward to identify the destination and location
of similarly contaminated products. A detailed
example is presented in the next section.
5 ASP PROGRAM ENCODING
In this work, we use a form of declarative
programming – Answer Set Programming (ASP)
(Marek and Truszczynski, 1999), to represent the
rule-based complex event processing of the food
safety domain and to track-and-trace recalled
products and other information of interest to public
health officials. ASP has been applied to industrial
problems, but to the best of our knowledge it has not
been used in food supply chain applications before.
The ASP paradigm is based on the stable models/
answer sets semantics of logic programs (Gelfond
and Lifschitz, 1988; Gelfond and Lifschitz, 1991)
and has been shown to be a powerful methodology
for knowledge representation, including the
representation of defaults, inheritance reasoning, and
multiple interesting aspects of reasoning about
actions and their effects, as well as being particularly
useful to solve difficult search problems. In the ASP
methodology, search problems are reduced to the
computation of the stable models of the problem.
Several ASP solvers – programs that generate the
stable models of a given problem encoded in the
ASP formalism – have been implemented, e.g.
ASSAT, clasp, Cmodels, DLV, GnT, nomore++,
Recall-drivenProductTracingandSupplyChainTrackingusingAnswerSetProgramming
127
Pbmodels, Smodels, etc. In what follows we provide
the basic syntactic constructs and the intuitive
semantics of the ASP language used in this work. A
complete formal specification of the syntax and
semantics of the language can be found at (Gelfond
and Lifschitz, 1991; Niemela and Simons, 2000).
A signature Σ of the language contains constants,
predicates, and function symbols. Terms and atoms
are formed as is customary in first-order logic. A
literal is either an atom (also called a positive literal)
or an atom preceded by classical or strong
negation), a negative literal. Literals l and l are
called contrary. Ground literals and terms are those
not containing variables. A consistent set of literals
does not contain contrary literals. The set of all
ground literals is denoted by lit(Σ). A rule is a
statement of the form:
h
1
... h
k
l
1
, ..., l
m
, not l
m+1
, ..., not l
n
.
(1)
where h
i
’s and l
i
’s are ground literals, not is a logical
connective called negation as failure or default
negation, and symbol corresponds to the
disjunction operator. The head of the rule is the part
of the statement to the left of symbol , while the
body of the rule is the part on its right side.
Intuitively, the rule meaning is that if a reasoner
believes {l
1
, … , l
m
} and has no reason to believe
{l
m+1
, …, l
n
}, then it must believe one of the h
i
’s. If
the head of the rule is substituted by the falsity
symbol then the rule is called a constraint. The
intuitive meaning of a constraint is that its body
must not be satisfied. Rules with variables are used
as a short hand for the sets of their ground
instantiations. Variables are denoted by capital
letters. An ASP program is a pair of Σ, Π, where Σ
is a signature and Π is a set of rules over Σ, but
usually the signature is defined implicitly and
programs are only denoted by Π. A stable model (or
answer set) of a program Π is one of the possible
sets of literals of its logical consequences under the
stable model/answer set semantics.
Our encoding – the set of rules of program Π
contains roughly 25 rules, while event records (in
ASP, rules with an empty body, also called “facts”)
and the ontologies describing facts, utilized for
experiments, are in the thousands. We use the DLV
system (Calimeri et al., 2002) as our ASP solver.
Advantages of applying the ASP formalism to
the food supply chain traceability problem include:
(1) ASP can easily encode many forms of domain
knowledge, including hierarchical ontologies and
heuristics. As shown by some previous works
(Nogueira and Greis, 2011a and 2011b), ASP allows
generating ontologies for different types of
information relevant to this domain, e.g. food,
geographical, disease, etc. Encoding of heuristics
make it possible to prune the search space and
increase the efficiency of tracking and tracing a
contaminated product in the supply chain; (2) ASP is
well suited to represent action and change. A food
supply chain is an intrinsically dynamic enviroment
where food products move from one node, or food
operator, to the next node in the chain, and the track-
and-trace of contaminated products posing risk to
human lives should be highly efficient to curb a
contamination event that may spread very rapidly;
and (3) ASP is well suited to deal with incomplete
information – an inherent problem of this domain as
food enterprises are avert to sharing information
about their supplier and customer bases which
constitutes competitive advantage to their business.
5.1 Domain Representation
Given the proprietary nature of supplier/customer
base information and the difficulty to obtain this
data directly from private sector companies, we
turned to data publicly available on the World Wide
Web and using web scrapping techniques
downloaded and assembled a database of suppliers
of food and agricultural products. This database
contains more than 6,000 American companies
located in all 50 states, the District of Columbia and
Puerto Rico, with firms encompassing the whole
food supply chain, including: grower, manufacturer,
processor, packer, distributor, wholesaler, retailer,
etc. Each firm is classified as at least one of these
types, but a firm may have more than one role in the
supply chain, e.g. it may be a processor and also a
wholesaler of its products. Besides the standard
information about a firm, i.e. name, address, the
database contains a list of the products’ categories,
e.g. salad dressing, juice mixed, peanut butter, the
firm commercializes.
We demonstrate the power of using ASP to solve
the traceability problem by showing an example
involving pork products. For simplicity sake, in this
example we assume that the supply chain for pork
sausages, shown on Figure 1, encompasses: (a)
farmers supplying fresh pork meat to (b) processors
supplying chilled or frozen pork to (c) manufacturers
of pork sausages supplying (d) wholesalers of pork
sausages supplying (e) retailers who sell pork
sausages to consumers. A small number of
companies that populate this supply chain, as
identified in our assembled supplier database, are
also shown in Figure 1 in the form of a directed
graph. In this graph, each node corresponds to a
KEOD2012-InternationalConferenceonKnowledgeEngineeringandOntologyDevelopment
128
company identified by an id code, and an edge
originating from a company/node A and connecting
it to a company/node B expresses a supplier-
customer relationship where A supplies certain food
product to B. In addition, each type of company/
node aligns vertically with its role or category in the
pork supply chain represented at the top of Figure 1.
For example, company “cp3092” corresponds to a
farmer who supplies fresh pork meat to three
processors identified by codes “cp123”, “cp393”,
and “cp684”; processor “cp123” supplies chilled or
frozen pork meat to four manufacturers, e.g.
“cp273”; and so forth.
Figure 1: Illustrative Supply Chain for Pork Sausages.
In the ASP knowledge base, each company is
modelled by three types of “facts,” rules (2)-(4).
company(Idcode,Name,State). (2)
type_company(Idcode,Type). (3)
prod_supplied(Idcode,Product). (4)
In our model, for the purpose of this example,
each company is represented by a single rule (2),
which identifies it by an id code, its name, and the
state where the company is located. For
simplification, we assume that each company has a
single facility and this is the state where the supplied
product originates and is shipped to others. Rules of
type (3) indicate the role each company exerts in the
supply chain. As mentioned before, it is not
uncommon that a given company may have more
than one role, e.g. a wholesaler may also be a retailer
who sells directly to consumers. Thus, such
company will have at least two rules of type (3), one
to indicate that the company is of type “wholesaler”
and the other that the company is a “retailer”. It is
very common for a given company to supply several
products, and thus, our knowledge base contains a
rule of type (4) for each of these products.
Once a recall of a food product commercialized
by a certain company is issued, this information is
added to the knowledge base in the form of rule (5),
with the company being identified by its id code.
recall(Product,Idcode). (5)
The expected course of action at this point is that the
contaminated product, and its derivative products,
are taken out of the market and destroyed. But given
that only limited information is made available to
food safety officials about which companies may be
affected – those who received the tainted product or
supplied a related contaminated product – this can
delay the recall process and put in risk human lives.
Our approach works to reduce these latencies by
generating all possible paths this product may have
travelled through the supply chain graph. This is
done by generating each complete path – from
farmer to retailer – for the product in question, as
described in the next section.
First, assume that wholesaler company “cp1050”
recalls their “porksausage” product. Our knowledge
base contains a simple ontology which models the
main stages of a food product as it evolves from raw,
unprocessed food at the farmer/ grower level of the
supply chain, to a processed food ready for
consumption at the retail point-of-sale. At each stage
of the supply chain the product supplied from a
company A becomes an ingredient to the company B
to which it has been supplied. In the case of pork
sausages, the ontology contains facts (6) to (11)
which express the production process sequence for
pork products illustrated on Figure 1.
is_ingr(porkfresh,porkchilled). (6)
is_ingr(porkchilled,porkfrozen). (7)
is_ingr(porkchilled,porksausage).(8)
is_ingr(porkfresh,porkfrozen). (9)
is_ingr(porkfrozen,porksausage).(10)
is_ingr(porksausage,porksausage)
.
(11)
5.2 Generating Supply Chain Paths
We use a two-step approach to solve the problem of
identifying companies affected by a food recall
when incomplete information may hinder the
process and create delays. In the first step, we
generate all supply chain paths for pork products
with rules of type (12) to (17), where the supplied
pork product at each level of the supply chain is
used to prune the search among all other possible
combinations of food products represented in our
knowledge base.
Recall-drivenProductTracingandSupplyChainTrackingusingAnswerSetProgramming
129
Intuitively, rule (12) means that a five-tuple
supply_chain(G,P,M,W,R) represents the complete
path of production of a given final product, e.g. pork
sausages, from grower/producer to processor to
manufacturer to wholesaler to retailer. Rules (13) to
(17) compute the individual supplier-client relations,
or edges of the supply chain graph.
supply_chain(G,P,M,W,R) :- (12)
produces(G,porkfresh),
processes(P,porkchilled),
manufactures(M,porksausage),
wholesells(W,porksausage),
sells(R,porksausage).
produces(C,F) :- (13)
company(C,_,_),
type_company(C,grower),
prod_supplied(C,F),
F == porkfresh.
processes(C,F) :- (14)
company(C,_,_),
type_company(C,processor),
prod_supplied(C,F),
F == porkchilled.
manufactures(C,F) :- (15)
company(C,_,_),
type_company(C manufacturer),
prod_supplied(C,F),
F == porksausage.
wholesells(C,F) :- (16)
company(C,_,_),
type_company(C,wholesaler),
prod_supplied(C,F),
F == porksausage.
sells(C,F) :- (17)
company(C,_,_),
type_company(C,retailer),
prod_supplied(C,F),
F == porksausage.
In the second step, each such supply chain path is
broken down and expressed as individual supplier-
client relations by rules (18) to (21). The reason for
converting the supply chain back to these relations is
to improve the efficiency of the computation during
the tracing stage.
Rule (18), and similarly rules (19) to (21),
intuitively expresses that a grower/producer
company G supplies fresh pork to a processor
company P which utilizes this product as the main
ingredient to produce and supply chilled pork to its
clients. Rule (18), as well as rules (19)-(21), also
enforces that companies G and P are not the same to
ensure that the supply chain graph is cycle free.
supplies(G,porkfresh,P) :- (18)
supply_chain(G,P,M,W,R),
company(G,_,_),
type_company(G,grower),
prod_supplied(G,porkfresh),
company(P,_,_),
type_company(P,processor),
prod_supplied(P,porkchilled),
G != P.
supplies(P,porkchilled,M) :- (19)
supply_chain(G,P,M,W,R),
company(P,_,_),
type_company(P,processor),
prod_supplied(P,porkchilled),
company(M,_,_),
type_company(M,manufacturer),
prod_supplied(M,porksausage),
P != M.
supplies(M,porksausage,W) :- (20)
supply_chain(G,P,M,W,R),
company(M,_,_),
type_company(M,manufacturer),
prod_supplied(M,porksausage),
company(W,_,_),
type_company(W,wholesaler),
prod_supplied(W,porksausage),
M != W.
supplies(W,porksausage,R) :- (21)
supply_chain(G,P,M,W,R),
company(W,_,_),
type_company(W,wholesaler),
prod_supplied(W,porksausage),
company(R,_,_),
type_company(R,retailer),
prod_supplied(R,porksausage),
W != R.
5.3 Tracing Contaminated Products
The goal of tracing the contamination forward in the
supply chain from the point of recall, e.g. wholesaler
“cp1050,” is achieved by rules (22) and (23). Rule
(22) says that if recalling company C, located in
state LC, supplies its recalled food product F to
company A, located in state LA, then LA may be
affected by the recall and is part of the
contamination. Thus, company A must be inspected
by food safety officials to verify that its entire
contaminated product is taken out of the market.
Rule (23) propagates this trace to the next forward
stage of the supply chain. Figure 2 shows an
example of companies affected by a recall after
tracing back and forward in the supply chain such
product.
forward_trace(C,LC,F,A,LA) :- (22)
recall(F,C),
KEOD2012-InternationalConferenceonKnowledgeEngineeringandOntologyDevelopment
130
supplies(C,F,A),
company(C,_,LC),
company(A,_,LA),
C != A.
forward_trace(B,LB,F1,A,LA) :- (23)
company(B,_,LB),
company(A,_,LA),
supplies(B,F1,A),
is_ingr(F,F1),
company(C,NC,LC),
forward_trace(C,LC,F,B,LB),
B != C, B != A, A != C.
Similarly, rules (24) and (25) trace back the
contaminated product through the supply chain.
backward_trace(A,LA,F1,C,LC) :- (24)
recall(F,C),
is_ingr(F1,F),
supplies(A,F1,C),
company(C,_,LC),
company(A,_,LA), C !=
A.
backward_trace(B,LB,F1,C,LC) :- (25)
company(C,NC,LC),
supplies(B,F1,C),
is_ingr(F1,F),
backward_trace(C,LC,F,A,LA),
company(B,_,LB),
company(A,_,LA),
B != C, B != A, A != C.
Finally, when these rules are submitted to the
answer set solver DLV, we obtained the following
list of atoms which correspond to the solution to the
traceability problem illustrated in Figure 2. In
addition to the rules listed above a couple of other
rules are used to retrieve the name of the recalling
company and of those companies to whom this
company has supplied the contaminated product
directly and their clients forward in the supply chain.
These companies are named in atoms of the type
“affected_comp(Idcode, Name, State)”. Company
names and codes appearing in this example are for
illustrative purposes only and do not correspond to
real company names in the knowledge base. Note
that using ASP we can further focus the search, and
obtain a list of affected companies on a given state
of interest.
Figure 2: Tracing Contaminated Pork Sausages in the
Supply Chain.
recalling_comp(cp1050,atrading,ca),
forward_trace(cp1050,ca,
porksausage,cp3691,il),
forward_trace(cp1050,ca,
porksausage,cp3753,il),
affected_comp(cp3691,gustopack,il),
affected_comp(cp3753,apacking,il),
backward_trace(cp3617,il,
porkfresh,cp3572,il),
backward_trace(cp3617,il,
porkfresh,cp1204,ca),
backward_trace(cp3572,il,
porkchilled,cp5364,il),
backward_trace(cp1204,ca,
porkchilled,cp3765,il),
backward_trace(cp5364,il,
porksausage,cp1050,ca),
backward_trace(cp3765,il,
porksausage,cp1050,ca).
Assume now that processor company “cp3572
is recalling its chilled pork product. To find a
solution to this new contamination problem one
needs only to substitute the recall fact, i.e. rule (5),
by the new rule (26) below:
recall(cp3572,porkchilled). (26)
The solution can then be computed by DLV and
consists of the following list of atoms.
recalling_comp(cp3572,ainc,il),
forward_trace(cp3572,il,
porkchilled,cp5364,il),
forward_trace(cp3572,il,
porkchilled,cp4568,la),
forward_trace(cp3572,il,
porkchilled,cp2138,wi),
forward_trace(cp3572,il,
porkchilled,cp1603,ok),
forward_trace(cp5364,il,
porksausage,cp1050,ca),
forward_trace(cp4568,la,
porksausage,cp1981,wi),
forward_trace(cp4568,la,
porksausage,cp1659,co),
forward_trace(cp2138,wi,
porksausage,cp789,fl),
forward_trace(cp1603,ok,
porksausage,cp3606,il),
forward_trace(cp1050,ca,
porksausage,cp3691,il),
forward_trace(cp1050,ca,
porksausage,cp3753,il),
forward_trace(cp1981,wi,
porksausage,cp5336,ca),
forward_trace(cp789,fl,
porksausage,cp3971,il),
forward_trace(cp3606,il,
porksausage,cp5346,ga).
forward_trace(cp1659,co,
porksausage,cp5344,ny),
Recall-drivenProductTracingandSupplyChainTrackingusingAnswerSetProgramming
131
affected_comp(cp5364,alivestock,il),
affected_comp(cp4568,acreolfood,la),
affected_comp(cp2138,agourmet,wi),
affected_comp(cp1603,afoods,ok),
affected_comp(cp1050,atrading,ca),
affected_comp(cp3691,gustopack,il),
affected_comp(cp1981,aservice,wi),
affected_comp(cp5336,ainttrade,ca),
affected_comp(cp789,afoodsusa,fl),
affected_comp(cp3971,asausage,il),
affected_comp(cp3606,afarms,il),
affected_comp(cp5346,agrove,ga),
affected_comp(cp3753,apacking,il),
affected_comp(cp1659,aprocessor,co),
affected_comp(cp5344,aglobe,ny),
backward_trace(cp3617,il,
porkfresh,cp3572,il).
6 CONCLUSIONS
Using the case of a food recall involving pork
products, this paper demonstrates the utility of
answer set programming in identifying not only the
source of a food contamination but also the location
of contaminated products across the food chain. We
represent all possible paths of a contaminated
product across the supply chain as a sequence of
stages by which a food product evolves from raw,
unprocessed food at the farmer/grower level of the
supply chain, to a processed food ready for
consumption at the retail point-of-sale. Using rules
of inference, we then reduce the set of all possible
pathways of contamination based on information
contained in the recall. We are also able to capture
the process by which contaminated products become
ingredients in other products during sequential
stages of production. The logic-based approach
developed herein is well-suited to be used by
state
agencies charged with inspecting food production,
distribution and retail facilities in the event of a
national recall. The approach is particularly useful
for ingredient-driven contaminations in which the
contaminated product is used as an ingredient in a
broad set of secondary products.
REFERENCES
Buhr, B. L. 2003. “Traceability and information
technology in the meat supply chain: implications for
firm organization and market structure.” Journal of
Food Distribution Research, 34 (3), pp. 13–26.
Bulut, H., and Lawrence, J. D. Apr. 2008. “Meat Slaughter
and Processing Plants’ Traceability Levels: Evidence
From Iowa.” Working Paper # 08015, Working Paper
Series, Department of Economics, Iowa State
University.
Calimeri, F.; Dell’Armi, T.; Eiter, T.; Faber, W.; Gottlob,
G.; Ianni, G.; Ielpa, G.; Koch, C.; Leone, N.; Perri, S.;
Pfeifer, G.; and Polleres, A. 2002. “The dlv system.”
In Flesca, S., and Ianni, G., eds., Proceedings of the
8th European Conference on Articial Intelligence
(JELIA 2002), pp. 537–540.
FDA Food Safety Modernization Act of 2010, S. 510,
111
th
Congress, 2
nd
Session. Signed into law by
President Barack Obama on 4 Jan. 2011.
Fritz, M., and Schiefer, G. Feb. 2009. “Tracking, tracing
and business process interests in food commodities: A
multi-level decision complexity.” International
Journal of Production Economics, 117(2), pp. 317–
329.
Fritz, M., and Schiefer, G. 2008. “Tracking and tracing in
food networks.” World Conference on Agricultural
Information and IT (IAALD AFITA WCCA 2008),
Tokyo University of Agriculture, Tokyo, Japan, 24–27
August 2008, pp. 967–972.
Gelfond, M., and Lifschitz, V. 1988. “The stable model
semantics for logic programming.” In Kowalski, R.,
and Bowen, K., eds., International Logic
Programming Conference and Symposium, pp. 1070–
1080. MIT Press.
Gelfond, M., and Lifschitz, V. 1991. “Classical negation
in logic programs and disjunctive databases.” New
Generation Computing, 9, pp. 365–385.
GS1. Mar. 2010. “Business Process and System
Requirements for Full Supply Chain Traceability.”
GS1 Global Traceability Standard, Issue 1.2.2.
Marek, V. W., and Truszczynski, M. 1999. The Logic
Programming Paradigm: a 25-Year Perspective, chap.
“Stable models and an alternative logic programming
paradigm,” pp. 375–398. Springer Verlag, Berlin.
Niemela, I., and Simons, P. 2000. Logic-Based Articial
Intelligence, chap. “Extending the Smodels System
with Cardinality and Weight Constraints,” pp. 491–
521. Kluwer Academic Publishers.
Nogueira, M. L., and Greis, N. P. 2011. “Rule-Based
Complex Event Processing for Food Safety and Public
Health.” In Bassiliades, N., Governatori, G., and
Paschke, A., eds., Proceedings of the 5
th
International
Symposium of Rule-Based Reasoning, Programming,
and Applications (RuleML Europe 2011), Barcelona,
Spain, July 19–21, 2011. Lecture Notes in Computer
Science 6826, pp. 376–383. Springer.
Nogueira, M. L., and Greis, N. P. 2011. “Application of
Answer Set Programming for Public Health Data
Integration and Analysis.” A Min Tjoa, A. M.;
Quirchmayr, G., You, I., and Xu, L., eds., Proceedings
of the 6
th
International Availability, Reliability and
Security for Business, Enterprise and Health
Information Systems (ARES 2011), IFIP WG 8.4/8.9
Cross Domain Conference and Workshop, Vienna,
Austria, August 22–26, 2011. Lecture Notes in
Computer Science 6908, pp. 118–134. Springer.
Raschke, A.; Strich, S.; Huppke, S.; Neugebauer, M.;
Geuther, E.; Bertling, W.; Walders, B.; Reiser, C.; and
KEOD2012-InternationalConferenceonKnowledgeEngineeringandOntologyDevelopment
132
Hess, J. Jan. 2006. “Induction and detection of long-
lasting peptide-specific antibody responses in pigs and
beef cattle: A powerful technology for tracing meat
processing chains from stock farmers to sales
counters.” Food Control, 17(1), pp. 65–74.
Regattieri, A.; Gamberi, M.; and Manzini, R. 2007.
“Traceability of food products: general framework and
experimental evidence.” Journal of Food Engineering,
81, pp. 347–356.
Scallan, E.; Hoekstra, R. M.; Angulo, F. J.; Tauxe, R. V.;
Widdowson, M-A.; Roy, S. L.; Jones, J. L.; and
Griffin, P. M. Jan. 2011. “Foodborne Illness Acquired
in the United States—Major Pathogens.” Emerging
Infectious Diseases, 17(1), pp. 7–15. Web. 10 Feb.
2011.
Scallan, E.; Griffin, P. M; Angulo, F. J.; Tauxe, R. V.; and
Hoekstra, R. M. Jan. 2011. “Foodborne Illness
Acquired in the United States—Unspecified Agents.”
Emerging Infectious Diseases, 17(1), pp. 16–22.
Scharff, R. L. 2010. “Health-Related Costs From
Foodborne Illness in the United States.” The Produce
Food Safety Project at Georgetown University.
Shanahan, C.; Kernan, B.; Ayalew, G.; McDonnell, K.;
Butler, F.; and Ward, S. 2009. “A framework for beef
traceability from farm to slaughter using global
standards: an Irish perspective.” Computers and
Electronics in Agriculture, 66(1), pp. 62–69.
Souza-Monteiro, D. M. and Caswell, J. A. Feb. 2009.
“Traceability adoption at the farm level: An empirical
analysis of the Portuguese pear industry.” Food
Policy, Elsevier, 34(1), pages 94–101.
Thakur, M.; Sørensen, C-F., Bjørnson, F. O.; Forås, E.;
and Hurburgh, C. R. Apr. 2011. “Managing food
traceability information using EPCIS framework.”
Journal of Food Engineering, 103(4), pp. 417–433.
Web. 16 Nov. 2010.
U.S. Department of Health and Human Services: Office of
Inspector General. March 2009. “Traceability in the
Food Supply Chain,” Report OEI-02-06-00210.
U.S. Food and Drug Administration. Sep. 2011. “Pilot
Projects for Improving Product Tracing along the
Food Supply System.” Web. 7 Sep. 2011. www.fda.
gov/Food/FoodSafety/FSMA/ucm270851.htm
Recall-drivenProductTracingandSupplyChainTrackingusingAnswerSetProgramming
133