Index-based instance identification allows for the efficient retrieval of object instances from an instance population. Object instances using index-based instance identification contain an “identifier” attribute - indicated by the IndexID marking -
that uniquely identifies the instance. This marking will result in the generation of an instance population structure that uses the C++ Standard Template Library std::map, reducing FIND/WHERE constructs based on the id attribute to map lookup
via std::map::find().
Alternatively when used in conjunction with the MaxIndex class marking, this will result in the generation of an instance population structure using an array, reducing FIND/WHERE constructs based on the id attribute to a direct array element access.
This Technical Note describes the Message formats used in PathMATE Multi-Process deployments when communicating between any two process instances.
Section 2 provides an overview of the different message protocol layers involved during
transmission defining basic terminology and the basic concepts.
Section 3 describes in the detail the PathMATE Application Messaging Protocol and all supported message formats, as defined for the CPP Transformation Maps in 8.2.0 software releases.
Appendix A lists sources for referenced information for Ethernet and TCPIP protocols.
This Technical Note describes the Message formats used in PathMATE Multi-Process
deployments when communicating between any two process instances.
Section 2 provides an overview of the different message protocol layers involved during
transmission defining basic terminology and the basic concepts.
Section 3 describes in the detail the PathMATE Application Messaging Protocol and all supported message formats, as defined for the CPP Transformation Maps in 8.2.0 software releases.
Appendix A lists sources for referenced information for Ethernet and TCPIP protocols.
This Technical Note describes extensions to PathMATE’s C and C++ Maps to improve
static buffer management. These extensions support task-local memory management pools. They are based on the buffer manager.
The goals of this feature are to:
Reduce the run-time overhead associated with dynamic memory allocation, which normally goes through the BufferManager, an intertask-safe resource.
Allow for the specific sizing and allocation of dynamic memory blocks for specific classes.
This Technical Note outlines binary instance data loading capabilities. Creation of instances for PIM domain classes is a key capability for PI-MDD systems, and different systems – and even different domains within a system – require different solutions to meet the overall functional and performance requirements.
The binary instance data can be sent to the application as a socket-based stream, or loaded via a process-local file. Binary instance loading provides the most concise data format and best performance for loading and inter-processor transport of large instance populations.
The PI-MDD method for constructing software for complex and high performance systems
separates the complexities of the problem space subject matters from the strategies and
details of the implementation platforms the system executes within.
In PI-MDD one of the most fundamental disciplines pushes nearly all aspects of this complexity from the modeling space. So how is this clearly important, nearly ubiquitous, and non-trivial concern addressed with PI-MDD and PathMATE? The distributed deployment of PI-MDD models to multiple execution units is managed with an integrated set of model markings (properties), specialized code generation rules/templates and a flexible set of implementation mechanisms. The PIMDD models remain independent of this target environment topology, and can be deployed to
a range of topologies to support unit testing, system testing, and alternative deployment architectures.
This Technical Note describes the Message formats used in PathMATE Multi-Process deployments when communicating between any two process instances.
Section 2 provides an overview of the different message protocol layers involved during
transmission defining basic terminology and the basic concepts.
Section 3 describes in the detail the PathMATE Application Messaging Protocol and all supported message formats, as defined for the CPP Transformation Maps in 8.2.0 software releases.
Appendix A lists sources for referenced information for Ethernet and TCPIP protocols.
This Technical Note describes the Message formats used in PathMATE Multi-Process
deployments when communicating between any two process instances.
Section 2 provides an overview of the different message protocol layers involved during
transmission defining basic terminology and the basic concepts.
Section 3 describes in the detail the PathMATE Application Messaging Protocol and all supported message formats, as defined for the CPP Transformation Maps in 8.2.0 software releases.
Appendix A lists sources for referenced information for Ethernet and TCPIP protocols.
This Technical Note describes extensions to PathMATE’s C and C++ Maps to improve
static buffer management. These extensions support task-local memory management pools. They are based on the buffer manager.
The goals of this feature are to:
Reduce the run-time overhead associated with dynamic memory allocation, which normally goes through the BufferManager, an intertask-safe resource.
Allow for the specific sizing and allocation of dynamic memory blocks for specific classes.
This Technical Note outlines binary instance data loading capabilities. Creation of instances for PIM domain classes is a key capability for PI-MDD systems, and different systems – and even different domains within a system – require different solutions to meet the overall functional and performance requirements.
The binary instance data can be sent to the application as a socket-based stream, or loaded via a process-local file. Binary instance loading provides the most concise data format and best performance for loading and inter-processor transport of large instance populations.
The PI-MDD method for constructing software for complex and high performance systems
separates the complexities of the problem space subject matters from the strategies and
details of the implementation platforms the system executes within.
In PI-MDD one of the most fundamental disciplines pushes nearly all aspects of this complexity from the modeling space. So how is this clearly important, nearly ubiquitous, and non-trivial concern addressed with PI-MDD and PathMATE? The distributed deployment of PI-MDD models to multiple execution units is managed with an integrated set of model markings (properties), specialized code generation rules/templates and a flexible set of implementation mechanisms. The PIMDD models remain independent of this target environment topology, and can be deployed to
a range of topologies to support unit testing, system testing, and alternative deployment architectures.
Very often, source code lacks comments that adequately describe its behavior. In such situations developers need to infer knowledge from the source code itself, or to search for source code descriptions in external artifacts. We argue that messages exchanged among contributors/developers, in the form of bug reports and emails, are a useful source of information to help understanding source code. However, such communications are unstructured and usually not explicitly meant to describe specific parts of the source code. Developers searching for code descriptions within communications
face the challenge of filtering large amount of data to extract what pieces of information are important to them. We propose an approach to automatically extract method descriptions from
communications in bug tracking systems and mailing lists. We have evaluated the approach on bug reports and mailing lists from two open source systems (Lucene and Eclipse). The
results indicate that mailing lists and bug reports contain relevant
descriptions of about 36% of the methods from Lucene and 7%
from Eclipse, and that the proposed approach is able to extract such descriptions with a precision up to 79% for Eclipse and 87% for Lucene. The extracted method descriptions can help
developers in understanding the code and could also be used as a starting point for source code re-documentation.
As your data grows, the need to establish proper indexes becomes critical to performance. MongoDB supports a wide range of indexing options to enable fast querying of your data, but what are the right strategies for your application?
In this talk we’ll cover how indexing works, the various indexing options, and use cases where each can be useful. We'll dive into common pitfalls using real-world examples to ensure that you're ready for scale.
Chetan Mehrotra, Senior Computer Scientist, and Alex Parvulescu, Senior Developer, Adobe presented on Jan 20, 2016. They describe the features of Oak Lucene indexes and how they can be used to get your queries perform better. In the second part we will talk about how asynchronous indexing works in general and how it can be monitored.To view the on-demand session go to: http://bit.ly/AEMGems1202016 or for the MP4 version http://bit.ly/AEMGemsMP41202016
We describe the features of Oak Lucene indexes and how they can be used to get your queries perform better. In the second part we will talk about how asynchronous indexing works in general and how it can be monitored.
This was presented as part of AEM Gem Series -http://dev.day.com/content/ddc/en/gems/oak-lucene-indexes.html
This Article explores the Test Automation challenges associated with the GridGain Control Centre (https://www.gridgain.com/).
The test framework is based on BDD/Selenide/Java/IntelliJ.
The exploratory tests look at five key User Journeys in the application.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Very often, source code lacks comments that adequately describe its behavior. In such situations developers need to infer knowledge from the source code itself, or to search for source code descriptions in external artifacts. We argue that messages exchanged among contributors/developers, in the form of bug reports and emails, are a useful source of information to help understanding source code. However, such communications are unstructured and usually not explicitly meant to describe specific parts of the source code. Developers searching for code descriptions within communications
face the challenge of filtering large amount of data to extract what pieces of information are important to them. We propose an approach to automatically extract method descriptions from
communications in bug tracking systems and mailing lists. We have evaluated the approach on bug reports and mailing lists from two open source systems (Lucene and Eclipse). The
results indicate that mailing lists and bug reports contain relevant
descriptions of about 36% of the methods from Lucene and 7%
from Eclipse, and that the proposed approach is able to extract such descriptions with a precision up to 79% for Eclipse and 87% for Lucene. The extracted method descriptions can help
developers in understanding the code and could also be used as a starting point for source code re-documentation.
As your data grows, the need to establish proper indexes becomes critical to performance. MongoDB supports a wide range of indexing options to enable fast querying of your data, but what are the right strategies for your application?
In this talk we’ll cover how indexing works, the various indexing options, and use cases where each can be useful. We'll dive into common pitfalls using real-world examples to ensure that you're ready for scale.
Chetan Mehrotra, Senior Computer Scientist, and Alex Parvulescu, Senior Developer, Adobe presented on Jan 20, 2016. They describe the features of Oak Lucene indexes and how they can be used to get your queries perform better. In the second part we will talk about how asynchronous indexing works in general and how it can be monitored.To view the on-demand session go to: http://bit.ly/AEMGems1202016 or for the MP4 version http://bit.ly/AEMGemsMP41202016
We describe the features of Oak Lucene indexes and how they can be used to get your queries perform better. In the second part we will talk about how asynchronous indexing works in general and how it can be monitored.
This was presented as part of AEM Gem Series -http://dev.day.com/content/ddc/en/gems/oak-lucene-indexes.html
This Article explores the Test Automation challenges associated with the GridGain Control Centre (https://www.gridgain.com/).
The test framework is based on BDD/Selenide/Java/IntelliJ.
The exploratory tests look at five key User Journeys in the application.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
3. Index-based Instance Identification
1. Introduction
Index-based instance identification allows for the efficient retrieval of object
instances from an instance population. Object instances using index-based instance
identification contain an “identifier” attribute - indicated by the IndexID marking -
that uniquely identifies the instance. This marking will result in the generation of an
instance population structure that uses the C++ Standard Template Library
std::map, reducing FIND/WHERE constructs based on the id attribute to map lookup
via std::map::find().
Alternatively when used in conjunction with the MaxIndex class marking, this will
result in the generation of an instance population structure using an array, reducing
FIND/WHERE constructs based on the id attribute to a direct array element access.
The following diagram show how the index-based instance population management
manages the instance table. The class is defined to have an attribute named “ID”
which is marked as the instance identifier. When instances of the class are created,
the value of the “ID” attribute is used to determine the location in the population
table where the instance will reside.
Instance 0
Instance 0 ID = 0
Instance 1
…
Instance n
Instance n ID = MaxIndex-1
Instance
Population
Table
When PAL FINDs are used to locate an instance using the “ID” attribute in a where
clause, the implementation can perform a rapid index-based retrieval of the object
rather than performing the usual linear table search strategy.
2. Usage
To enable index-based instance identification, one of the class’ attributes must be
marked with the IndexID value set to “TRUE”. Normally, this marking takes place
in the properties.txt file during transformation.
Optionally the class can use the MaxIndex marking to enable array-based instance
management.
1
4. Index-based Instance Identification
Transformation-time errors are logged using the Transformation Engine’s
LOG_MESSAGE statement in the following cases:
More than one attribute is marked with the IndexID marking.
The attribute marked with the IndexID marking is not typed as an integer.
An attribute is marked with IndexID but the MaxIndex marking is not
enabled.
At runtime, it is an error to:
Create an instance whose index is negative or greater than the limits imposed
by the MaxIndex marking.
Create multiple instances with the same index value.
3. Implementation
Index-based instance identification affects several areas of the design including:
how instances plug themselves into the instance population set.
how WHERE clauses are processed when the index attribute is specified in the
clause
how instances unplug themselves from the instance population
New Mechanism - PfdInstanceMap
For non-array based storage the PfdInstanceMap class is used. This class
encapsulates the usage of the std::map.
Instance creation - array
The instance “plug-in” handling for object instances changes when the
IndexID marking is used. Without the index ID marking, an object instance
is inserted into the first available slot in the table. With the IndexID
marking, the instance is inserted at the offset specified by the value of the
index attribute. If the slot is already occupied, the plug-in code should not
overwrite the existing instance. With the IndexID marking, the instance
table may be sparsely populated. Any iteration over the instance table must
guarantee that empty entries are handled gracefully.
Class-based finds
The generation of class-based finds will be modified to detect cases where the
find operation can be optimized with index-based lookups for the instance
population. Given the case where a find expression’s “WHERE” clause
contains only the IndexID attribute in an equivalence comparison, the
implementation can efficiently retrieve the instance from the table without
having to search the entire population. Additional optimization should be
possible for where clauses that contain the IndexID attribute when used in
conjunction with a logical-and operation.
Instance deletion - array
The instance deletion (“unplug”) handling must clear the object instance from
its slot in the instance table. This must be done without altering the offsets of
any subsequent entries in the instance population.
2
5. Index-based Instance Identification
4. Implementation Notes
Assignment to an attribute marked with the IndexID marking is not
supported. This attribute should be treated as a constant and not changed
over the lifetime of the instance.
3