How to add new SSDT table to existing ACPI table?

Hi All,
I’d like to add some SSDT table to existing ACPI table using separate driver.

Below are my understanding and plan to proceed,
- Create separate DXE driver
- Do ASL file (I don’t know how to create ASL file and compile to convert it to AML file)
- Need to use below struct for adding new table to ACPI
EFI_STATUS
(EFIAPI *EFI_ACPI_TABLE_INSTALL_ACPI_TABLE) (
IN EFI_ACPI_TABLE_PROTOCOL *This,
IN VOID *AcpiTableBuffer,
IN UINTN AcpiTableBufferSize,
OUT

Kindly guide me to proceed towards this.