Syntax
Method
A MethodSketch consists of many StaticAspect and UseCase blocks, if there is only one StaticAspect naming the block is optional
StaticAspect
Define an Architecture
StaticAspect { }
Define an named Architecture aspect
StaticAspect First { }
StaticAspect Second { }
StaticAspect "Third with space" { }
Defining Components
Client, Manager, Engine, Access, Resource and Utility are the only valid architecture Components as long as they are seperated with whitespace any token ending in a component name will be recognised.
StaticAspect {
ApiClient WebClient
FeedManager AdminManager
TransformationEngine ValidationEngine
CustomerAccess SupplierAccess
CustomerResource SupplierResource
SecurityUtility
}
Resource Components
StaticAspect {
NosqlResource:n
}
StaticAspect {
FileResource:f
}
StaticAspect {
ApiResource:a
}
UseCase
Define a use case
UseCase First { }
UseCase "With Spaces" { }
Synchronous call
UseCase First {
ApiClient -> FeedManager
}
Asynchronous call
UseCase First {
ApiClient -:q> FeedManager
}
CallDetail - Synchronous OperationName
UseCase First {
ApiClient - MyOperation() > FeedManager
}
CallDetail - Asynchronous OperationName
UseCase First {
ApiClient - Operation() :q> FeedManager
}
CallDetail - Facet and OperationName
UseCase First {
ApiClient - IFacet.MyOperation() > FeedManager
}
CallDetail - Context, Facet and OperationName
UseCase First {
ApiClient - Context.IFacet.MyOperation() > FeedManager
}
CallDetail - Request Type
UseCase First {
ApiClient - MyOperation(OperationRequest) > FeedManager
}
CallDetail - Request Type and parameter name
UseCase First {
ApiClient - MyOperation(OperationRequest request) > FeedManager
}
CallDetail - Context RequestType and parameter name
UseCase First {
ApiClient - MyOperation(Context.OperationRequest request) > FeedManager
}
CallDetail - ResponseType
UseCase First {
FeedManager -OperationResponse MyOperation() > TransformationEngine
}
CallDetail - Context.ResponseType
UseCase First {
FeedManager -Context.OperationResponse MyOperation() > TransformationEngine
}
CallDetail - Generic Wrapper Context.ResponseType
UseCase First {
FeedManager -Response<Context.OperationResponse> MyOperation() > TransformationEngine
}