Let the maps R1 and R2 are services
implemented by using the schema:
R1(x1/type1,y1/type2;z1/type3,v1/type4);
R2(x2/type1,y2/type2;z2/type3,v2/type4).
Then the service defined by conditional
composition will perform Rif mapping:
Rif(x/type1,y/type2;z/type3,v/type4) ==
∃x1/type1∃y1/type2∃z1/type3∃v1/type4∃xin/type1∃
yin/type2 P(xin/type1,yin/type2) &
R1(x1/type1,y1/type2;z1/type3,v1/type4) &x=x1 &
y=y1 & z=z1 & v=v1 & x=xin & y=yin
OR
∃x2/type1∃y2/type2∃z2/type3∃v2/type4∃xin/typ
e1∃yin/type2 ¬P(xin/type1,yin/type2) &
R2(x2/type1,y2/type2;z2/type3,v2/type4) & x=x2 &
y=y2 & z=z2 & v=v2 & x=xin & y=yin
The results of this analysis show that only two
managing structures - serial and parallel are useful
for automatic composition of processes. There must
be a process that has an input fully identical to the
input of the desired process. Other composition
types are suggested to be used to solve the tasks of
collision and invariation of proposed solutions.
3 SEARCH FOR WEATHER
CONDITIONS AT POINT OF
AIRCRAFT ARRIVAL
To describe processes we will use standard
interpretation of the first-order logic language
(Volchenkov N.G. et al., 2011).
Let the first process return destination and arrival
time by flight number:
S1(x/numFlight,y/destFlight, z/arrTimeFlight)
== ∃i/Flight Flight_fnumber(i,x) & Flight_dest(i,y)
& Flight_time(i,y)
Second process returns latitude and longitude by
city name:
S2(x/location, y/latCoordinates,
z/longCoordinates) = Location_coordinates(x,y,z)
Third and fourth processes return weather
conditions by latitude, longitude and time, but third
process works only with Northen and South America
(longitude from x to y) and the fourth one works
with Eurasia, Africa and Australia (longtitude):
S3(x/latWeather,y/longWeather,z/Time,a/Weath
erInfo)==∃i/Precipitation ∃j/Temperature
Weather_coordinates(a,x,y) & Weather_time(a,z) &
Weather_cond(a,i) & Weather_temp(a,j) & (y >= -
160) & (y <= -34)
S4(x/latWeather,y/longWeather,z/Time,a/Weath
erInfo) == ∃i/Precipitation ∃j/Temperature
Table 1: Conceptual model of knowledge domain.
Classes
Flight(x)
WeatherInfo(x)
Location(x)
FlightNumber(x) → Digital(x)
Temperature(x) → Digital(x)
Precipitation(x) → String(x)
Longitude(x) → float(x)
Latitude(x) → float(x)
Destination(x) → String(x)
ArrivalTime(x) → TimeSpan(x)
Time(x) → TimeSpan(x)
Properties
Flight_fnumber(x,y) → Flight(x) & FlightNumber(y) :
Flight_fnumber(x,y) & Flight_fnumber(x,z) → y = z
Flight_dest(x,y) → Flight(x) & Destination (y) : Flight_dest
(x,y) & Flight_dest (x,z) → y = z
Flight_time(x,y) → Flight(x) & ArrivalTime(y) : Flight_time
(x,y) & Flight_time (x,z) → y = z
Location_coordinates(x,y,z) → Location(x) & Longitude(y) &
Latitude(z) → Location_coordinates (x,y,z) &
Location_coordinates (x,a,b) → y=a & z=b
Weather_coordinates(x,y,z) → WeatherInfo(x) &
Longitude(y) & Latitude(z) → Weather_coordinates (x,y,z) &
Weather_coordinates (x,a,b) → y=a & z=b
Weather_temp(x,y) → WeatherInfo(x) & Temperature(y) →
Weather_temp (x,y) & Weather_temp (x,z) → y=z
Weather_cond(x,y) → WeatherInfo(x) & Precipitation (y) →
Weather_cond (x,y) & Weather_cond (x,z) → y=z
Weather_time(x,y) → WeatherInfo(x) & Time(y) →
Wather_time (x,y) & Weather_time (x,z) → y=z
Connections
Flight_location(x,y) = Flight(x) & Location(y)
Location_weather(x,y) = Location(x) & Weather(y)
Flight_weather(x,y,z) = Flight(x) & Weather(y) & Time(z)
Derived classes
destFlight(y) == ∃x Flight_location(x,y)
destFlight(y) → Location(y)
arrTimeFlight(y) == ∃x Flight_time(x,y)
arrTimeFlight (y) → ArrivalTime(y)
locWeather(x,y) == ∃z Weather_coordinates(z,x,y)
locWeather(x,y) → WeatherInfo(z)
numFlight(y) == ∃x Flight_fnumber(x,y)
numFlight(y) → FlightNumber(y)
longCoordinates(y) == ∃x
∀
Location_coordinates(x,y,z)
longCoordinates(y) → Longitude(y)
latCoordinates(z) == ∃x
∀
Location_coordinates(x,y,z)
latCoordinates(z) → Latitude(z)
longWeather(y) == ∃x
∀
Weather_coordinates(x,y,z)
longWeather(y) → Longitude(y)
latWeather(z) == ∃x
∀
Weather_coordinates(x,y,z)
latWeather(z) →Latitude(y)
condWeather(y) == ∃x Weather_cond(x,y)
condWeather(y) → Precipitation(y)
tempWeather(y) == ∃x Weather_temp(x,y)
tempWeather(y) → Temperature(y)
timeWeather(y) == ∃x Flight_time(x,y)
timeWeather (y) → Time(y)
Weather_coordinates(a,x,y) & Weather_time(a,z) &
Weather_cond(a,i) & Weather_temp(a,j) & (y <= -
160) & (y >= -34)
It is required to build process, which returns
information about weather conditions in the
aircraft’s destination by the flight number (see
Fig.5).
CompositionofWeb-servicesBasedonSemanticDescription
127