This class is an abstract superclass for all Situation Entities of PaaSport, namely Offfering, Application and SLA. Represents the pricing policy of the offering. The name of the certificate. The class of storage-related parameters of a Resource The version of the service. SQL DB Represents an SQL database service. The country where the service is placed. In the future wthis will be linked to a proper geographical ontology. This class represents concepts related to persistent storage resources, such as disk type, capacity, etc. This class represents a grounded PaaS Offering. The services offered, as well as its QoS and resources can be found by tracing the satisfies property. An offering is linked to its provider as well as its deployed applications. The Description of the SLA. The description includes pricing policy and QoS. The SLA template is a rough schema of the offers the responder is willing to accept. DB Represents a database service. It is linked with the DBType instance of the ServiceType parameter through a necessary and sufficient restriction. The general class of the parameters for QoS Represents the pricing policy of the offering. This class is the description of a grounded PaaS offering. This description consists of PaaS concepts like programming environemt, services, resources, QoS, location, pricing etc. The resource, QoS, Pricing and location concepts define when an Offering Model becomes GroundOffering (necessary and sufficient conditions). In practice, when a user creates a new offering by grounding an existing oferring model, a new instance of this class will be created by copying all the concepts of the model (service and programming environment). Then all the rest of the paraneters will have to be filled. The upper limit on the percentage of CPU load after which the platform scales up, e.g. i.e. scale up if CPU load Is higher than 90%. Notice that this limit can be interpreted by the application requirement in two ways: • If the application profile is similar to a server-like application, then the application requirement for this limit is to be as low as possible, in order to be able to handle as many new requests as possible. So the application requirement treats this as a minimum acceptable limit; a “compatible” offering may offer the same-as-requested or an even lower CPU load. • If the application profile is similar to a data-intensive application, then the application requirement for this limit is to be as high as possible, in order to utilize the CPU as much as possible. So the application requirement treats this as a maximum acceptable limit; a “compatible” offering may offer the same-as-requested or an even higher CPU load. In order to comply with both the above application profiles, the DUL:parametrizes property is restricted to RangeValue, i.e. the superclass of the Max and Min classes. When the application requirement is defined, the parameter will become an instance of one of the two most specific classes Max and Min. Max is for data-intensive apps, Min is for server-like apps. The maximum number of CPUs that an offering gives to an app. This class is an abstract superclass for all PaaS Description Entities, such as ApplicationRequirement, OfferingModel, GroundOffering and SLATemplate. The time the Cloud needs to process and forward to the application the incoming call. Range Value. Requires range match. E.g. less than or equal. The period of trial access of the offering The PaaS Provider. Provides offerings. 1 1 The agreement between a Service Consumer (the user of an application) and a Service Provider (namely PaaS provider) where the level of service is formally defined in terms of performance and reliability. It involves also the application and and the offering. The maximum number of applications that a developer can deploy at an offering. This class represents the rating of an offering. This value is the average of users’ rating. This class refers to the geographical location of a service or an offering. Furthermore, an application may require from an oferring or a serivce to be located somewhere specifically. The lowest limit on the percentage of memory load below which the platform scales down, e.g. scale down when CPU load is below 10%. Notice that this limit is always interpreted in the same way by the application requirement; it needs to be as high as possible so that the platform will scale-down early enough so that the memory load is maintained relatively high (e.g. at least 50%). In this ways cost is saved (no need to pay for extra memory when not really needed). So it is treated as a Min Range Value. Describes the hardware-related resources which a PaaS provider offers (or an application developer requests) like storage capacity, memory capacity, network bandwidth etc. The actual resources are specified as resource parameters. A collection of requirements that an application requires. Specific requirements are PaaS related Concepts that can be traced via the requires property. The maximum number of SSL endpoints available at the platform end. Represents the quality metrics of the offering. The general class of parameters of programming environments. This class represents the description of a PaaS offering model. It is linked through the offers property to concepts describing the offering. Actually an offering model consists only of the ProgrammingEnvironment and Service concepts. Concepts like resources offered and QoS are not part of an offering model but of a GroundedOffering. In practice, when a user adds a new offering model it will be an instance of this class. Describes a programming language (e.g. Java, PHP, Python) that is used for developing a cloud Application. Defines the version of a programming language Server Represents a Server (e.g. web server or application server). NoSQL DB Represents a noSQL database service. This class includes nonfunctional parameters, namely parameters that usually measure the quality of a service and are used in order to rank the selected services according to the order of preference. Notice that a non-functional parameter can also be used as a functiuonal if the users wishes to. For example, latency less than 10ms is absolutely required, so do not consider at all offerings that do not satisfy this criterion. This can be declared by the user through the GUI. Range Value with a Min upper limit. Matches greater than or equal. This class represents concepts related to processing resources, such as CPU architecture, number of cores, memory capacity, etc. Represents an abstract PaaS characteristic which is part of an offering or an application requirement. It is linked (through the DUL:hasParamter property) to several Functional or nonfunctional parameters. Characteristics can be backwards compatible with other characteristics. This is manily needed for characteristics such as versions of offered programming languages or services/software. Refers to the availability of SSL endpoints from the oferring. This class represents a deployed Cloud-based application. The requirements of the Application can be found by tracing the statisfies property. An application is linked to its developer and with the PaaS Offering that is deployed at. The type of the certificate. The value parameter of rating The maximum number of concurrent connections that an offering can give to an app. Describes the technology of the disk (for example ssd technology). The continent where the service is placed. In the future wthis will be linked to a proper geographical ontology. The version of the certificate. The latency of the network Refers to the availability of a platform to auto-scale up and down based on computational/memory load. Range Value with a limit that is Min for the Offering and Max for the Application. Matches greater than or equal. unbounded The maximum amount of main memory capacity that an offering gives to an app. Range Value with a Max upper limit. Matches less than or equal. This class includes functional parameters, namely parameters that can only be used as functional requirements. Functional requirements are the requirements that when not met by an offering, then the offering cannot be considered as a candidate for deploying an application. The type of the service (like database, Server etc). This parameter is used to classify Service concepts into specific subclasses. Parameters of a service like name, type etc. unbounded Refers to the capacity of the storage resource Classifies a PaaS concept, specifying the way it should be interpreted. It includes functional and non-functional parameters that are used for matchmaking and ranking, as well as informational parameters that can be inspected manually by the application developer in order to select an offering. The frequency of the processing unit (CPU). This class classifies all the parameters that can take part at the matchmaking and/or ranking of an offering. It includes both Functional and Non-functional parameters. Nominal Values. Enumerated data type. Requires exact match. The cost per month of an offering The parameters related with a certificate of an offering. The cache capacity of the processing unit. The class of processing parameters of a Resource The lowest limit on the percentage of CPU load below which the platform scales down, e.g. scale down when CPU load is below 30%. Notice that this limit is always interpreted in the same way by the application requirement; it needs to be as high as possible so that the platform will scale-down early enough so that the CPU load is maintained relatively high (e.g. at least 50%). In this ways cost is saved (no need to pay for extra VMs when not really needed). So it is treated as a Min Range Value. Ordinal Values. Ordered enumerated data types. Requires exact match. Order can determine better or worse. Range Value with a limit that is Max for the Offering and Min for the Application. Matches less than or equal. Single Value. Requires exact match. Defines the common name of a programming framework Describes a language (e.g. Java, PHP, Python) or a language framework (e.g. php zend, python django ) that are used for developing cloud-based Applications. Defines the version of a programming framework The basic abstract concept of a service or in other words software offered by an offering, such as database, server, etc. Services are also related to location Epsecially for databases this is important), resources (e.g. what disk capacity is given to a database), and cost. The subclasses of Service class are specific types of services, which are directly related to instances of the ServiceType class through a necessary and sufficient hasValue restriction. The base charge of an offering Refers to the number of requests per time unit (usually second) that an app or service can handle The number of applications that a developer can deploy at an offering without extra cost. This class represents network resource concepts (e.g. bandwidth). Describes a programming framework (e.g. php zend, python django ) that is used for developing a cloud Application. This class refers to the geographical location parameters of a service or an offering. The class of network-related parameters of an Offering. The maximum volume of data that an offering allows to be transfered per month. Defines the common name of a programming language The general class for the Resource-related parameters of an Offering. The maximum latency of an offering (or the maximum latency required by an application) The upper limit on the percentage of memory load after which the platform scales up, e.g. i.e. scale up if memory load Is higher than 90%. Notice that this limit can be interpreted by the application requirement in two ways: • If the application profile is similar to a server-like application, then the application requirement for this limit is to be as low as possible, in order to be able to handle as many new requests as possible. So the application requirement treats this as a minimum acceptable limit; a “compatible” offering may offer the same-as-requested or an even lower memory load. • If the application profile is similar to a data-intensive application, then the application requirement for this limit is to be as high as possible, in order to utilize the memory as much as possible. So the application requirement treats this as a maximum acceptable limit; a “compatible” offering may offer the same-as-requested or an even higher memory load. In order to comply with both the above application profiles, the DUL:parametrizes property is restricted to RangeValue, i.e. the superclass of the Max and Min classes. When the application requirement is defined, the parameter will become an instance of one of the two most specific classes Max and Min. Max is for data-intensive apps, Min is for server-like apps. This class classifies an informational parameter that can be inspected manually by the application developer in order to select an offering, but not used for matchmaking or ranking an offering. The percentage of time in a determined period that the application will answer. Agents involved in the PaaS setting, namely the Application Developer, the PaaS Provider and the service consumer. Refers to the technological architecture of the processing unit. The network bandwidth of an Offering, i.e. a measurement of bit-rate of available or consumed data communication resources expressed in bits per second or multiples of it (bit/s, kilobit/s, Megabit/s, Gigabit/s, etc.). The class related with Certificates of an offering or required by an Application. The name of the service. Connects an Application Developer with the Application he/she developed. Relates compatible PaaSConcepts. E.g. it can be used to relate two versions of a programming language The start date of an SLA. Connecting an Application with the SLA. Connecting an SLA with the service consumer. Connects an Offering with the Applications Deployed at it Connects an Offering with its provider Connecting an SLA with the PaaS Provider. Connects an Offering (both model and grounding) with its constituting concepts Connects a PaaS Provider with the Offering that he/she provides Connects an Application Requirement with its constituting concepts The end date of an SLA. Connecting a PaaS offering with the SLA. Connects a deployed Application with the PaaS Offering that is Deployed at Connecting a service consumer with the SLA. Connects an Application with its developer Connecting an SLA with the application. Connecting a PaaS provider with the SLA. Connecting an SLA with the PaaS offering. giga 1073741824 G G mega 1048576 M M unbounded