The goal of the modeling task is to get acquainted with the modeling concepts specific for confidentiality analyses.

Material

Scenario

The various roles involved in the architectural design already created all required Palladio models, which includes a repository, a system, a resource environment, an allocation and a usage model.

We decided to define a confidentiality policy in terms of Role-based Access Control (RBAC) to protect the transmitted information in the system. Two parties are involved in the current system: A user and his/her apps located on his/her smartphone and an airline. A user or system has to have at least one role, which grants access to a particular data item. In general, the user and the airline have access to all data except for credit card data (ccd). Access to the credit card data is only granted to the user.

Before we can analyze whether the architecture complies with this policy, we have to

  • assign roles to users and system parts
  • define the propagation of data characteristics

We already defined most of the propagation but we are not finished yet. Your task is to complete this specification.

Task Instructions

Your task is to complete the existing specification.

All characteristics of nodes are missing. Create the missing characteristics as described in the following table.

Model Element Type Element Name Characteristic Type Value
Usage Model UsageScenario User AssignedRoles User
Usage Model UsageScenario FlightPlanner AssignedRoles Airline
Resource Environment ResourceContainer Mobile AssignedRoles User
Resource Environment ResourceContainer AirlineServer AssignedRoles Airline

Some assignments in the usage model are missing. Create the missing assignments as described in the following table.

Usage Scenario Action Variable Usage Assignments
User store ccd ccd ccd.GrantedRoles.User := true
User look for flights query query.GrantedRoles.* := true

Some assignments in service effect specifications (SEFFs) are missing. Open the repository diagram, look for the SEFFs listed in the following table below and create the missing assignments as described below.

Component SEFF Action Variable Usage Assignments
CreditCardCenterLogic declassifyForAirline return declassified ccd RETURN RETURN.{
*.* := ccd.*.*
GrantedRoles.Airline := true
}
TravelPlanner findFlights request flights from airline flights flights.*.* := RETURN.*.*
TravelPlanner findFlights return found flights RETURN RETURN.*.* := flights.*.*

Expected Results

You can compare your models with the models contained in the modeling project TravelPlanner_03_ModeledRBAC, which is already located in your Palladio tooling.