Skip to content

Rename DispatchService to MicrogridDispatchService #60

@thomas-nicolai-frequenz

Description

@thomas-nicolai-frequenz

What's needed?

In order to give the service more context whats it about I'd suggest to rename the service from DispatchService to MicrogridDispatchService or MicrogridDispatchService.

Proposed solution

Please rename service and extend the documentation above. Here is a draft:

// Frequenz Dispatch Automation API
//
// Overview:
// The API serves to automate the process of electricity dispatches for microgrids.
// In the context of the energy industry, a 'dispatch' refers to the act of routing electrical power 
// between different components within a microgrid or between a microgrid and the main grid.
// This could be for the purpose of supply (sending electricity to the grid or components within the microgrid),
// or demand (drawing electricity from the grid or from other components like batteries and solar arrays).
//
// Objective:
// The primary objective of this API is to streamline and automate the complex task of electricity dispatching,
// making it easier to manage local electricity supply and demand efficiently.
//
// Key Features:
// - Dispatching Electricity: Comprehensive CRUD operations for dispatching microgrid components.
// - Automation: Support for one-time as well as recurring dispatches based on flexible recurrence rules.
// - Fine-grained control: Dispatch individual microgrid components or entire component categories.
//
// Example Use Cases:
// - Charging or discharging a battery based on optimal time-of-use rates.
// - Limiting the output of a Photovoltaic (PV) array during periods of low demand.
// - Invoking Frequency Containment Reserves (FCR) or Automatic Frequency Restoration Reserves (aFRR) to 
//    support grid operations.
// - Adjusting the output of electric vehicle charging stations to match grid availability or to avoid peak pricing.
//
// Target Audience:
// This API is designed for application developers in the energy sector who focus on the tasks of optimizing microgrid
// electricity flows. Its design aims to be as developer-friendly as possible, requiring no prior knowledge in 
// electrical engineering and systems.
//
// License:
// ...

Also renaming the service and rpc methods is suggested:

// Service providing operations related to dispatching microgrid components.
- service DispatchService {
+ service MicrogridDispatchService {
  // Returns a list of all dispatches
-   rpc ListDispatches(DispatchListRequest) returns (DispatchList);
+   rpc ListMicrogridDispatches(DispatchListRequest) returns (DispatchList);

  // Create a new dispatch
-   rpc CreateDispatch(DispatchCreateRequest) returns (google.protobuf.Empty);
+   rpc CreateMicrogridDispatch(DispatchCreateRequest) returns (google.protobuf.Empty);

  // Update a dispatch
-   rpc UpdateDispatch(DispatchUpdateRequest) returns (google.protobuf.Empty);
+   rpc UpdateMicrogridDispatch(DispatchUpdateRequest) returns (google.protobuf.Empty);

  // Get a single dispatch
-   rpc GetDispatch(DispatchGetRequest) returns (Dispatch);
+   rpc GetMicrogridDispatch(DispatchGetRequest) returns (Dispatch);

  // Delete a given dispatch
-   rpc DeleteDispatch(DispatchDeleteRequest) returns (google.protobuf.Empty);
+  rpc DeleteMicrogridDispatch(DispatchDeleteRequest) returns (google.protobuf.Empty);
}

Use cases

No response

Alternatives and workarounds

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    part:docsAffects the documentationpart:❓We need to figure out which part is affectedtype:enhancementNew feature or enhancement visitble to users

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions