Skip to content

Commit

Permalink
#5 📝 Tranche 2 of documentation migration
Browse files Browse the repository at this point in the history
  • Loading branch information
d-ryan-ashcraft authored and tianliang0038 committed May 1, 2024
1 parent c2678b6 commit b63c0f7
Show file tree
Hide file tree
Showing 9 changed files with 1,019 additions and 10 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ processes adjusted and honed into the public GitHub

## Configurations

For details on using the configuration tool, please consult our [Configuring Your Environment guidance (LINK COMING SOON)](https://boozallen.github.io/aissemble/current-dev/configurations.html).
For details on using the configuration tool, please consult our [Configuring Your Environment guidance](https://boozallen.github.io/aissemble/aissemble/current/configurations.html).

## Build

Expand Down Expand Up @@ -76,7 +76,7 @@ following profiles are often useful when first starting with aiSSEMBLE:
build does not build the Docker images directly. The images are built within the Kubernetes cluster to speed up
development builds and save disk space.**

## Use a Maven Archetype to Create a New aiSSEMBLE-Based Project
## Use a Maven Archetype to Create a New aiSSEMBLE-Based Project

The first step in creating a new project is to leverage Maven’s archetype functionality to incept a new Maven project
that will contain all of your aiSSEMBLE component implementations - Data Delivery and Machine Learning pipelines as
Expand All @@ -97,7 +97,7 @@ This command will trigger an interactive questionnaire giving you the opportunit
5. projectGitUrl
6. projectName

* For details on these fields refer to (LINK COMING SOON) https://boozallen.github.io/aissemble/current-dev/archetype.html#_use_a_maven_archetype_to_create_a_new_project
* For details on these fields refer to https://boozallen.github.io/aissemble/aissemble/current/archetype.html

* For detailed instructions on adding a pipeline refer to (LINK COMING SOON) https://boozallen.github.io/aissemble/current-dev/add-pipelines-to-build.html

Expand Down
Binary file added docs/modules/ROOT/images/aissemble-landscape.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
62 changes: 62 additions & 0 deletions docs/modules/ROOT/pages/add-pipelines-to-build.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
[#_adding_a_pipeline]
= Adding a Pipeline
Once you have generated your new project, it is time to add a pipeline. Pipelines are the core of most projects and are
responsible for major data delivery and machine learning tasks. The following content walks through the process of
standing up a pipeline at a very high level.
=== Step 1: Creating the pipeline model file
aiSSEMBLE(TM) uses Model Driven Architecture (MDA) to accelerate development. Pipeline models are JSON files used to
drive the generation of multiple aspects in your project - including the pipeline code module and deployment modules.
. Create a new JSON file in your project's `pipeline-model` directory.
** Sample path: `test-project/test-project-pipeline-models/src/main/resources/pipelines` +
. Create the model pipeline data within the newly added JSON file. For detailed options, see the pipeline
xref:pipeline-metamodel.adoc[metamodel documentation].
.. *Note:* Ensure the name of the JSON file matches the `"name"` of the pipeline.
*_Example:* Shown below is the SimpleDataDeliveryExample pipeline._

._View SimpleDataDeliveryExample.json_
[%collapsible]
====
[source]
----
{
"name":"SimpleDataDeliveryExample",
"package":"com.boozallen.aissemble.documentation",
"type":{
"name":"data-flow",
"implementation":"data-delivery-spark"
},
"steps":[
{
"name":"IngestData",
"type":"synchronous",
"dataProfiling":{
"enabled":false
}
}
]
}
----
====
=== Step 2: Generating the pipeline code
After creating your model pipeline, execute the build to trigger the creation of the Maven modules that accompany it.
. Run the maven build to execute the MDA generation engine.
.. `mvn clean install`
. The MDA generator will take several build iterations to fully generate your project, and requires that you modify
certain files to enable this generation. These *Manual Actions* are meant to guide you through that process, and will
only need to be performed after changes to your pipeline model(s).
[source]
----
***********************************************************************
*** MANUAL ACTION NEEDED! ***
***********************************************************************
----
[start=3]
. Re-run the build and address all manual actions until they have been resolved.
38 changes: 38 additions & 0 deletions docs/modules/ROOT/pages/aissemble-approach.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
= aiSSEMBLE(TM) Approach

aiSSEMBLE is a lean manufacturing approach for holistically designing, developing, and fielding AI. The aiSSEMBLE Baseline
is a framework which builds on the software and machine learning engineering best practices and lessons learned,
providing and maintaining reusable components, rather than a one-size-fits-all platform. In return, various members of
your team, including solution architects, DevOps engineers, data/software engineers, and AI/ML practitioners can easily
leverage these components to suit your business needs and integrate with any other tools that meet the needs of your
project.

== Baseline Fabrications
The Baseline represents the Factory component in the diagram below. aiSSEMBLE leverages
xref:aissemble-approach.adoc#_configurable_tooling[configurable tooling] in the fabrication process to generate key
scaffolding and other components that are tailored to your project. aiSSEMBLE also establishes a build process that
produces deployment-ready artifacts.

image::aissemble-solution-architecture.png[align="left",width=1366,height=768]


[#_configurable_tooling]
=== Configurable Tooling
With the fast-moving landscape of tools and techniques within AI, a process that can quickly change at the speed of AI
is needed. aiSSEMBLE understands it is crucial that the nuances of existing customer environments and preferences can be
incorporated into AI projects as an integral concept. The Baseline’s Configurable Tooling is realized by using
https://www.omg.org/mda/[Model Driven Architecture,role=external,window=_blank] to describe your AI system with simple
JSON files. These files are then ingested to generate Python, Java, Scala, or any other type of file. Configurable
tooling exists for a vast array of components leveraging popular implementation choices, which can be used as-is or
tailored to specific needs.

=== Reusable Components
Reusable components represent the "ready-to-deploy" artifacts within aiSSEMBLE. These reusable components can be used in
a project directly. These include, but are not limited to, data lineage, AI model versioning, and bias detection.

== aiSSEMBLE Landscape
aiSSEMBLE is not a platform, but rather a framework that integrates with various technologies. The graphic below
demonstrates the representative set of technologies aiSSEMBLE integrates with. This set is always evolving to
keep pace with the rapidly changing AI space.

image::aissemble-landscape.png[align="left",width=1366,height=768]
4 changes: 2 additions & 2 deletions docs/modules/ROOT/pages/aissemble-versions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ https://github.com/boozallen/aissemble/releases[Releases page,role=external,wind
## Preview of Next Release
Given the fragile nature of GitHub Release Notes (no version control), we track our in-flight changes in a vesioned
document within the codebase. Check out https://github.com/boozallen/aissemble/releases[DRAFT Release Notes,role=external,window=_blank]
to see what's coming in the next release.
document within the codebase. Check out https://github.com/boozallen/aissemble/blob/dev/DRAFT_RELEASE_NOTES.md[DRAFT
Release Notes,role=external,window=_blank] to see what's coming in the next release.
10 changes: 5 additions & 5 deletions docs/modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,24 @@ GitHub issue,role=external,window=_blank] for more information.
* **aiSSEMBLE** – (pronounced assemble) is Booz Allen’s lean, manufacturing-inspired approach for holistically designing,
developing, and fielding AI solutions across the engineering lifecycle: from data processing (DataOps) to model building,
tuning, and training (ModelOps, MLOps), to secure operational deployment (DevSecOps).
* **https://github.com/boozallen/aissemble[Solution Baseline,role=external,window=_blank]** - An evolving,
* **https://github.com/boozallen/aissemble[aiSSEMBLE Baseline,role=external,window=_blank]** - An evolving,
versioned, core set of capabilities that can serve as an implementation's foundation, enabling the rapid standup of an
operational data delivery, data preparation, and/or machine learning (ML) pipelines.
== aiSSEMBLE Overview
[.lead]
The aiSSEMBLE Solution Baseline is an accelerant that helps AI projects by leveraging pre-packaged and tailored
The aiSSEMBLE Baseline is an accelerant that helps AI projects by leveraging pre-packaged and tailored
components, allowing a shift in focus towards value-added tasks, rather than labor-intensive, boilerplate tasks.
The Solution Baseline also lowers the barrier for including features that are otherwise treated as nice-to-have items,
The Baseline also lowers the barrier for including features that are otherwise treated as nice-to-have items,
as teams often do not have time to incorporate them (e.g., drift detection, bias detection, provenance capture).
The Solution Baseline is the key enabler for the aiSSEMBLE manufacturing process: a modern take on a holistic,
The Baseline is the key enabler for the aiSSEMBLE manufacturing process: a modern take on a holistic,
integrated lean software manufacturing process that can deliver a variety of AI products at high velocity. The graphic
below demonstrates the steps to kick off an aiSSEMBLE project.
// .aiSSEMBLE Notional Architecture
image::solution-baseline-process-overview.png[align="center",alt="Solution Baseline Overview",width=1366,height=768]
image::solution-baseline-process-overview.png[align="center",alt="Baseline Overview",width=1366,height=768]
== New project with aiSSEMBLE
Expand Down
Loading

0 comments on commit b63c0f7

Please sign in to comment.