Constraint programming in insertion modeling system
The paper relates to practical aspects of insertion modeling. Insertion modeling system is an environment for the development of insertion machines, used to represent insertion models of distributed systems. The architecture of insertion machines and insertion modeling system IMS is presented. Inser...
Saved in:
| Date: | 2025 |
|---|---|
| Main Authors: | , , , , |
| Format: | Article |
| Language: | English |
| Published: |
PROBLEMS IN PROGRAMMING
2025
|
| Subjects: | |
| Online Access: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/822 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Journal Title: | Problems in programming |
| Download file: | |
Institution
Problems in programming| _version_ | 1859477247742705664 |
|---|---|
| author | Letichevsky, O.A. Letychevskyi, O.O. Peschanenko, V.S. Blynov, I.O. Klionov, D.M. |
| author_facet | Letichevsky, O.A. Letychevskyi, O.O. Peschanenko, V.S. Blynov, I.O. Klionov, D.M. |
| author_sort | Letichevsky, O.A. |
| baseUrl_str | https://pp.isofts.kiev.ua/index.php/ojs1/oai |
| collection | OJS |
| datestamp_date | 2025-09-02T15:42:07Z |
| description | The paper relates to practical aspects of insertion modeling. Insertion modeling system is an environment for the development of insertion machines, used to represent insertion models of distributed systems. The architecture of insertion machines and insertion modeling system IMS is presented. Insertion machine for constraint programming is specified as an example, and as a starting point of ‘verifiable programming’ project.Problems in programming 2011; 4: 14-22 |
| first_indexed | 2025-09-17T09:24:18Z |
| format | Article |
| fulltext |
Теоретичні та методологічні основи програмування
UDC 004.41,004.51
Olexander Letichevsky, Olexander Letychevskyi, Vladimir Peschanenko, Igor Blynov,
Dmitry Klionov
CONSTRAINT PROGRAMMING IN INSERTION MODELING
SYSTEM
The paper relates to practical aspects of insertion modeling. Insertion modeling system is an environment for the
development of insertion machines, used to represent insertion models of distributed systems. The architecture of
insertion machines and insertion modeling system IMS is presented. Insertion machine for constraint
programming is specified as an example, and as a starting point of ‘verifiable programming’ project.
Introduction
Insertion modeling is the approach to
modeling complex distributed systems based
on the theory of interaction of agents and
environments [1–3]. Mathematical foundation
of this theory was presented in [4]. During the
last decade insertion modeling was applied to
the verification of requirements for software
systems [5–9]. First time the theory of
interaction of agents and environments was
proposed as an alternative to well known
theories of interaction such as Milner’s CCS
[10] and pi-calculus [11], Hoare’s CSP [12],
Cardelli’s mobile ambients [13] and so on.
The idea of decomposition of a system to a
composition of environment and agents
inserted into this environment implicitly exists
in all theories ofinteraction and for some
special case it appears explicitly in the model
of mobile ambients.
14
Another source of ideas for insertion
modeling is the search of universal
programming paradigms such as Gurevich’s
ASM [14], Hoare’s unified theories of
programming [15], rewriting logic of
Meseguer [16]. These ideas were taken as a
basis for the system of insertion programming
[17] developed as the extension of algebraic
programming system APS [18]. Now this
system initiated the development of insertion
modeling system IMS which started in
Glushkov Institute of Cybernetics. The
development of this system is based on the
version of APS enhanced by the former
student of the author V.Peschanenko. The first
version of IMS and some simple examples of
its use are available from [19].
To implement the insertion model in
IMS one must develop insertion machine with
easily extensible input language, the rules to
compute insertion functions and a program of
interpretation and analyzing of insertion
models. The architecture, input languages and
examples of insertion machines and insertion
modeling system are considered in the paper.
1. The Architecture of
Insertion Modeling System
Insertion modeling system is an
environment for the development of insertion
machines and performing experiments with
them. The notion of insertion machine was
first introduced in [17] and it was used as a
tool for programming with some special class
of insertion functions. Later this notion was
extended for more wide area of applications,
different levels of abstraction, and multilevel
structures.
Insertion model of a system represent
this system as a composition of environment
and agents inserted into it. Contrariwise the
whole system as an agent can be inserted into
another environment. In this case we speak
about internal and external environment of a
system. Agents inserted into the internal
environment of a system themselves can be
environments with respect to their internal
agents. In this case we speak about multilevel
structure of agent or environment and about
high level and low level environments.
As usually, insertion function is
denoted as E[u] were E is the state of
environment and u is the state of an agent
(agent in a given state). E[u] is a new
© O. Letichevsky, O. Letychevskyi, V. Peschanenko, I. Blynov, D. Klionov, 2011
ISSN 1727-4907. Проблеми програмування. 2011. № 4
Теоретичні та методологічні основи програмування
environment state after insertion an agent u.
So, the expression E[u[v], F[x, y, z]] denotes
the state of a two level environment with two
agents inserted into it. At the same time E is
an external environment of a system F[x, y, z]
and F is an internal environment of it. All
agents and environments are labeled or
attributed transition systems (labeled systems
with states labeled by attribute labels [9]). The
states of transition systems are considered up
to bisimilarity. This means that we should
adhere to the following restriction in the
definition of states: if and
then .
/~ EE B
/~ uu B
][~][ // uEuE B
The main invariant of bisimilarity is
the behavior of transition system in
the state E (an oriented tree with edges
labeled by actions and nodes labeled by
attribute labels). Therefore the restriction
above can be written as follows:
][Ebeh
]).[(])[(
)()()()(
//
//
uEbehuEbeh
ubehubehEbehEbeh
=⇒
⇒+∧=
Behaviors themselves can be
considered as states of transition systems. If
the states are behaviors then the relation
above is valid automatically, because in this
case beh(E) = E, beh(u) = u. Otherwise the
correctness of insertion function must be
proved in addition to its definition. In any
case we shall identify the states with the
corresponding behaviors independently from
their representation. To define finite behaviors
we use the language of behavior algebra (a
kind of process algebra defined in [4]). This
algebra has operation of prefixing,
nondeterministic choice, termination
constants and approximation
relation. For attributed transition systems we
introduce the labeling operator for
behaviors.To define infinite behaviors we use
equations in behavior algebra. Usually these
equations have the form of recursive
definitions . Left hand sides of
these definitions can depend on parameters
u . To define the
attribute labels we use the set of attributes,
symbols taking their values in corresponding
data domains. These attributes constitute a
part of a state of a system and change their
values in time. All attributes are devided to
external (observable) and internal
(nonobservable). By default the attribute label
of a state is the set of values of all observable
attributes for this state.
),0,( ⊥Δ
IiuFu ii ∈= ),(
IixuFxu iii ∈= ),,()(
The general architecture of insertion
machine is represented on the fig. 1.
Fig. 1. Architecture of Insertion
Machine
The main component of insertion
machine is model driver, the component
which controls the machine movement along
the behavior tree of a model. The state of a
model is represented as a text in the input
language of insertion machine and is
considered as an algebraic expression. The
input language include the recursive
definitions of agent behaviors, the notation for
insertion function, and possibly some
compositions for environment states. The
state of a system must be reduced to the
form . This functionality is
performed by the module called agent
behavior unfolder. To make the movement,
the state of environment must be reduced to
the normal form
,...],[ 21 uuE
∑
∈
+⋅
Ii
ii Ea ε where are
actions, are environment states,
ia
iE ε is a
termination constant. This functionality is
performed by the module environment
interactor. It computes the insertion function
calling if it is necessary the agent behavior
unfolder. If the infinite set I of indices in the
normal is allowed, then the weak normal form
GFa +. is used, where G is arbitrary
expression of input language.
15
Two kinds of insertion machines are
considered: real type or interactive and
analytical insertion machines. The first ones
exist in the real or virtual environment,
Теоретичні та методологічні основи програмування
interacting with it in the real or virtual time.
Analytical machines intended for model
analyses, investigation of its properties,
solving problems etc. The drivers for two
kinds of machines correspondingly are also
divided on interactive and analytical drivers.
Interactive driver after normalizing the
state of environment must select exactly one
alternative and perform the action specified as
a prefix of this alternative.
Insertion machine with interactive
driver operates as an agent inserted into
external environment with insertion function
defining the laws of functioning of this
environment. External environment, for
example, can change a behavior prefix of
insertion machine according to their insertion
function. Interactive driver can be organized
in a rather complex way. If it has criteria of
successful functioning in external
environment intellectual driver can
accumulate the information about its past,
develop the models of external environment,
improve the algorithms of selecting actions to
increase the level of successful functioning. In
addition it can have specialized tools for
exchange the signals with external
environment (for example, perception of
visual or acoustical information, space
movement etc).
Analytical insertion machine as
opposed to interactive one can consider
different variants of making decision about
performed actions, returning to choice points
(as in logic programming) and consider
different paths in the behavior tree of a model.
The model of a system can include the model
of external environment of this system, and
the driver performance depends on the goals
of insertion machine. In the general case
analytical machine solves the problems by
search of states, having the corresponding
properties(goal states) or states in which given
safety properties are violated. The external
environment for insertion machine can be
represented by a user who interacts with
insertion machine, sets problems, and controls
the activity of insertion machine.
Analytical machine enriched by logic
and deductive tools can be used for symbolic
modeling. The state of symbolic model is
represented by means of properties of the
values of attributes rather then their concrete
values.
General architecture of insertion
modeling system is represented on fig. 2.
Fig. 2. Architecture of Insertion
Modeling System IMS
High level model driver provides the
interface between the system and external
environment including the users of the
system. Design tools based on algebraic
programming system APS are used for the
development of insertion machines and model
drivers for different application domains and
modeling technologies. Verification tools are
used for the verification of insertion
machines, proving their properties statically
or dynamically. Dynamic verification uses
generating symbolic model traces by means of
special kinds of analytical model drivers and
deductive components.
The repository of insertion machines
collects already developed machines and their
components which can be used for the
development of new machines as their
components or templates for starting. Special
library of APLAN functions supports the
development and design in new projects. The
C++ library for IMS supports APLAN
compilers and efficient implementation of
insertion machines. Deductive system
provides the possibility of verification of
insertion models.
2. Input Languages of
Insertion Machines
Input language of insertion machine is
used to describe the properties of a model and
its behavior. This description consists of the
16
Теоретичні та методологічні основи програмування
following parts: environment description,
behavior description (including the behavior
of environment and the behaviors of agents),
and insertion function. The behavior
description has the following very simple
syntax:
<behavior>::= Delta | bot | 0 | < action > |
<action> . <behavior> |
<behavior> + <behavior>|
<environment state>[<list of named agent
behaviors separated by ,>]|
<functional expression>
<named agent behavior>::=<agent
name>:<behavior>
Therefore, the language of behavior
algebra (termination constants, prefixing and
nondeterministic choice) is extended by
functionals expressions and explicit
representation of insertion function. The
syntax and semantics of actions, environment
states, and functional expressions are defined
in the environment description. We shall not
consider all possibilities and details of
environment description language restricting
ourselves by making only some necessary
comments.
First of all note, that all main
components of behavior algebra language
(actions, environment states, and functional
expressions) are algebraic or logic expressions
of base language (terms and formulas). This
language is a multisorted (multitype) first
order logic language. The signature of this
language is defined in the environment
description. Functional and predicate symbols
can be interpreted and uninterpreted.
Interpreted symbols have fixed domains and
interpretations given by algorithms of
computing values or reducing to canonical
forms. All uninterpreted symbols have types
and their possible interpretations are restricted
by definite domains and ranges. Uninterpreted
functional symbols are called attributes. They
represent the changing part of the
environment. Attributes of arity 0 are called
simple attributes, others are called functional
ones. Predicates are considered as functions
ranging in Boolean type {0, 1}. If an attribute
f has functional type τττ →,..),( 21 then
attribute expressions are available
for all other expressions.
,...),( 21 ttf
2.1. Examples of Insertion
Machines
The simplest insertion machines are
machines for parallel and sequential insertion.
Insertion function is called sequential
if E[u, v] = E[u; v] where ”;” means sequential
composition of behaviors. Special case of
sequential insertion is a strong sequential
composition: E[u] = (E; u). This definition
assumes that actions of agents and
environment are the same and environment is
defined by its behaviors. The sequentiality of
this composition follows from associativity of
sequential composition of behaviors. Example
of insertion machine with strong sequential
insertion is represented on fig. 3.
Model Sequential(
interactor rs(P,Q,a)(
Delta[P+Q]=Delta[P]+Delta[Q],
Delta[a.P]=a.Delta[P],
Delta[P]=Delta[unfold P],
Q[P]=(Q;P)
);
unfolder rs(x,y)(
(x;y)=seq(x,y),
A=a.A+Delta,
C=c.C+Delta
);
initial(C[A]);
terminal(Delta[Delta])
)
Fig.3. Example of Strong Sequential
Insertion
The function seq is a function from
IMS library that defines the sequential
composition of behaviors:
=⊥⊥=Δ=
+= ∑∑
+=
→
);(,);(,0);0(
),;();(.);( /
/
vvvv
uvuavu
uu
uu
a ε
ε
The function unfold reduces the
behavior expression to normal
form∑ +⋅ εii ua . This insertion machine
generates a word with mnac
17
Теоретичні та методологічні основи програмування
nondeterministically chosen and
successfully terminates. We can define as the
condition for the goal state the equality m = n
and the driver for this machine will terminate
on traces .
0, ≥nm
mnac
An example of sequential (not strong)
insertion is shown on fig. 4.
Model Imperative(
insertion rs(P,Q,H,a,x,y,u,v)(
E[P+Q]=Delta[P]+Delta[Q],
E[define env H.P]=H[P],
E[(x:=y).P]=assign proc(E,x,y,P),
E[check(u,x,y).P]=if(compute
obj(E,u),E[x;P],E[y;P]),
E[a.P]=a.Delta[P],
E[P]=E[unfold P]
)where(
assign_proc:=proc(E,x,y,P)(E.x−−>
compute obj(E,y);return E[P])
);
behaviors rs(P,Q,x,y,z,u)(
(x;y)=seq(x,y),
(u! else Q)=check(u,P,Q),
while(u,P)=check(u,(P;while(u,P)),Delta),
for(x,y,z,P)=(x;while(y,(P;z)))
);
initial(
define env obj(i:Nil,x:10,y:Nil,
fact:Nil);
y:=1;for(i:=1,i _ x,i:=i+1,y:=y*i);
fact:=y
);
terminal rs(E)(E[Delta]=1,E=0)
)
Fig. 4. Model of Simple Imperative
Language
This example is a model of simple
imperative language and can be considered as
insertion representation of its operational
semantics.
Insertion function is called a parallel
insertion function if Special
case of parallel composition is a strong
parallel insertion: .
].||[],[ vuEvuE =
]||][ uEuE =
As in the case of strong sequential
composition this definition assumes that
actions of environment and agents are the
same. Example of a model with strong
parallel insertion is presented on the fig. 5.
Model Parallel(
interactor rs(P,Q,a)(
Delta[P+Q]=Delta[P]+Delta[Q],
Delta[a.P]=a.Delta[P],
Delta[P]=Delta[unfold P],
Q[P]=(Q k P )
);
unfolder rs(x,y,n)(
(x;y)=seq(x,y),
x k y = synchr(x,y)+ lmrg(x,y)+
+lmrg(y,x)+delta(x,y),
x |ˆ 1=x,
x |ˆ 2=synchr(x,x)+lmrg(x,x)+
+delta(x,x),
x |ˆ n= x k (x |ˆ(n-1))),
);
initial (Delta[((a;b) k (a;b));a+b ]);
terminal (Delta[Delta])
)
Fig. 5. Example of Strong Parallel
Insertion
Functions synchr, lmrg, and delta
from IMS library are used for definition of
parallel composition. Their meaning can be
define by the following formulas:
.||
),(),||(.),(
),,(.)(),(
/
//
/
/
/
∑
∑
∑
+=
+=
→
→
→
=
==
×=
ε
ε
με
yy
xx
ax
a
yy
b
xx
a
yxdeltayxayxlmrg
yxbayxsynchr
2.2. Restrictions on Insertion
Functions
The most typical restriction is
additivity. Insertion function is called additive
if E[u+v]=E[u]+E[v], (E+F)[u]=E[u]+F[u].
Another restriction, which allow to reduce the
number of considered alternatives when
behaviors are analyzed is the commutativity
of insertion function: E[u,v]=E[v,u].
Especially the parallel insertion is a
commutative one. Some additional equations:
18
Теоретичні та методологічні основи програмування
botuuuu =⊥=Δ= ][,][,0][0 0.
The state of environment is called
indecomposable if from E = F[u] it follows
that E = F and . Equality means
bisimilarity. The set of all indecomposable
states constitutes the kernel of a system.
Indecomposable states (if they exist) can be
considered as states of environment without
inserted agents. For indecomposable states
usually the following equations hold:
Δ=u
=⊥⊥=Δ= ][,][,0]0[ EEEE .
In [3] the classification of insertion
functions was presented: one-step insertion,
head insertion, and look-ahead insertion. Later
we shall use insertion functions with the
following main rule:
),,,,,,(,
]:[]:[
::,
//
//
cbaEP
uEuE
uuEE
c
ba
βα
βα
βα
⎯→⎯
⎯→⎯⎯→⎯
where P is a continuous predicate. Continuous
means that the value of this predicate depends
only on some part of behavior tree in the
environment state E, which has a finite height
(prefix of the tree E of finite height). Hereby,
this rule refers to a head insertion. The rules
for indecomposable environment states and
for termination constants should be added to
the main rule.
The next rule
),,(,
][][
:,
//
//
caEP
uEuE
uuEE
c
ba
⎯→⎯
⎯→⎯⎯→⎯ β
is the particular case for the head
insertion rule in combination with additivity
and parallel insertion or commutativity
requirements. Such rule will be named
permitted rule. It could be interpreted by as
follows: agent can execute the action a, and
environment permits to execute this action.
Predicate E for permitted rule will be named
permitted predicate.
3. Constraint Programming
Constraint programming is a powerful
paradigm for solving combinatorial search
problems that draws on a wide range of
techniques from artificial intelligence,
computer science, databases, programming
languages, and operations research. Constraint
programming is currently applied with
success to many domains, such as scheduling,
planning, vehicle routing, configuration,
networks, and bioinformatics [24].
The Constraint programming paradigm
has some resemblance to traditional
Operations Research (OR) approach, in that
the general path to a solution is:
- analyzing the problem to solve, in
order to understand clearly which are its parts;
- determining which conditions
(relationships) hold among those parts: these
relationships and conditions are key to the
solving, for they will be used to model the
problem;
- stating such conditions
(relationships) as equations; to achieve this
step not only the right variables and
relationships must be chosen: as we will see,
Constraint programming usually offers a
series of different constraint systems, some of
which are better suited than others for a given
task;
- setting up these equations and
solving them to produce a solution; this is
usually transparent to the user, because the
language itself has built-in solvers [25].
There are, however, notable
differences with OR, mainly in the possibility
of selecting different domains of constraints,
and in the dynamic, generation of those
constraints. This seamless combination of
programming and equation solving accounts
for some of the unique components of
Constraint Programming:
- the use of sound mathematical
methods: well-known and proved algorithms
are provided as intrinsic, builtin components
of Constraint programming languages and
tools;
- the provision of means to perform
programmed search, especially in Constraint
programming (were search is implicit in
language itself);
- the possibility of developing
modular, hybrid models, when necessary:
many Constraint programming systems offer
different constraint systems, which can be
combined to model the various parts of the
19
Теоретичні та методологічні основи програмування
20
problem using the tool more adequate for
them;
- the flexibility provided by the
programming language used, which allows
the programmer to create the equations to be
solved dynamically, possibly depending on
the input data.
As with any other computational
approach, all problems are amenable to be
tackled with Constraint programming;
notwithstanding, there are some types of
problems which can be solved with
comparatively little effort using Constraint
programming based tools. Those applications
share some general characteristics:
- No general, efficient algorithms
exist (NP-completeness): pecifictechniques
(heuristics) must be used. These are usually
problems with a heavy combinatorial part, and
enumerating solutions is often impractical
altogether. A fast program using usual
programming paradigms is often too hard and
complicated to produce, and normally it is so
tied to the particular problem that adapting it
to a related problem is not easy.
- The problem specification has a
dynamic component: it should be easy to
change programs rapidly to adapt. This has
points in common with the previous item:
Constraint programming tools have builtin
algorithms which have been tuned to show
good behavior in a variety of scenarios, so
updating the program to new conditions
amounts to changing the setting up of the
equations.
- Decision support required: either
automatically in the program or in
cooperation with the user. Many decisions can
be encoded in mathematical formulae, which
appear as rules and which are handled by the
internal solvers, so (although, of course, not
always) there is no need to program explicit
decision trees [26].
Among the applications with these
characteristics, the following may be cited:
planning, scheduling, resource allocation,
logistics, circuit design and verification, finite
state machines, financial decision making,
transportation, spatial databases, etc.
4. Insertion Machine for Constraint
Programming
Some example of insertion machines
and restrictions for insertion function are in
[3, 9, 23]. In this section we try to show how
to use insertion modeling for constraint
programming [26]. The problems of
constraint programming, where a main goal is
behavior of the system, is the closest to the
insertion modeling. For example, the problem
of wolf-goat-cabbage [27] (A farmer wishes
to transfer (by boat) a wolf, a goat, and a
cabbage from the left bank of a river to the
right bank. If left unsupervised, the wolf will
eat the goat and the goat will eat the cabbage,
but nothing will happen as long as the farmer
is near. Beside the farmer there is only a place
for one item in the boat).
Let’s consider a formalization of this
problem in insertion modeling. Let E be the
next environment:
obj(
constraints : rs(x, y, z)(
obj(Wolf : left,Goat : left, x,
Ferryman : right) = 0,
obj(Wolf : right, Goat : right, x,
Ferryman : left) = 0,
obj(x, Goat : left,Cabbage : left,
Ferryman : right) = 0,
obj(x, Goat : right,Cabbage : right,
Ferryman : left) = 0,
obj(Wolf : z, x, y, Ferryman : z) = 1,
obj(x, Goat : z, y, Ferryman : z) = 1,
obj(x, y,Cabbage : z,
Ferryman : z) = 1
);
initial : obj(
Wolf : left,
Goat : left,
Cabbage : left,
Ferryman : left
)
)
where initial is initial state where all creatures
are in left bank of the river, constraits are
constraint equations with right part of 0 define
non possible cases (0 is the neutral element of
non-deterministic choice + of insertion
modeling) and with 1 if ferryman could
transport those creatures in that case. These
Теоретичні та методологічні основи програмування
both values are covered by two different states
of ferry: 1 is just before ferry and 0 - after.
The corresponded input data could be
defined in the following way:
(ferry Wolf || ferry Goat || ferry
Cabbage).assetion_constraints
So, the transition relation of the system
is defined in fig. 6.
1)(],[][ =⎯⎯ →⎯ ϕϕϕ sconstraintpp i
ferryx
1)(
0)(,0][
=¬∨
∨=⎯⎯ →⎯
ϕ
ϕϕ
sconstraint
sconstraintp i
ferryx
0)(
],[][ int_
=¬
⎯⎯⎯⎯⎯ →⎯
ϕ
ϕϕ
sconstraint
pp sconstraassertion
0)(
,0][ int_
=
⎯⎯⎯⎯⎯ →⎯
ϕ
ϕ
sconstraint
p sconstraassertion
Fig. 6. Relations of System’s
Transitions
where iϕ a new environment state without
acception of constration equation.
Insertion modeling system has found 1
goal trace - all creatures are in other coast and
10 visited traces - those traces cover all
possible behaviors of such system.
Typically IMS generated trace is
defined by user. It could look like sequence of
actions or environment states etc. For this
example, to simplify the view of the traces we
propose to use one uninterpreted action
transport:
),,),.(( xFerrymanFerrymanctransport iϕ=¬
where operation «.» returns state of the
ferryman and «¬» returns other coast. So, goal
state trace has the next view:
init
transport(right, Ferryman, Shegoat)
transport(left, Ferryman,Nil)
transport(right, Ferryman,Wolf)
transport(left, Ferryman, Shegoat)
transport(right, Ferryman,Cabbage)
transport(left, Ferryman,Nil)
transport(right, Ferryman, Shegoat)
Fig. 7. Example of Goal State Trace
where init is the initial state and Nil
means that ferryman is ferried along. In
general case, insertion machine for constraint
programming should use:
- assetion_constraints agents action
in agent behavior and initial state.
- environment description should
have non empty section constraints.
Conclusion
The main concepts of insertion
modeling system has been considered in the
present paper. The system was successfully
used for the development of prototypes of the
tools for industrial VRS (Verification of
Requirement Specification) system and
research projects in Glushkov Institute of
Cybernetics. Now it is used for the
development of program verification tool and
‘verifiable programming’ project, and for
constraint programming. The system
continues its enhancement and new features
are added while developing new projects. The
far goal in the developing of IMS consists of
getting of sufficiently rich cognitive
architecture to its basis, which could be used
in the artificial intelligence research.
1. LeticShevsky A.A., Gilbert D.R. A universal
interpreter for nondeterministic concurrent
programming languages// Fifth Compulog
network area meeting on language design and
semantic analysis methods, 1996.
2. Letichevsky A., Gilbert D. A general theory of
action languages//Cybernetics and System
Analyses.– 1998. – Vol. 1.– P. 16 –36.
3. Letichevsky A., Gilbert D. A Model for
Interaction of Agents and Environments. // [In
D. Bert, C. Choppy, P. Moses, (eds.)] Recent
Trends in Algebraic Development
Techniques.-Springer 1999(LNCS). – Vol.
1827. – P. 311–328.
4. Letichevsky A. Algebra of behavior
transformations and its applications // [In
V.B.Kudryavtsev and I.G.Rosenberg (eds)]
Structural theory of Automata, Semigroups,
and Universal Algebra, NATO Science Series
II. Mathematics, Physics and Chemistry.-
Springer 2005. – Vol 207. – P. 241–272.
5. Baranov S., Jervis C., Kotlyarov V.,
Letichevsky A., and Weigert T. Leveraging
UML to Deliver Correct Telecom
Applications// [In L. Lavagno, G. Martin, and
B.Selic, (eds.)] UML for Real: Design of
Embedded Real-Time Systems. Kluwer,
Amsterdam: Academic Publishers, 2003.
6. Letichevsky A., Kapitonova J., Letichevsky A.
jr., Volkov V., Baranov S., Kotlyarov V.,
Weigert T. Basic Protocols, Message Sequence
21
Теоретичні та методологічні основи програмування
22
Charts, and the Verification of Requirements
Specifications // Computer Networks. –2005.
–Vol. 47. – P. 662–675.
7. Kapitonova J., Letichevsky A., Volkov V., and
Weigert T. Validation of Embedded Systems //
[In R. Zurawski, (eds.)] The Embedded
Systems Handbook. Miami: CRC Press, 2005.
8. Letichevsky A., Kapitonova J., Volkov V.,
Letichevsky A. jr., Baranov S., Kotlyarov V.,
and Weigert T. System Specification with
Basic Protocols // Cybernetics and System
Analyses. –2005. – Vol. 4. – P. 479–493.
9. Letichevsky A., Kapitonova J., Kotlyarov V.,
Letichevsky A. jr., Nikitchenko N., Volkov V.,
and Weigert T. Insertion modeling in
distributed system design // Problems of
Programming.–2008. – Vol. 4. – P. 13–39.
10. Milner R. Communication and Concurrency //
Prentice Hall, 1989.
11. R. Milner. Communicating and Mobile
Systems: the Pi Calculus. / R. Milner
Cambridge University Press 1999.
12. Hoare C.A.R. Communicating Sequential
Processes // Prentice Hall, 1985.
13. Cardelli L. Mobile Ambients. In Foundations
of Software Science and Computational
Structures // [Gordon Maurice Nivat (eds.)].–
Springer 1998(LNCS). – Vol. 1378 – P. 140–
155.
14. Gurevich Y. Evolving Algebras 1993: Lipari
Guide // [In E. Borger (eds.)] Specificationand
Validation Methods.– Oxford University
Press.–1995. – P. 9–36.
15. Hoare C.A.R. Unifying Theories of
Programming // He Jifeng Prentice Hall
International Series in Computer Science,
1998.
16. Meseguer J. Conditional rewriting logic as a
unified model of concurrency // Theoretical
Computer Science. –1992. – P. 73–155.
17. Letichevsky A., Kapitonova J., Volkov V.,
Vyshemirsky V., Letichevsky A. jr. Insertion
programming // Cybernetics and System
Analyses. – 2003. – Vol. 1. – P. 19–32.
18. Kapitonova J.V., Letichevsky A.A., and
Konozenko S.V. Computations in APS //
Theoretical Computer Science. – 1993. –
P. 145–171.
19. Insertion Modeling System.–
http://apsystem.org.ua.
20. Kozen D. Dynamic Logic / David Harel and
Jerzy Tiuryn, 2000.
21. Hoare C.A.R. An axiomatic basis for computer
programming // Communications of the
ACM.–1969. – Vol. 12(10). – P. 576–580.
22. Floyd R.W. Assigning meanings to programs
// Proceedings of the American Mathematical
Society Symposia on Applied Mathematics ,
1967. – Vol. 19. – P. 19–31.
23. Letichevsky A.A., Kapitonova J.V., Volkov
V.A., Vyshemirsky V.V. Insertion Modelling //
Cybernetics ans System Anilises .–2003. –
Vol. 1. – P. 19–23.
24. Rossi F., van Beek P., Walsh T. Elsevier
Handbook of Constraint Programming // New
York, NY, USA: Science Inc, 2006.
25. Bartak R. Tutorial on Filtering Techniques in
Planning and Scheduling // The English Lake
District, Cumbria, UK., 2006.
26. Marriott K., Stuckey P. Programming with
Constraints: An Introduction // MIT Press,
1998.
27. Farmer, Wolf, Goat and Cabbage Problem.–
http://wiki.visualprolog.com/index.php?title=F
armer, Wolf, Goat and Cabbage.
Registration date 03.06.2011
About authors:
Olexander Letichevsky,
the Head of Digital Automata Theory
Department of Glushkov Institute of
Cybernetics of NAS of Ukraine, Academician
of the National Academy of Sciences, Doctor
of Physics and Mathematics, Professor,
Olexander Letychevskyi,
Research Engineer of Digital Automata
Theory Department of Glushkov Institute of
Cybernetics of NAS of Ukraine, Candidate of
Physics and Mathematics,
Vladimir Peschanenko,
Associate Professor of Informatics
Department of Kherson State University,
Candidate of Physics and Mathematics,
Associate Professor,
Igor Blynov,
Assistant of Informatics Department of
Kherson State University,
Dmitry Klionov,
Assistant of Informatics Department of
Kherson State University.
http://wiki.visualprolog/
|
| id | pp_isofts_kiev_ua-article-822 |
| institution | Problems in programming |
| keywords_txt_mv | keywords |
| language | English |
| last_indexed | 2025-09-17T09:24:18Z |
| publishDate | 2025 |
| publisher | PROBLEMS IN PROGRAMMING |
| record_format | ojs |
| resource_txt_mv | ppisoftskievua/3a/e7b6e1584022abd756f29fe142c4d93a.pdf |
| spelling | pp_isofts_kiev_ua-article-8222025-09-02T15:42:07Z Constraint programming in insertion modeling system Програмування в обмеженнях у системі інсерційного моделювання Letichevsky, O.A. Letychevskyi, O.O. Peschanenko, V.S. Blynov, I.O. Klionov, D.M. UDC 004.41,004.51 УДК 004.41,004.51 The paper relates to practical aspects of insertion modeling. Insertion modeling system is an environment for the development of insertion machines, used to represent insertion models of distributed systems. The architecture of insertion machines and insertion modeling system IMS is presented. Insertion machine for constraint programming is specified as an example, and as a starting point of ‘verifiable programming’ project.Problems in programming 2011; 4: 14-22 Розглядаються практичні аспекти інсерційного моделювання. Система інсерційного моделювання - це середовище для розробки інсерційних машин, які використовуються для представлення моделей розподілених систем. Представлена архітектура інсерційних машин та системи інсерційного моделювання. Інсерційна машина для програмування з обмеженнями представлена як приклад та як відправна точка проекту доказового програмування. Problems in programming 2011; 4: 14-22 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2025-09-02 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/822 PROBLEMS IN PROGRAMMING; No 4 (2011); 14-22 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 4 (2011); 14-22 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 4 (2011); 14-22 1727-4907 en https://pp.isofts.kiev.ua/index.php/ojs1/article/view/822/874 Copyright (c) 2025 PROBLEMS IN PROGRAMMING |
| spellingShingle | UDC 004.41,004.51 Letichevsky, O.A. Letychevskyi, O.O. Peschanenko, V.S. Blynov, I.O. Klionov, D.M. Constraint programming in insertion modeling system |
| title | Constraint programming in insertion modeling system |
| title_alt | Програмування в обмеженнях у системі інсерційного моделювання |
| title_full | Constraint programming in insertion modeling system |
| title_fullStr | Constraint programming in insertion modeling system |
| title_full_unstemmed | Constraint programming in insertion modeling system |
| title_short | Constraint programming in insertion modeling system |
| title_sort | constraint programming in insertion modeling system |
| topic | UDC 004.41,004.51 |
| topic_facet | UDC 004.41,004.51 УДК 004.41,004.51 |
| url | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/822 |
| work_keys_str_mv | AT letichevskyoa constraintprogrammingininsertionmodelingsystem AT letychevskyioo constraintprogrammingininsertionmodelingsystem AT peschanenkovs constraintprogrammingininsertionmodelingsystem AT blynovio constraintprogrammingininsertionmodelingsystem AT klionovdm constraintprogrammingininsertionmodelingsystem AT letichevskyoa programuvannâvobmežennâhusistemíínsercíjnogomodelûvannâ AT letychevskyioo programuvannâvobmežennâhusistemíínsercíjnogomodelûvannâ AT peschanenkovs programuvannâvobmežennâhusistemíínsercíjnogomodelûvannâ AT blynovio programuvannâvobmežennâhusistemíínsercíjnogomodelûvannâ AT klionovdm programuvannâvobmežennâhusistemíínsercíjnogomodelûvannâ |