Sunteți pe pagina 1din 7

/*

* Licensed under the Apache License, Version 2.0 (the "License");

* you may not use this file except in compliance with the License.

* You may obtain a copy of the License at

* http://www.apache.org/licenses/LICENSE-2.0

* Unless required by applicable law or agreed to in writing, software

* distributed under the License is distributed on an "AS IS" BASIS,

* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

* See the License for the specific language governing permissions and

* limitations under the License.

*/

namespace org.govt.scheme

asset Tablet identified by tid {

o String tid

o OWNER owner

o STATE state

o String quantity

o REQUESTSTATUS request

// abstract participant by which all other participant resources are extended.

abstract participant Party identified by pid {


o String pid

o String name

o Org org

participant GovtAppointedBody extends Party {

participant Manufacturer extends Party {

participant Distributor extends Party {

participant Student extends Party {

// enumeration to define different owners of the Tablet in different stages.

enum OWNER{

o NA

o GOVTAPPOINTEDBODY

o MANUFACTURER

o DISTRIBUTOR

o STUDENT

}
// enumeration to define different states of Tablet in different stages of its supply chain.

enum STATE{

o NA

o PROCURING

o PROCURED

o MANUFACTURING

o MANUFACTURED

o DELIVERED

o DISTRIBUTING

o DISTRIBUTED

o RECEIVED

// enumeration to define status of request, request approval and the acknowledgement of the
Tablet

// delivery.

enum REQUESTSTATUS{

o NA

o MANUFACTURER_REQUEST_PENDING

o MANUFACTURER_REQUEST_APPROVED

o MANUFACTURER_IN_DELIVERY

o MANUFACTURER_DELIVERED

o DISTRIBUTOR_REQUEST_PENDING

o DISTRIBUTOR_REQUEST_APPROVED

o STUDENT_IN_DELIVERY

o STUDENT_IN_DELIVERED

}
// Organization of the participant

concept Org{

o String org_name

o String city

o String country optional

o String locality optional

o String region optional

o String address optional

o String postalCode optional

// transaction after the diamond has been mined.

transaction procure {

--> GovtAppointedBody govtbody

--> Manufacturer manufacturer

--> Tablet tablet

// transaction for manufacturing request.

transaction manufacture{

--> Manufacturer manufacturer

--> Tablet tablet

}
// transaction after the manufacture

// transaction distribution

transaction distribution{

--> Tablet tablet

--> Distributor Distributor

// transaction student

transaction studentdelivery{

--> Tablet tablet

--> Student student

// abstract transaction structure for request by the govtbody.

abstract transaction TManufacturer{

--> Tablet tablet

--> GovtAppointedBody govtbody

--> Manufacturer manufacturer

transaction request_by_manufacturer extends TManufacturer {

transaction request_approval_manufacturer extends TManufacturer {


}

transaction in_delivery_manufacturer extends TManufacturer {

transaction delivered_by_manufacturer extends TManufacturer {

// abstract transaction structure for request by the distributer.

abstract transaction TDistributor{

--> Tablet tablet

--> Distributor distributor

--> Manufacturer manufacturer

transaction request_by_distributor extends TDistributor {

transaction request_approval_distributor extends TDistributor {

transaction ready_for_use{

--> Tablet tablet

--> Student student

// Initial transacion for setting up all the resources in the network.

transaction initialize_demo_resource{
}

S-ar putea să vă placă și