Gallery Tutorial [TECHNICAL SLIDE TRAIL] The Webel libraries for Wolfram Mathematica: With SysMLv1 models. Section SECTION: The Webel Abstract Data Type (ADT) stateless pseudo-classes with inheritance (with SysMLv1 models) Tags and keywords UML keywords Stereotype Stereotype:icon SysML keywords Block Mathematica keywords expression Webel Mathematica keywords ADT` Webel ADT Keywords Wolfram Wolfram Language Mathematica Webel::SysML4Mathematica Webel IT Australia Abstract Data Types Webel:ADT Click on the image to view it full size TIP: Mathematica: The IntelliJ IDEA Plugin for Mathematica is HEAPS better than the Eclipse-based Wolfram Workbench (at least for the Wolfram Language as used by Webel projects)! Up next Webel ADTs include inheritance (and aren’t actually formal ADTs) Notes [TIP]{INFORMATIVE} Mathematica: TIPS for living with the user-contributed MTools for Object-Orientation (until a vendor-supported OO solution is eventually provided) [PATTERN, TIP, TOOL]{INFORMATIVE} Webel + Mathematica + MTools + SysML [TIP, TOOL]{RECOMMENDED} TIP: Mathematica: The IntelliJ IDEA Plugin for Mathematica is HEAPS better than the Eclipse-based Wolfram Workbench (at least for the Wolfram Language as used by Webel projects)! Snippets (quotes/extracts) Visit also Mathematica: POLICY NOTES for the Webel Abstract Data Type (ADT) pseudo classes with inheritance for the Wolfram Language Dr Darren of Webel IT Australia makes the case for better object-orientation for Mathematica using pseudo class ADTs without losing the super-functional power of the Wolfram Language Visit also (backlinks) Related slides (includes other tutorials) Introduction to Webel Abstract Data Types (ADTs) with SysMLv1 models Related slides (backlinks, includes other tutorials) Webel ADTs include inheritance (and aren’t actually formal ADTs) Webel ADT hierarchy views as tree, graph, and SysML Webel ADT`package: Some ADT pseudo class utility functions in a ::usage help viewer. Diagnostic, help, and development functions. Mini SysMLv1 BDD view of the Webel ADT Block SysMLv1 Internal Block Diagram (IBD) of the Webel ADT base class Simple Webel ADT in the development view dV[adt] and class/methods help hC[adt] Classes in the ADT` package: Extendable ADT pseudo classes have corresponding "definer functions" Extending ADT sub-classes represented as SysML Blocks with redefined wrapped ‘$$’ Creating new ADTs that extend other classes using a definer function (and adt$addSuper) Webel «adt:pseudo» elements in the SysMLv1 ADT model (1) Webel «adt:pseudo» elements in the SysMLv1 ADT model (2) Chained wrapped ADT pseudo Lists: Example: EX` package structured data ADTs Chained wrapped ADT pseudos as a SysMLv1 Internal Block Diagram (IBD) Clients of List ADTs don’t usually directly access the wrapped Lists (but can for testing with ADT⊙get which BREAKS ENCAPSULATION) Webel ADT SysMLv1 Stereotypes adt$graphHierarchy example: The EX` package for structured data ADT finder functions and “methods” adt$findUp, adt$findUpArg, ADT⊙fM ADT help functions and methods: adt$treeHierarchy (adt$tH), adt$hC, ADT⊙hC: Example: XL$Cell ADT`: helpADT[class]: help on methods registered with HelpO`: Example: XL$Cell adt$store, adt$fetch, and «adt:ref»: Example: Reference XL$ResourcesMap by ID in US$ResourcesHolder. External links Programming in Mathematica, Third Edition by Roman Maeder IntelliJ IDEA Plugin for the Wolfram Language [GOOD!] Flags Book traversal links for Webel Abstract Data Types (ADTs) vs the user-contributed MTools for OO Previous Up Next