faa-swim / sdcm

Issues tracking for Service Description Conceptural Model
1 stars 0 forks source link

Function #11

Open mkaplun opened 1 year ago

mkaplun commented 1 year ago

Suggest the following changes to the Profile Function class suggest the following changes:

or

Function w RWE

wznira commented 1 year ago

I can see both ways.

This note from OASIS seems to suggest that "real world effect" is more applicable if a web service call leads to a change in a resource, for example, making an online purchase. In reality, most SWIM services are information services, meaning they deliver readonly information to the client, and as a result, the client has no way to create real world effect with these services.

The question is -- will SWIM ever support services that do cause changes in resource state? For example, filing a fight plan or publishing a NOTAM? If so, I do think there is potential use for the real world effect property.

caroluri commented 1 year ago

I agree with @wznira since SDCM and associated FAA standards like FAA-STD-065 etc. were developed for any SOA services, not just SWIM information services. For what it's worth, the ICAO Service Overview requires Information Service Functions which are "... a description of the business-level characteristics of the information service functions" where " ... the description should include the functionality of the service as a list of the functions and real-world effects."

Instead of removing Real World Effect, I suggest simplifying the Function to give it two attributes: a Name attribute and a Real World Effect attribute defined as it is now in SDCM, "An ultimate purpose associated with the interaction with the service. It may be the response to a request for information or the change in the state of some entities shared between the participants in the interaction." Thus a Function could be named "Provide weather forecast" and the RWE could say "Consumer receives the latest hourly forecast of the local weather conditions" or whatever.

mkaplun commented 1 year ago

According to Reference Ontology for Semantic Service Oriented Architectures, which I believe was the source for the FAA adopting the term Real World Effect,

Real World Effect, that is that the process of invoking a service will not only change the state of the data sources related to the service requester and service provider but also an actual change will occur to the state of the world, for example when buying a book from a bookselling service the physical book will change location from the warehouse to the home of the purchaser.

Therefore I can be, and even required by the model, to be included in a service description. My point was that it is not really understood and/or found use by FAA users, and it could be made optional.

However, being a conceptual model, SDCM may include elements or attributes without having to specify how they will be interpreted in future compliant documents, e.g., FAA standards, JACKSON model, etc.

The example of a Function Element in an information service may look like the following:

Name:    Providing weather forecast
Description: The service sends a message containing the weather data for an identified future period of time.
RWE: The latest weather forecast is created or replaced.
caroluri commented 1 year ago

It looks like we agree that there should be a RWE attribute. All services, even intermediate services, can have one; e.g., a security service's functionality has an effect on whether the consumer's ultimate request -- to get a forecast or buy a book, say -- will or will not be fulfilled.

wznira commented 1 year ago

I agree that RWE should be made optional. I do not think information services will have real-world effects per definition cited in @mkaplun 's comment. Only service that changes the state of some resources will have RWD - In REST terms, only options with verbs PUT, POST or DELETE should have RWD, such as "a flight plan is filed", "a maintenance activity is scheduled" or "a NOTAM is issued".

caroluri commented 1 year ago

The original SDCM definition was from OASIS Reference Architecture: "An ultimate purpose associated with the interaction with the service. It may be the response to a request for information or the change in the state of some entities shared between the participants in the interaction. [OASIS-RO]". It is similar to "Effect (or real-world effect) – Interacting with services has a purpose and therefore has some outcome which potentially provides exchange of value between consumers and providers." (https://www.opengroup.org/soa/source-book/stds/p5.htm). If a service provides me with information, the effect is that I have obtained knowledge I didn't have before. My own state has changed.