an asl apetizer
TRANSCRIPT
-
8/4/2019 An ASL Apetizer
1/17
-
8/4/2019 An ASL Apetizer
2/17
Overview
What is ASL?
What can I do with ASL?
Demo
-
8/4/2019 An ASL Apetizer
3/17
What is ASL?
Adapter Scripting Language
Not a general purpose language
Limited I/O (no user interaction) No library support
The native scripting language of InCharge
-
8/4/2019 An ASL Apetizer
4/17
Unique Strengths of ASL
A Parser Makes it easy to parse files of any format
As powerful as regular expressions but easier to
read! Can connect two InCharge processes Many built in connections are implemented in ASL
Embedded in all of the InCharge binaries Runs inside of an InCharge server
Always available in any InCharge environment
-
8/4/2019 An ASL Apetizer
5/17
InCharge Binary
What are the InCharge binaries?
sm_server SAMIP AM/PM
NPM
sm_adapter
Trap Adapter
Syslog Adapter
EMOM Adapter
sm_trapd
brstart Broker
-
8/4/2019 An ASL Apetizer
6/17
InCharge Binary
What are the InCharge binaries?
sm_server
sm_adapter
sm_trapd
brstart
PlatformBinary
-
8/4/2019 An ASL Apetizer
7/17
A Peek Inside.
Client API
Server API
ModelModelModel
ReposASLInterpreter
Correlation
Engine
ASL Threads
sm_whatever
-
8/4/2019 An ASL Apetizer
8/17
What can ASL do?
-
8/4/2019 An ASL Apetizer
9/17
Interact with a remote repository
Client API
Server API
Repos
sm_whateverrouters = getInstances(Router);foreach r (routers) {
rObj = object(Router, r);}
Client
Server
sm_adapter s REMOTE_SERVER
-
8/4/2019 An ASL Apetizer
10/17
Interact with the local repository
Client API
Server API
Repos
sm_whateverrouters = self->getInstances(Router);foreach r (routers) {
rObj = self->object(Router, r);}
sm_adapter
-
8/4/2019 An ASL Apetizer
11/17
Subscribe to Topology and/or Events
Client API
Server API
Repos
sm_whateverSTART {
timeStamp : integer fs
NOTIFY fs
class : word fs
instance : word fs
event : word fs
conf : integer fs
}Client
Server
sm_adapter -subscribe=.*::.*::.*/pae
-
8/4/2019 An ASL Apetizer
12/17
Read/Parse a file
Client API
Server API
Repos
sm_whatever
START {h : wordc : word..eol
} do {adp->addPending(h,c,Read from file);
}
plan_r.afnoc.mil poe
fluid.gnt.mil poe
essence.brk.mil poe
sm_adapter --file=jdr.txt
-
8/4/2019 An ASL Apetizer
13/17
Write to a file
Client API
Server API
Repos
sm_whateverfo = create(ACT_File, myFileObj);Fo->fileName = myAdapter.log;
foreach n (getInstances(Node) {
obj = object(n);
fo->writeln(obj->CreatonClass.\t.n);}
Router gw1-i-fw-001
Host im2-i-fms-001
sm_adapter m sm_actions
-
8/4/2019 An ASL Apetizer
14/17
Launch other ASL threads
Client API
Server API
Repos
sm_whateverdrv = create(GA_Driver, myDrv);drv->ReadsRulesFrom = create(GA_RuleSet, myRules);
drv->ReadsRulesFrom->fileName=foo.asl;
drv->start();
-
8/4/2019 An ASL Apetizer
15/17
Demo
-
8/4/2019 An ASL Apetizer
16/17
Summary
We now know what is ASL
We now know what can ASL do
We have seen code examples More questions.?
-
8/4/2019 An ASL Apetizer
17/17
For Further Information
ASL Reference Guide
asl_ref.pdf
Found in products doc/pdf directory