Imagine...
...a world where you could travel from Stockholm to Oslo in 30 mins.
Suddenly you could live anywhere, work anywhere, and visit anywhere.
THE PROBLEM
Travel is inconvenient and uncomfortable.
Roads and cities are congested, current travel experience is contemptible, air pollution is drastically harming human and environmental health.
The time to revolutionize transportation and bring the world closer together is here, and rLoop is making it a reality
OUR SOLUTION
Connecting the world as never before possible
Stay in the loop, sign up for our newsletter:
Ready to change the world?
Join the rLoop team


Test Cases
Algorithm
Documentation
Timing Analysis
Remarks
References
CS 364:Design & Analysis Of Algorithms
Assignment-1
Implementation of paper on
Optimal Divide-and-Conquer to Compute Measure and Contour for a Set of Iso-Rectangles
by Ralf Hartmut Guting
• Ashish Verma
2018A7PS009H
• Ashna Swaika
2018A7PS0027H
• Kumar Pranjal
2018A7PS0163H
• Abhishek Bapna
2018A7PS0184H


Using The Application Software
Epson Creative Print App For Android Mobile And Cloud Solutions Printers Support Epson Us
User S Guide
Epson Easy Photo Print Module Windows 7 Download Fasrni
Epson Easy Photo Printの使い方 Print Image Framer プリント活用 エプソン
Easy Photo Scan Download Epson Easy Photo Scan Allows You To Easily Scan Your Originals Using Epson Scan
Skachat Epson Creativity Suite
Epson Creativity Suite Download Mac
よくある質問 Faq エプソン
Epson Stylus Photo Px800fw Creativity Suite Driver V 1 30 For Windows 7 32 64 Bit Vista Xp 32 64 Bit 2000 Xp Media Center Free Download
Epson Connect Creative Print App Epson Us
Epson Copy Utility 4 0 Download Free Ecopy Exe
Epson Creative Print On Windows Pc Download Free 6 7 4 Com Epson Mobilephone Creative
エプソンのカラリオ付属ソフトウェア Epson Creativity Suite を試す ソフトウェア Macお宝鑑定団 Blog 羅針盤
Epson Workforce Wf 7720 Workforce Series All In Ones Printers Support Epson Us
Epson Easy Photo Print Software For Mac Peatix
Epson Et 3760 Driver Download Windows Mac Support Epson
Epson Easy Photo Print Module Windows 7 Download Treeca
Epson Expression 1680 Professional Product Information Manualzz
Dvuapeqpbdnsfm
Piezo All In One Epson Stylus Photo Tx720wd Print Copy Pages 1 2 Flip Pdf Download Fliphtml5
Epson Stylus Photo R240 Driver Downloads Download Soft 64 Bit
Epson Creative Print 6 7 3 Free Download
Download Adobe Creative Cloud Individual Subscription 1 User Dell Usa
Epson Perfection V200 Photo Flatbed Scanner B11b188011 B H Photo
Epson Stylus Photo R360 Driver Downloads Download Soft 64 Bit
Adobe Creative Cloud Student And Teacher Edition Membership 1 Year Subscription Download Office Depot
Epson Stylus Sx205 Driver Download Windows Mac Epson Driver Com
Epson Wf 2760 Driver Download Sourcedrivers Com Free Drivers Printers Download
Epson Wf 7720 Drivers Download Free Printer Driver Printer Hp Printer


Toggle navigation
Landing Page
XMPL on GitHub
Twitter
Facebook
Refer a friend
Thanks {{xmp.r['First Name']}}. We will be with {{xmp.referredRecipient['First Name']}} {{xmp.referredRecipient['Last Name']}} soon.
Back To Landing Page


Microsoft Dynamics CRM Web Resources Updater gives you an easy way to work with web resources directly from Visual Studio. The main reason this tool was created is JavaScript's development process speed up.
As soon as you have add-on installed you will get new menu items for each project:
Use "Updater options..." menu item to setup connection to Microsoft Dynamics CRM. Once connection is configued you can use all functionality of the tool.
To upload all web resources you have in project just press "Update Web Resources".
You can publish selected web resource, to do that just right click on web resource and press "Update Web Resource(s)" menu item:
Tool allows to download particular web resources. Select one or more files and select "Download web resource(s)" menu item.
You can also use menu item "Download web resources..." on project or folder level. It gives you additional options for web resources filtering:
Add-on defines web resource to be updated by comparing file name (with extension) and web resource name. Let's say we have ec ̲ contact.js in the project. Add-on will look for a web resource with name ec ̲ contact.js to update its content.
You can set-up tool to search web resource by file name with and without extension:
You can also use mapping file to map files in your project to web resources (see section "Mapping File" below).
To configure add-on for a project right-click on project and select "Updater Options...". Following window will be opened:
Press "New connection" as shown:
Connection wizard will be opened:
Once connection is cretaed it will be listed in the grid as shown:
Select just created connection using dropdown list. Set check box if you want updated web resources to be published. Press button "Save".
That's all. Now you are ready to use add-on.
Mapping files allows having custom mapping between files in your project and web resources names. To create mapping file just press on “Create mapping File”:
New file will be added to your project. Use following syntax to define mapping:
<Mapping localPath="scripts\contact.js" webResourceName="new_contact"/><Mapping localPath="account.js" webResourceName="new_account"/>
If you have any issue with addon, question or comment feel free to leave a comment at the Q&A section.


TOP is a web-based platform offering users from the atmospheric sciences domain a Virtual Research Environment (VRE) to exploit Copernicus atmospheric and climate data products, such as COPERNICUS Sentinel-5 Precursor data and CAMS products. Deployed on the MUNDI DIAS, it is the first operational platform implementing the data triangle (EO, model and in-situ data) and hence creates an atmospheric multi-source data cube, stimulating a multidisciplinary scientific approach due to the availability of various collections. The keypoints of TOP are:
TOP offers:
Use TOP for your specific project in a collaborative way – Stop worrying about data preparation and sharing during your project duration! In addition to existing data, TOP offers you to upload owned data, perform processing, compare and download results. Use TOP for specific services – You are looking for a cost efficient and presentation effective way of presenting atmospheric products from multiple sources? This is the right place for you!
Explore and exploit satellite, model & in-situ data simultaneously and on-the-fly!
Whether you prefer the Command Line Interface, the Jupyter Notebook Interface or a Graphical User Interface, we got you covered!
{% endblock %}


Athens was not immune to that phenomenon.
In the early months of the pandemic, southeast Ohioans initiated several new initiatives to facilitate mutual aid, or a form of support in which communities unite against a common struggle, rather than leaving individuals to fend for themselves. Mutual Aid Southeast Ohio began in March 2020 as a Facebook group where people could offer resources and request help. In July 2021, the Athens Healthcare Support Network was launched as a health-oriented mutual aid initiative.
Plans for mutual aid are still emerging too, as more needs of the community become recognized. Ohio University's Young Democratic Socialists of America have ideas to implement a food rescue program based on mutual aid philosophies in collaboration with OU dining halls and Athens residents.
“It is a community showing up to help each other out,” Emma Schultz, co-founder of AHSN, said. “It's different from charity because it's not a one-way relationship. With mutual aid, it's members of the community all showing up for each other; someone who is able to provide help for someone else one day, might need help the next day.”
The need for mutual aid is birthed from systemic failures to provide people with the resources they need to survive, according to a 2020 Huffington Post article.
“I think that is necessary in a world where the systems that are supposed to take care of us, do not take care of most of us,” Schultz said. “Coming together as a community is beneficial, not only for meeting each other's needs in a mutual aid kind of way, but also just to have human connections.”
Because of that, collective care has a deep history in marginalized communities. In the early 1920s, “sociedades mutualistas” flourished in Mexican American communities, emphasizing cooperation, education and economic protection. Later in the century, the Black Panther Party supported a number of “survival programs,” including the provision of free breakfast for schoolchildren and a protection network of seniors.
Mutual Aid Southeast Ohio: pandemic-prompted Facebook group sees continued use
Mutual aid seeks to fulfill specific needs with resources that other community members can offer them, making a centralized means of communication important in current efforts. That’s why Mutual Aid of Southeast Ohio launched its Facebook page first, inviting people to connect before collecting information from group members and establishing other avenues of support.
“We wanted to get a sense of: what are all the needs? And what are all the things that people can offer? And how do we try to close the gaps with those things?,” Will Myers, one of the initial organizers of Southeast Ohio Mutual Aid, said.
During the group’s infancy, members were eager to offer services like cooking meals and extending monetary support to people who indicated a need. During the months it was active, Mutual Aid Southeast Ohio’s financial solidarity project distributed $3,127 via person-to-person payments, Myers said.
Although hope for the pandemic’s end is ever-present, the needs and resources of community members have not disappeared over its course. The Mutual Aid Southeast Ohio Facebook group remains active today, with over 1,800 members having access to the page. Recent posts focus on sharing resources about getting the COVID-19 vaccination, requests for furniture and offers of baby goods.
Athens Healthcare Support Network: seeking to reduce healthcare access disparities in Appalachian Ohio
Organized mutual aid initiatives are also continuing to emerge in Athens. In July 2021, the Athens Healthcare Support Network launched, seeking to create a health-oriented mutual aid effort. AHSN offers three pathways for engagement: financial support, a resource list of healthcare providers in the area and a Facebook group to facilitate conversations about healthcare and healthcare providers.
Schultz felt compelled to help found AHSN after feeling “overwhelmed and disheartened” thinking about the slow pace of “systemic and structural” change in the American healthcare system.
“People are suffering every day from medical debt and just struggling to figure out where to go to the doctor and what doctors are going to treat them well,” Schultz said.
The lack of access to healthcare is pronounced in Appalachian Ohio, which includes 32 counties including Athens. The number of primary care physicians per 100,000 people in Appalachian Ohio is 25% lower than the national average, according to a 2017 study conducted by the Appalachian Regional Commission.
AHSN hopes to lessen that disparity by connecting people with resources that will allow them to get the care they need. The group’s Facebook page has nearly 90 members at the time of publication.
Future efforts: OU Young Democratic Socialists of America plans for food rescue program
Still in the brainstorming phase of organizing, the recently-founded OU Young Democratic Socialists of America organization envisions creating a food recovery resource that is based on a mutual aid framework. OU students have access to an excess amount of foods at the dining hall, while many southeast Ohioans experience food insecurity, Dylan Rainey, president of OUYDSA, said.
OUYDSA’s plan to connect those who are hungry with food from OU is multifaceted. To initiate the aid effort, the organization would need to register itself as a nonprofit, which would serve two purposes.
First, the nonprofit status would allow OUYDSA to be protected by the federal Bill Emerson Good Samaritan Food Donation Act and serve as the receiver of food from OU and distributor of food to people who need it. Second, with the protection of the Food Donation Act, OU, acting as the donator of food, would not be held liable for any risks that come with consuming its food when it is distributed to those who need it by a third-party provider.
Although the student organization has not taken any steps to solidify its plan into action yet, the group remains guided by cooperative ideologies in its other undertakings.
“I think about it as it benefits society as a whole, to have everyone not be suffering,” Rainey said. “And that's where the ‘mutual’ comes in for me; we all are better off if we are not all suffering.”
The history of mutual aid in Appalachia
Like other marginalized groups, people from Appalachia have a long history of creating both formal and informal community support networks for survival.
Alison Stine, who grew up in Appalachian Ohio and raised her son there, recalled the occurrence of informal mutual aid efforts before the pandemic in a 2020 Bustle article. Stine wrote that “strangers cooked food for me when my son was a baby, and I was a new single mom. Neighbors still leave hand-me-downs and books on our porch.”
Because Appalachia consists of many small, rural towns, community members know who is in need and help them accordingly.
Additionally, a number of established nonprofits that serve southeast Ohio let mutual aid ideologies guide their work, rather than traditional charity models. Community Food Initiatives of Athens seeks to build community-specific conversations and plans to achieve sustainable access to food within the model of Food Justice.
CFI accepts both monetary and food donations. The financial gifts are utilized to purchase locally-grown produce and distribute it to people who need it, Maribeth Saleem-Tanner, executive director of CFI, said.
“I think our values are very informed by the idea of mutual aid,” Saleem-Tanner said. “CFI really started as a community-based, responsive organization, (asking) ‘How do we build on the strengths we have? How do we utilize relationships? How do we empower people?’ so that we're not in this charity cycle.”
How OU students can become involved in mutual aid efforts
As a part of the Athens community, OU students are able to participate in local mutual aid efforts. The Mutual Aid Southeast Ohio and Athens Healthcare Support Network Facebook groups are accessible to all after a request is sent and accepted. Anyone within either group has the ability to post requests for resources and offer services to people who need them.
Ohio University’s Young Democratic Socialists of America organization is also open to all interested students. The group meets Mondays from 6 p.m. to 7 p.m. in Bentley Hall, room 110.


logo
Cities
Activities
Login
Category
Sport
Historical
Entertainment
Food
Sort
Price
Rank
Rating
1
2
3
4
5
Max Price
100
200
500
1000
2000
Price
Night
Interests
Cities
Luxor
Aswan
Cairo
Alexandria
Hurghada
Season
Winter
Spring
Summer
Fall
of Category
Sports
Historical
Entertainment
Food
includes activities
Sports
Historical
Entertainment
Food
NAME
price


Comme Par Magie differentiates itself from other beers on the shelf. It consists of one bottle of sparkling water and three different flavors of beer extract containing 30% of alcohol.
You can easily enjoy tasteful beer anytime, anywhere by simply spraying it to the sparkling water inside the package.


package data
- Alphabetic
- Public
- All
Type Members
-
abstract
class
AbstractRDFGraph[Rdf <: RDF, D, G <: AbstractRDFGraph[Rdf, D, G]] extends AnyRef
A data structure that comprises a collection of triples.
A data structure that comprises a collection of triples. Note, due to the implementation of the Spark datastructures, this doesn't necessarily mean to be free of duplicates which is why a
distinct
operation is provided. -
trait
Jena extends RDF
Defines the types related to the RDF datamodel in the Apache Jena framework.
Defines the types related to the RDF datamodel in the Apache Jena framework.
This class is inspired by the Banana-RDF project.
- class JenaOps extends RDFOps[Jena]
- trait JenaRDFTripleLike extends TripleOps[Jena]
-
trait
RDF extends AnyRef
Defines the types related to the RDF datamodel.
Defines the types related to the RDF datamodel.
This class is inspired by the Banana-RDF project.
- trait RDFOps[Rdf <: RDF] extends AnyRef
-
case class
RDFTriple(s: String, p: String, o: String) extends Product3[String, String, String] with Product with Serializable
An RDF triple
(s p o)
.An RDF triple
(s p o)
.- s
the subject
- p
the predicate
- o
the object
-
case class
RDFTuple(s: String, o: String) extends Product2[String, String] with Product with Serializable
An RDF tuple
(s o)
, i.e.An RDF tuple
(s o)
, i.e. only subject and object are represented.- s
the subject
- o
the object
- class RDFVocab[Rdf <: RDF] extends AnyRef
-
class
SQLSchema extends AnyRef
The SQL schema used for an RDF graph.
- class SimpleRDF extends RDF
- class SimpleRDFOps extends RDFOps[SimpleRDF]
- trait TripleOps[Rdf <: RDF] extends AnyRef


Home
Login
About
Contact Us
Login Form
Signup Form
Login
SignUp
Forgot password?
Not a member?
Sign-Up
Admin Login


About Us
Are you looking to gain 100s of members on your server in minutes? Your search has ended! Well because Grow+ bot can do all of this. All you have to do is add the bot to your server and join other people's servers to get SPIZE COINS which you can use to get members in YOUR server!
Services
Grow+ is a bot dedicated to grow your server and set a discord wide crypto currency on this bot you can sell anything and everything allowed with discord tos in the market.
Call To Action
Invite our bot to your server for instant growth. Moderation feature are also included and apart of the bot to keep your server moderated.
Team
Our team of highly experencied developers and mangers that have come together to make this highly robust and applicable bot.
DarkBeam
Founder/OwnerOwner of Grow+ bot discord username: DarkBeam#9184
Orem
Founder/OwnerCo-Owner of Grow+ bot discord username: Orem#8193
ZinX
Chief Operating DeveloperDeveloper with multiple years of expereince : ZinX#0006
Dishit
Head DeveloperDeveloper with multiple years of expereince : Dishit#0097
Pricing
Spize coins is an amazing currency where you can buy multiple things. Starting from ads to games and more. Some of the products are listed here.
ADS
- 5$ = your server link or YouTube channel on g+partner command for 24 hours
- 20$ = your server link or YouTube channel on g+partner for 7 days
- 200$ = your server link or YouTube channel on g+partner for 1 whole month
Market
- 10$ for additional slot
- 10$ to increase time on your listings by another dayThis


"Excuse me! Can you please come around to the front of the desk!"
You suddenly hear exclaimed as that someone is startled by you sneaking up on them.


{% extends "base.html" %} {% block content %}
Cars you own:
{% for rc in rc_car_owned_list %} {{ rc.name }}You don't own any cars!
{% endif %} {% if rc_car_shared_list %}Cars shared with you:
{% for rc in rc_car_shared_list %} {{ rc.name }}Nobody has shared any cars!
{% endif %} {% if public_list %}The following cars are publically shared
{% for rc in public_list %} {{ rc.name }}


{% extends 'base.html' %} {% load bootstrap4 %} {% block title %}
{{ wine.review_set.count }} reviews
{{ wine.average_rating | floatformat }} average rating
No wines are available.


Thrift module: extension
Enumerations
Enumeration: OrientationRepresentation
Orientations in 3D can be represented either as:
* A 4-element unit-length Quaternion (x,y,z,w)
* A 3x3 transformation matrix
* A 3-vector of Euler angles
(Tait/Cardan-Bryant) Roll, Pitch, Yaw angles (alpha,beta,gamma).
This is equivelent to EulerXYZ and assumes that the
x-axis points forward, y-axis points right and the z-axis up.
(Aeronautical convention)
Quaternion | 0 |
|
Matrix | 1 |
|
EulerRPY | 2 |
|
Enumeration: LoggingLevel
Debug | 0 |
|
Info | 1 |
|
Warn | 2 |
|
Critical | 3 |
|
Enumeration: CoordFrameRepresentation
A Coordinate Frame is a reference frame in space
against which concrete coordinates are relative.
In 3D space a frame can be represented by an origin
and the direction of the x,y & z axes - explicitly or
otherwise.
* Implicit - the coordinate frame is implicit in its type (e.g. predefined)
(e.g. the base frame is relative to the fixed mount of the robot)
* Transform - the frame is represented by a standard 4x4 transformation matrix
* OffsetOrient - the frame is represented by an origin and orientation in 3D
* OriginPlane - the frame is defined by an origin and two additional points making up a plane
Implicit | 0 |
|
Transform | 1 |
|
OffsetOrient | 2 |
|
OriginPlane | 3 |
|
Enumeration: PredefinedCoordFrameType
Type of predefined coordinate frames (representaton is implicit)
* Joint - the joint space of the robot (dimension equals the number of axes / dof)
* World - Cartesian frame of environment (typically coincident with the robot base)
* Base - Cartesian frame of the base mount of the robot
(for robots not mounted on a moveable base, fixed relative to the robot frame)
* Robot - Cartesian frame of the robot (e.g. from first axis)
* ToolPlate - Cartesian frame of the tool mounting plate
* ToolTip - Cartesian frame of the tip of the tool (i.e. End-Effector)
(this depends on the specific tool)
* User - Cartesian frame configured by user stored in the controller
(multiple user frames can be defined and referenced by index)
Joint | 1 |
|
World | 2 |
|
Base | 7 |
|
Robot | 3 |
|
ToolPlate | 4 |
|
ToolTip | 5 |
|
User | 6 |
|
None | 0 |
|
Enumeration: DistanceUnit
None | 0 |
|
Millimeter | 1 |
|
Inch | 2 |
|
Meter | 3 |
|
Enumeration: OrientationUnit
None | 0 |
|
Pulse | 1 |
|
Radian | 2 |
|
Degree | 3 |
|
Enumeration: PendantEventType
Startup | 0 |
|
Shutdown | 1 |
|
SwitchedScreen | 2 |
|
PopupOpened | 3 |
|
PopupClosed | 4 |
|
UtilityOpened | 5 |
|
UtilityClosed | 6 |
|
UtilityMoved | 7 |
|
Clicked | 8 |
|
Pressed | 9 |
|
Released | 10 |
|
TextEdited | 11 |
|
Accepted | 12 |
|
EditingFinished | 13 |
|
CheckedChanged | 14 |
|
Activated | 15 |
|
PanelOpened | 16 |
|
PanelClosed | 17 |
|
Other | 16384 |
|
Enumeration: IntegrationPoint
UtilityWindow | 0 |
|
NavigationPanel | 10 |
|
ProgrammingCommandBar | 20 |
|
ProgrammingHeaderBar | 30 |
|
SmartFrameJogPanelTopLeft | 40 |
|
SmartFrameJogPanelTopRight | 41 |
|
SmartFrameJogPanelTopAny | 44 |
|
SmartFrameJogPanelBottomLeft | 45 |
|
SmartFrameJogPanelBottomCenter | 46 |
|
SmartFrameJogPanelBottomRight | 47 |
|
SmartFrameJogPanelBottomAny | 49 |
|
JogPanelTopCenter | 50 |
|
Enumeration: Disposition
Negative | 1 |
|
Neutral | 0 |
|
Positive | 2 |
|
Enumeration: ControllerEventType
Connected | 0 |
|
RobotModel | 1 |
|
ExclusiveControl | 2 |
|
CycleTime | 3 |
|
PowerOnTime | 4 |
|
ServoOnTime | 5 |
|
EnabledOptionsChanged | 6 |
|
OperationMode | 7 |
|
ServoState | 8 |
|
PlaybackState | 9 |
|
SpeedOverride | 10 |
|
ActiveTool | 11 |
|
AlarmActive | 12 |
|
ActiveAlarmsChanged | 13 |
|
RestartRequired | 14 |
|
EStopEngaged | 15 |
|
EnableSwitchActive | 16 |
|
RemoteMode | 17 |
|
JoggingActive | 18 |
|
JoggingSpeedChanged | 19 |
|
JoggingModeChanged | 20 |
|
RobotTCPPosition | 21 |
|
BrakeRelease | 22 |
|
SoftLimitRelease | 23 |
|
SelfInterferenceRelease | 24 |
|
AllLimitsRelease | 25 |
|
ParametersChanged | 26 |
|
PredefinedPositionsChanged | 27 |
|
FeatureAvailabilityChanged | 28 |
|
JointLimitsChanged | 29 |
|
JointMotorPulseDegreeRatioChanged | 30 |
|
FunctionalSafetyHardwareAvailable | 31 |
|
NetworkInterfacesChanged | 32 |
|
CurrentRobot | 33 |
|
JobTagsChanged | 34 |
|
JobListChanged | 35 |
|
JobStackChanged | 36 |
|
CurrentJob | 37 |
|
DefaultJob | 38 |
|
ToolsChanged | 39 |
|
ToolIOsChanged | 40 |
|
UserFramesChanged | 41 |
|
ZonesChanged | 42 |
|
SafetyRobotRangeLimitDataChanged | 43 |
|
SafetyAxisSpeedMonitorDataChanged | 44 |
|
SafetySpeedLimitDataChanged | 45 |
|
SafetyExternalForceMonitorFileChanged | 46 |
|
SafetyIOListChanged | 47 |
|
VariablesChanged | 48 |
|
VariableNamesChanged | 49 |
|
IONamesChanged | 50 |
|
IOValueChanged | 51 |
|
PermissionGranted | 1000 |
|
PermissionRevoked | 1001 |
|
Enumeration: OperationMode
Enumeration: PlaybackState
Enumeration: ControlGroupType
Robot | 0 |
|
Base | 1 |
|
Station | 2 |
|
Combined | 254 |
|
None | 255 |
|
Enumeration: AddressSpace
Variable address space
Unified | 0 |
|
Byte | 1 |
|
Int | 2 |
|
DoubleInt | 3 |
|
Real | 4 |
|
String | 5 |
|
Position | 6 |
|
Type declarations
Typedef: ExtensionID
Base type: i64
Typedef: ControllerID
Base type: i64
Typedef: PendantID
Base type: i64
Typedef: Vector
Base type: list<double
>
Typedef: IVector
Base type: list<i64
>
Typedef: Point
Base type: Vector
Typedef: RobotIndex
Base type: i32
Typedef: UserFrameIndex
Base type: i32
Typedef: ZoneIndex
Base type: i32
Data structures
Exception: InvalidID
| Key | Field | Type | Description | Requiredness | Default value |
Exception: IllegalArgument
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | msg | string | | required | |
Struct: Matrix
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | rows | i64 | | default | |
| 2 | cols | i64 | | default | |
| 3 | m | list<Vector > | | default | |
Struct: Orient
If rep is Quaternion or EulerRPY then v contains the elements,
otherwise if rep is Matrix m contains the 3x3 transform
Struct: VectorOrient
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | v | Vector | | default | |
| 2 | o | Orient | | default | |
Struct: PointPlane
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | origin | Point | | default | |
| 2 | xx | Point | | default | |
| 3 | xy | Point | | default | |
Position and Orientaiton in 3D defined by
an origin point and two points that define a plane
Struct: Version
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | nmajor | i16 | | default | |
| 2 | nminor | i16 | | default | |
| 3 | npatch | i16 | | default | |
| 4 | release | string | | optional | |
| 5 | build | string | | optional | |
Struct: CoordinateFrame
Represents a coordinate frame
Used as a reference frame for position coordinates
If rep is Implicit then it represents one of the predefined
frames defined by the physical configuration of the cell, robot and/or tool.
If predefined is:
* Joint - the frame is in the axis space of the robot joints (hence dimension is dof of the robot)
* World - the fixed Cartesian frame of the cell (often coincident with Base)
* Base - the base mount of the robot - requires robot set
* Robot - the robot itself (e.g. origin at first axis) - requires robot set
(unless mounted on a moveable base, fixed offet, possibly 0, from base)
* ToolPlate - toolplate of the end-effector (as when no tool mounted)
* ToolTip - 'business end' of the tool. Depends on which tool is mounted/active
and requires tool be set
* User - User defined frames configured in the controller - requires userFrame set.
User frames also have an associated tool in the YRC Controller, hence requires
tool to be set. pointplane may be set if user frame is defined
via origin point and points in plane
If rep is Transform then transform Matrix must be valid
If rep is OffsetOrient, vecorient must be valid
Union: Any
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | bValue | bool | | optional | |
| 2 | iValue | i64 | | optional | |
| 3 | rValue | double | | optional | |
| 4 | sValue | string | | optional | |
| 5 | vValue | Vector | | optional | |
| 6 | pValue | Position | | optional | |
| 7 | aValue | list<Any > | | optional | |
| 8 | mValue | map<string , Any > | | optional | |
Useful union for holding one of several data types
Struct: LoggingEvent
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | timestamp | i64 | | default | |
| 2 | datetime | string | | default | |
| 3 | level | LoggingLevel | | default | |
| 4 | entry | string | | default | |
Struct: PendantEvent
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | eventType | PendantEventType | | required | |
| 2 | props | map<string , Any > | | optional | |
Struct: PropValues
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | itemID | string | | required | |
| 2 | props | map<string , Any > | | required | |
Struct: ControllerEvent
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | eventType | ControllerEventType | | required | |
| 2 | props | map<string , Any > | | optional | |
Struct: SimpleControlGroup
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | type | ControlGroupType | | default | |
| 2 | index | i8 | | optional | |
A simple control group (of axes)
A Robot, Robot Base (e.g. rail) or Station
Struct: CombinedControlGroup
Set of simple control groups combined into a new
control group, optionally designating a master
Struct: ControlGroup
General control group
May be
* simple, such as a single Robot OR
* a combined control group consisting of multiple
simple control groups.
Struct: RobotJobInfo
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | name | string | | default | |
| 2 | programmingLanguage | string | | default | |
| 3 | jobType | string | | default | |
| 4 | editable | bool | | default | |
| 5 | timestamp | i64 | | default | |
| 6 | datetime | string | | default | |
| 7 | comment | string | | default | |
| 8 | frame | CoordinateFrame | | default | |
| 9 | controlling | ControlGroup | | default | |
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | index | ToolIndex | | default | |
| 2 | name | string | | optional | |
| 3 | weight | double | | optional | |
| 4 | offset | Vector | | optional | |
| 5 | orient | Orient | | optional | |
| 6 | centerOfMass | Vector | | optional | |
| 7 | momentOfInertia | Vector | | optional | |
| 8 | blockIOName | string | | optional | |
Struct: VariableAddress
Variable address (scope, address-space & address/index)
Struct: Zone
| Key | Field | Type | Description | Requiredness | Default value |
| 1 | number | i16 | | default | |
| 2 | name | string | | optional | |
| 3 | enabled | bool | | optional | |
| 4 | action | ZoneAction | | optional | |
| 5 | minPos | Position | | optional | |
| 6 | maxPos | Position | | optional | |
Zone - a region in space
* In joint space, defined by minimum and maximum joint angles
* In Cartesian space, a lower/min and upper/max corner defining a rectangular prism (a box)
(only Base, Robot and User-Frames are supported for Cartesian zones)
Action determines if an I/O status signal changes in response to zone entry/exit,
or if an Alarm is issued upon entry.
Note: index is 0-based, interface Zone Numbers are 1-based
Services
Service: Extension
The Extension API.
Use this interface to initially register the extension with the main pendant
API Service and obtain handle IDs to the Controller and Pendant services.
Note in this function-level documentation, functions of the Controller Service
take an initial ControllerID parameter, Pendant Service functions take an initial PendantID etc.
However, if you are using a Yaskawa supplied client library these may be wrapped as
object methods and hence the initial id should be omitted.
Function: Extension.apiVersion
Version
apiVersion()
Version of API the service implements.
Smart Pendant | API version
2.0 | 2.0.4
2.1 | 2.1.0
Function: Extension.registerExtension
ExtensionID
registerExtension(string
canonicalName,
string
launchKey,
Version
version,
string
vendor,
set<string
>
supportedLanguages)
throws IllegalArgument
Register extension with Smart Pendant API service.
Extension must exist in the extension database (i.e. through installation)
Function: Extension.ping
void
ping(ExtensionID
id)
throws InvalidID
Indicate liveliness
API service will automatically unregister extensions that are unresponsive for some period.
If extension is not regularly calling events(), call ping() to indicate the extension is operational.
Function: Extension.log
void
log(ExtensionID
id,
LoggingLevel
level,
string
message)
Log message to standard pendant logging facility
Visible to end-users upon plain-text log file export.
Note that Debug level logging is ignored unless in Developer access level.
Function: Extension.subscribeLoggingEvents
void
subscribeLoggingEvents(ExtensionID
id)
Subscribe to receive log message events via events()
Function: Extension.unsubscribeLoggingEvents
void
unsubscribeLoggingEvents(ExtensionID
id)
Function: Extension.logEvents
list<LoggingEvent
>
logEvents(ExtensionID
id)
Obtain list of logging events that have occured since last call
NB: For development troubleshooting only, logging events
only available when development access enabled
Function: Extension.oneTimeAuthToken
string
oneTimeAuthToken(ExtensionID
id,
string
oneTimeSalt,
binary
publicKey)
throws InvalidID
Function: Extension.installPackage
list<string
>
installPackage(ExtensionID
id,
string
authToken,
binary
packageData,
string
overridePasscodeEnc)
Service: Pendant
The Pendant API provides functions for interacting with and
integrating the main Smart Pendant user-interface.
(Extensions are not required to have a user-interface)
Function: Pendant.pendantVersion
Version
pendantVersion(PendantID
p)
Version of the Smart Pendant itself
(avoid using this for conditional feature use - use the Extension apiVersion() instead)
Function: Pendant.subscribeEventTypes
void
subscribeEventTypes(PendantID
p,
set<PendantEventType
>
types)
Subscribe to specified set of Pendant service events. May be called multiple times to add to subscription.
Function: Pendant.unsubscribeEventTypes
void
unsubscribeEventTypes(PendantID
p,
set<PendantEventType
>
types)
Unsubscribe from specified set of Pendant service events.
Function: Pendant.events
list<PendantEvent
>
events(PendantID
p)
Obtain list of Pendant service events that have occured since last call
Function: Pendant.currentLanguage
string
currentLanguage(PendantID
p)
Query the current UI language of the pendant interface.
Returns IETF language codes (RFCs 5646, 5645, 4647) of languages
(typically ISO 693-1 code when region insignificant)
Function: Pendant.currentLocale
string
currentLocale(PendantID
p)
Function: Pendant.currentScreenName
string
currentScreenName(PendantID
p)
The UI screen currently shown to the pendant user
Function: Pendant.registerYML
list<string
>
registerYML(PendantID
p,
string
ymlSource)
Register an Item type described using a YML source code string
Returns a list of parsing errors (0 on success)
Function: Pendant.registerImageFile
void
registerImageFile(PendantID
p,
string
imageFileName)
throws IllegalArgument
Register an image file for later reference by filename (must be uniquely named, with .jpg or .png).
If file cannot be accessed by service, it will be locally read and registerImageData called instead.
Function: Pendant.registerImageData
void
registerImageData(PendantID
p,
binary
imageData,
string
imageName)
throws IllegalArgument
Register an image for later reference by name (must be uniquely named, with .jpg or .png extension)
Function: Pendant.registerHTMLFile
void
registerHTMLFile(PendantID
p,
string
htmlFileName)
throws IllegalArgument
Register a HTML file for later reference by filename (must be uniquely named, with .html).
If file cannot be accessed by service, it will be locally read and registerHTMLData called instead.
Function: Pendant.registerHTMLData
void
registerHTMLData(PendantID
p,
binary
htmlData,
string
htmlName)
throws IllegalArgument
Register HTML for later reference by name (must be uniquely named, with .html extension)
Function: Pendant.registerTranslationFile
void
registerTranslationFile(PendantID
p,
string
locale,
string
translationFileName)
throws IllegalArgument
Register a translation file (e.g. a Java properties file for a language); extension is used to determine format
Function: Pendant.registerTranslationData
void
registerTranslationData(PendantID
p,
string
locale,
binary
translationData,
string
translationName)
throws IllegalArgument
Register translation file data (translationName typically filename-like; extension is used to determine format)
Function: Pendant.registerUtilityWindow
void
registerUtilityWindow(PendantID
p,
string
identifier,
string
itemType,
string
menuItemName,
string
windowTitle)
throws IllegalArgument
Register a Utility window with the UI.
The itemType references a previously registered YML item instantiated for the window
UI content.
A main menu entry will automatically be added to the pendant UI, for opening the utility window.
Function: Pendant.unregisterUtilityWindow
void
unregisterUtilityWindow(PendantID
p,
string
identifier)
throws IllegalArgument
Function: Pendant.openUtilityWindow
void
openUtilityWindow(PendantID
p,
string
identifier)
Open (make visible) previously registered Utility Window
Function: Pendant.closeUtilityWindow
void
closeUtilityWindow(PendantID
p,
string
identifier)
Close a visible Utility Window (make invisible - state is maintained)
Function: Pendant.collapseUtilityWindow
void
collapseUtilityWindow(PendantID
p,
string
identifier)
Collapse previously registered Utility Window, if in expanded state (and expandCollapseResize true)
Function: Pendant.expandUtilityWindow
void
expandUtilityWindow(PendantID
p,
string
identifier)
Expand previously registered Utility Window, if in collapsed state (and expandCollapseResize true)
Function: Pendant.registerIntegration
void
registerIntegration(PendantID
p,
string
identifier,
IntegrationPoint
integrationPoint,
string
itemType,
string
buttonLabel,
string
buttonImage)
throws IllegalArgument
Register UI content at the specified integration point in the pendant UI.
The itemType should reference a YML item previouslt registered via registerYML().
Function: Pendant.unregisterIntegration
void
unregisterIntegration(PendantID
p,
string
identifier)
throws IllegalArgument
Function: Pendant.setProperty
void
setProperty(PendantID
p,
string
itemID,
string
name,
Any
value)
throws IllegalArgument
Set property of an item by id
Function: Pendant.setProperties
void
setProperties(PendantID
p,
list<PropValues
>
propValuesList)
Set several properties (potentially for different items) at once. This is more
efficient that many repeated calls to setProperty(). Note it is async so no
errors/exceptions are thrown
Function: Pendant.notice
void
notice(PendantID
p,
string
title,
string
message,
string
log)
Show notice to user.
Notices are automaticlly hidden after a short display period.
Notice messages are logged, if log parameter if provided, that will be logged instead of title & message.
Function: Pendant.dispNotice
void
dispNotice(PendantID
p,
Disposition
disposition,
string
title,
string
message,
string
log)
Show notice to user with specified disposition.
As for notice() but displayed in a way that connotes the specified disposition.
For example, a Positive disposition may be shown in green.
Function: Pendant.error
void
error(PendantID
p,
string
title,
string
message,
string
log)
Show error to user.
Errors should only indicate inportant situations that the user must be aware of and for which deliberate
acknowledgement is required before proceeding. Typically, some action will be required to correct the situation.
Errors are displayed until dismissed by the user.
Error messages are logged, if log parameter if provided, that will be logged instead of title & message.
void
popupDialog(PendantID
p,
string
identifier,
string
title,
string
message,
string
positiveOption,
string
negativeOption)
throws IllegalArgument
Display modal pop-up dialog. Typically, Yes/No, although negativeOption can be omitted
The identifier can be used to associate the corresponding PopupOpened & PopupClosed events triggered by
user positive/negative selection or automatic dismissal/cancellation - for example is screen switched, alarm etc.
void
cancelPopupDialog(PendantID
p,
string
identifier)
Cancel an open popup dialog. If the dialog has a negative option, behaves as if user selected it, otherwise
no event is generated
Function: Pendant.insertInstructionAtSelectedLine
string
insertInstructionAtSelectedLine(PendantID
p,
string
instruction)
Inserts an instruction, returns a string:
Success,
UnsupportedCommand,
InvalidFormat,
ProgrammingViewClosed,
JobDoesNotExist,
CallingJobFromSameJob,
ExceededMaxArguments,
JobNotEditable,
MultiSelectActive,
TimedOut,
Unknown
Service: Controller
Interface to Robot Controllers
In general, a pendant may operate in connected or disconnected states. When connected to a Robot Controller
it may be monitoring or not have exclusive control (i.e. not be the single-point-of-control).
However, typically, once an extension is running, the pendant is connected to the controller and
is the single-point-of-control.
Function: Controller.requestPermissions
bool
requestPermissions(ControllerID
c,
set<string
>
permissions)
throws IllegalArgument
Request specified permissions.
Function: Controller.havePermission
bool
havePermission(ControllerID
c,
string
permission)
throws IllegalArgument
Check permisions obtained.
Function: Controller.relinquishPermissions
void
relinquishPermissions(ControllerID
c,
set<string
>
permissions)
Relinquish permissions (no effect if not held).
Function: Controller.connect
void
connect(ControllerID
c,
string
hostName)
Connect to the specified Robot Controller (by IP adress or hostname if DNS available)
Typically, the pendant will already be connected to a controller when extensions are started,
so calling connect() is not required.
Function: Controller.disconnect
void
disconnect(ControllerID
c)
Disconnect from the connected controller. This leaves the pendant in the 'disconnected' state.
When disconnected, many functions are unavailable or will return default values.
Function: Controller.subscribeEventTypes
void
subscribeEventTypes(ControllerID
c,
set<ControllerEventType
>
types)
Subscribe to the specified events, if not already.
Note: If using a Yaskawa supplied client library with event consumer callback support,
registering an event consumer callback will automatically subscribe to the appropriate event.
Function: Controller.unsubscribeEventTypes
void
unsubscribeEventTypes(ControllerID
c,
set<ControllerEventType
>
types)
Unsubscribe from the specified events.
If called directly, this may causes event consumers for the events not to be called.
Function: Controller.events
list<ControllerEvent
>
events(ControllerID
c)
Poll the API Service for pending events.
Note: If using a Yaskawa supplied client library, this does not need to be called explicitly.
Function: Controller.connected
bool
connected(ControllerID
c)
Returns true if the pendant is connected to a robot controller
Function: Controller.connectedHostName
string
connectedHostName(ControllerID
c)
Returns the hostname or IP address of the robot controller to which the pendant is connected, if any
Function: Controller.softwareVersion
string
softwareVersion(ControllerID
c)
The software version string of the robot controller system software.
Function: Controller.monitoring
bool
monitoring(ControllerID
c)
Returns true if the pendant is only monitoring the robot controller to which it is connected. This
implies that no functions that modify the controller and/or robot state will succeed.
Function: Controller.haveExclusiveControl
bool
haveExclusiveControl(ControllerID
c)
Returns true if this pendant is the single-point-of-control for the connected Robot Controller.
If not, most functions that modify the controller and/or robot state will fail.
Function: Controller.operationMode
OperationMode
operationMode(ControllerID
c)
Current operation mode of the controller
Automatic (aka Play) - running jobs
Manual (aka Teach) - for editing jobs, teaching points, jogging, setup etc.
Function: Controller.servoState
ServoState
servoState(ControllerID
c)
Are the servo drives engaged?
 Typically requires operator to use servo enable switch.
Function: Controller.playbackState
PlaybackState
playbackState(ControllerID
c)
Indicates if a job us running or stopped.
Run - jobs are running (robot may be moving)
Held - jobs were running but have been held/paused.
Idle - no jobs are running
Function: Controller.run
void
run(ControllerID
c)
Run the current robot job from the current line. Requires Servos engaged & Automatic/Play operation and 'jobcontrol' permission.
Function: Controller.pause
void
pause(ControllerID
c)
Pause running job (servoes will remain engaged. 'jobcontrol' permission required.
Function: Controller.resume
void
resume(ControllerID
c)
Resume running job from paused state. 'jobcontrol' permission required.
Function: Controller.stop
void
stop(ControllerID
c)
Stop runnng job (will stop motion and disengage servos). 'jobcontrol' permission required.
Function: Controller.currentJob
string
currentJob(ControllerID
c)
Name of the current job (e.g. job being run or edited)
Empty if none.
Function: Controller.setCurrentJob
void
setCurrentJob(ControllerID
c,
string
name,
i32
line)
throws IllegalArgument
Set the current job. 'jobcontrol' permission required. Pass line=1 for start of job, line=0 for default/no-change.
Function: Controller.defaultJob
string
defaultJob(ControllerID
c)
Name of the default (aka master) job. Empty if no default job designated
Function: Controller.jobExists
bool
jobExists(ControllerID
c,
string
name)
query if job with specified name exists
Function: Controller.jobs
list<string
>
jobs(ControllerID
c)
List of robot job names (empty if not connected)
Function: Controller.jobsMatching
list<string
>
jobsMatching(ControllerID
c,
string
nameRegex,
string
tag)
throws IllegalArgument
List of robot job names matching the name regular expression AND with the given tag
(empty if not connected or no matches)
Function: Controller.duplicateJob
void
duplicateJob(ControllerID
c,
string
existingName,
string
newName)
throws IllegalArgument
Duplicate an existing job with a new name for the copy
Function: Controller.deleteJob
void
deleteJob(ControllerID
c,
string
name)
throws IllegalArgument
delete the specified job. The default job cannot be deleted.
Function: Controller.jobSource
string
jobSource(ControllerID
c,
string
name)
throws IllegalArgument
Read source code for named job (in the programmingLanguage listed in jobDetails() )
Function: Controller.storeJobSource
void
storeJobSource(ControllerID
c,
string
name,
string
programmingLanguage,
string
sourceCode)
throws IllegalArgument
Replace named job with the source code provided, in given programmingLanguage (e.g. "INFORM").
Will thow if syntax errors in source.
map<ToolIndex
, string
>
tools(ControllerID
c)
throws IllegalArgument
List of tools mapping index -> name.
Unset/defaulted tools are omitted (e.g. those with no name, 0 weight etc.)
Indices (map keys) may not be sequential. Returned map may be empty.
i32
inputGroupNumber(ControllerID
c,
string
name)
throws IllegalArgument
Return input group number for group beginning with given input name
Function: Controller.outputNumber
i32
outputNumber(ControllerID
c,
string
name)
throws IllegalArgument
Return output nunber of given output name
Function: Controller.outputGroupNumber
i32
outputGroupNumber(ControllerID
c,
string
name)
throws IllegalArgument
Return output group number for group beginning with given input name
Function: Controller.outputName
string
outputName(ControllerID
c,
i32
num)
throws IllegalArgument
Return name of specified output number
void
setInputName(ControllerID
c,
i32
num,
string
name)
Set name of specified input (asynchronously)
Function: Controller.setOutputName
void
setOutputName(ControllerID
c,
i32
num,
string
name)
Set name of specified output (asynchronously)
void
monitorInputGroups(ControllerID
c,
i32
groupNum,
i32
count)
throws IllegalArgument
Start monitoring all inputs in given input group
Function: Controller.monitorOutput
void
monitorOutput(ControllerID
c,
i32
num)
throws IllegalArgument
Start monitoring specified output
Function: Controller.monitorOutputGroups
void
monitorOutputGroups(ControllerID
c,
i32
groupNum,
i32
count)
throws IllegalArgument
Start monitoring all outputs in given output group
void
unmonitorInput(ControllerID
c,
i32
num)
Stop monitoring specified input
void
unmonitorInputGroups(ControllerID
c,
i32
groupNum,
i32
count)
Stop monitoring all inputs in specified group
Function: Controller.unmonitorOutput
void
unmonitorOutput(ControllerID
c,
i32
num)
Stop monitoring specified output
Function: Controller.unmonitorOutputGroups
void
unmonitorOutputGroups(ControllerID
c,
i32
groupNum,
i32
count)
Stop monitoring all outputs in specified group
i32
inputGroupsValue(ControllerID
c,
i32
groupNum,
i32
count)
throws IllegalArgument
Return values of input groups from specified group number (upto 4 contiguous groups/bytes, from least significant byte)
Function: Controller.outputGroupsValue
i32
outputGroupsValue(ControllerID
c,
i32
groupNum,
i32
count)
throws IllegalArgument
Return values of output groups from specified group number (upto 4 contiguous groups/bytes)
Function: Controller.setOutput
void
setOutput(ControllerID
c,
i32
num,
bool
value)
Set the value of the specified output number
Function: Controller.setOutputGroups
void
setOutputGroups(ControllerID
c,
i32
groupNum,
i32
count,
i32
value)
Set the values of the outputs in the specified contigous output groups (upto 4 contiguous groups/bytes)
Function: Controller.outputAddress
i32
outputAddress(ControllerID
c,
string
name)
throws IllegalArgument
Return the logical IO address of the named output
Function: Controller.outputAddressByNumber
i32
outputAddressByNumber(ControllerID
c,
i32
num)
throws IllegalArgument
Return the logical IO address of the given output number
Function: Controller.monitorIOAddress
void
monitorIOAddress(ControllerID
c,
i32
address)
throws IllegalArgument
Start monitoring a logical IO address. Will generate IOValueChanged events
Function: Controller.unmonitorIOAddress
void
unmonitorIOAddress(ControllerID
c,
i32
address)
Stop monitoring a logical IO address. (events for address may still be generated if it corresponds to a monitored input or output)
Function: Controller.outputAddressValue
bool
outputAddressValue(ControllerID
c,
i32
address)
throws IllegalArgument
Return the value of the given output by logcial IO address
Function: Controller.setOutputAddress
void
setOutputAddress(ControllerID
c,
i32
address,
bool
value)
Set the value of the given output by logical IO address
i32
fieldBusStatusInputGroup(ControllerID
c,
string
busType)
throws IllegalArgument
Obtain input group number (byte) of field bus status input. e.g. busType 'ethip' yields EtherNet/IP status byte group
Function: Controller.controlGroups
list<ControlGroup
>
controlGroups(ControllerID
c)
Return the list of control groups configured on the controller.
If only one robot is connected to the controller, this will return a single element,
containing the simple control group representing the robot.
Function: Controller.currentControlGroup
i8
currentControlGroup(ControllerID
c)
Returns the index of the currently active control group.
Function: Controller.robotCount
i8
robotCount(ControllerID
c)
Returns the number of robots connected to the controller
Function: Controller.currentRobot
RobotIndex
currentRobot(ControllerID
c)
Returns the index of the currently active robot.
Note: index is 0-based, but in the UI the first robot is Robot 1.
Function: Controller.newZone
ZoneIndex
newZone(ControllerID
c)
throws IllegalArgument
Creates a new Zone and returns its index. It will have default values
which can be change via modifyZone()
Function: Controller.userFrames
map<UserFrameIndex
, string
>
userFrames(ControllerID
c)
throws IllegalArgument
List of user frames mapping index -> name.
NB: Indices (map keys) may not be sequential. Returned map may be empty.
Function: Controller.networkInterfaceAddress
string
networkInterfaceAddress(ControllerID
c,
string
controllerInterface)
throws IllegalArgument
Query current controller network interface IP address.
controllerInterface must be one of ['LAN1','LAN'/'LAN2' or 'LAN3']
(NB: On YRC1000micro, 'LAN' is the external Ethernet port, corresponding to 'LAN2' on the YRC1000)
Function: Controller.requestNetworkAccess
i32
requestNetworkAccess(ControllerID
c,
string
controllerInterface,
i32
port,
string
protocol)
throws IllegalArgument
Request external network access via specified protocol and port originating
from the given controller interface. The controllerInferface may be left blank, in which case
connections will be routed from the controller according to the detination address and
current subnetwork of the external LAN ports).
Access only persists while power is maintained to the controller.
The protocol must be either 'tcp' or 'udp'. controllerInterface must be one of ['LAN1','LAN'/'LAN2' or 'LAN3'].
Returns a handle that can subsequently used to remove the access, or -1 if the access request
failed (may happen in case of network conflicts with other extensions).
Requires 'networking' permision.
Service: Robot
Represents a single robot
Often there will only be one robot connected to a given controller
but, for example, the YRC Controller is capable of supporting up-to 8 robots (or 72 axes).
Function: Robot.model
string
model(RobotIndex
r)
The model string of this robot
Function: Robot.dof
i32
dof(RobotIndex
r)
Number of degrees-of-freedom / axes
Function: Robot.forceLimitingAvailable
bool
forceLimitingAvailable(RobotIndex
r)
Does this robot support force limiting? (collaborative robot?)
Function: Robot.forceLimitingActive
bool
forceLimitingActive(RobotIndex
r)
Is force limiting currently active? (i.e. PFL - Power & Force Limiting)
Function: Robot.forceLimitingStopped
bool
forceLimitingStopped(RobotIndex
r)
Is the robot stopped due to an over-limit event?
Function: Robot.switchBoxAvailable
bool
switchBoxAvailable(RobotIndex
r)
Is an end-of-arm switch box installed?


Mission Statement
The Business Career and Networking Club was founded in 2013 to bridge the gap between students at UC Davis and professionals in business fields. As a career-networking platform for over 16 other business groups on campus, we strive to link qualified individuals with innovative companies in order to empower the next generation of young professionals.
Community
In addition to hosting professional networking events and recruitment fairs, our team works closely with our Partner Organizations to develop services that connect students with opportunities in our undergraduate business community.
Weekly Newsletter
The Business Career and Networking Club provides a weekly newsletter that is absolutely magical. It was created to bridge the gap between businesses and UC Davis students. We strive to link qualified individuals with innovative companies by working year-round to bring value to our students and their future employers. By hosting two major events per quarter, we provide students with valuable resources to build their professional skills and network with companies, organizations, and young professionals.
Brand Ambassadors Program
The Brand Ambassadors Program was created to help participating campus representatives connect with new audiences and gain access to events hosted by our Partner Organizations. Our team works closely with our Partner Organizations and select brand ambassadors to bring great products and services to our events and campus community.
#Connect Database
Our #Connect Database helps us identify demographic trends and uses algorithms to connect participating students with potential jobs and internships.


The New Way to Success Advance Progress
Ezupos helps small and medium-sized businesses by providing them easy ways to gain more sales and at the same time promote their business。
Who We Are
Ezupos helps small and medium-sized businesses by providing them easy ways to gain more sales and at the same time promote their business.
Our main objective is to help businesses to get a high Return-of-Investment and gather more sales by using modern technologies. Nowadays, many people are using internet as their primary tool when looking for perfect place to eat. And we can help you make on top of every search engines so that many people can see you.


1 write to _expectedState
System.Management.Automation (1)
engine\hostifaces\RunspacePool.cs (1)
73
_expectedState
= expectedState;
1 reference to _expectedState
System.Management.Automation (1)
engine\hostifaces\RunspacePool.cs (1)
124
return
_expectedState
;


Monster Zoo is a deckbuilding game for 2-4 players.
Goal
Be the first player to build a Zoo worth 30 points.
How to Play
During your turn:
- Play any number of cards from your hand.
- Use Food to catch cards from The Wild (middle set of cards).
- Caught cards will be placed into your discard pile. When you run out of cards in your deck, your discard pile will become your new deck.
- Move Monsters into your Zoo for points.
- Card with "Zoo Effects" give you a bonus at the beginning of your turn.
End of turn:
- Draw until you have at least 5 cards in your hand.
Playtest Notes:
This is a buggy play test system and the game may potentially break on you. Many of the cards/features from the game are not fully developed in the online version yet. Thanks for testing!


{% extends 'base.html' %} {% block content %}
Image Name
{{image.image_name}}
Image Description
{{image.image_description}}
Image Location
{{image.image_location.location}}
Image Category
{{image.image_category.category}}
Copy Link


Learn to design &
HTML CSS Javascript WordPress Python
Make enough side cash to
2020
Vision Board
Plan a trip where I can
Walk dog ++ Meditate Yoga Snuggle pup
Exercise more& Find zen in


Hello How Are you
This is soon to become a sample product landing page built only with CSS and HTML, and using Bootstrap as a framework.


Kogi election was horrific, traumatising to Nigerians - PDP insists
- The Peoples Democratic Party (PDP) says Nigerians are yet to recover from the alleged horror that charactersed the recent Kogi and Bayelsa elections
- PDP accused the chairman of the Independent National Electoral Commission (INEC), Mahmood Yakubu, of playing a role in the alleged rigging of the election
- The opposition party declares that the results of the elections as declared by INEC will not stand
What happened in Kogi during the recently held governorship election can best be described as horror and has traumatised Nigerians, the Peoples Democratic Party (PDP) has claimed.
The PDP made the claim in a statement in the evening of Tuesday, November 19, accusing the chairman of the Independent National Electoral Commission (INEC), Mahmood Yakubu, and the Inspector-General of Police (IGP), Mohammed Adamu, of allegedly playing roles in how the election went.
The statement by its national spokesperson, Kola Ologbondiyan, noted that the National Working Committee (NWC) of the PDP has decided that the alleged rigging of the election in the state as well as Bayelsa would not stand.
Newspapers review for Mon, Nov 18: Kogi, Bayelsa polls were rigged - PDP
The party said it would not fold its arms and keep silent over the alleged stealing of the mandate given by the people of Kogi to Musa Wada, its candidate in Kogi, and Senator Douye Diri in Bayelsa.
"Indeed, the nation is still at shock over the brazen show of violence, where security forces coordinated the invasion of polling units, shooting and killing of voters and carting away of ballot boxes to government facilities where results were altered and fictitious figures given to INEC to declare the APC candidates as winners," the PDP alleged.
It said further: "Nigerians watched with horror as APC thugs and security forces traumatized and held voters hostage, murdered our compatriots, injured and maimed many more in violent attacks that involved the deployment of police helicopters."
The party said at the appropriate time, it would expose the roles allegedly played by those it claimed played roles in the violence and rigging that reportedly characterised the election.
Defeated PDP speaks about Musa Wada, its governorship candidate in Kogi (video)
"The irreversible fact remains that though evil may appear to thrive for a while, truth and justice will always prevail at the end.
"The APC and its candidates must bear in mind that what they could not get through the ballot box, they cannot get by violence, manipulation and killing," the party said.
The PDP promised to file what it called legitimate actions against identified INEC and security officials who allegedly aided the APC in the violent rigging of the election.
PAY ATTENTION: Install our latest app for Android, read best news on Nigeria’s #1 news app
Meanwhile, the party has mourned its women leader, Acheju Abuh, reported to have been burnt by thugs
"While invoking the wrath of God on the perpetrators of the gruesome killings, the party calls on the police to immediately track down and bring their killers to book," the PDP said.
Though the police is yet to officially react to the allegation, Legit.ng reported that Mohammed Adamu, head of the law enforcement agency in the country, said the helicopter which dropped teargas during the election was deployed for crime prevention during the election.
Breaking: YIAGA calls for fresh election in Kogi state
NAIJ.com (naija.ng) - Legit.ng. We have upgraded to serve you better.
Kogi election: Alarm raised over cancellations of vote | Legit TV


AccountParams |
data class AccountParams : TokenParams |
Address |
Model for an owner address object in the Source api. data class Address : StripeModel, StripeParamsModel |
AddressJapanParams |
data class AddressJapanParams : StripeParamsModel, Parcelable |
BankAccount |
data class BankAccount : StripeModel, TokenParams |
BankAccountTokenParams |
data class BankAccountTokenParams : TokenParams |
BankAccountTokenParamsFixtures |
object BankAccountTokenParamsFixtures |
Card |
A representation of a Card API object. data class Card : StripeModel, StripePaymentSource, TokenParams |
CardBrand |
A representation of supported card brands and related data enum class CardBrand |
CardFunding |
enum class CardFunding |
ConfirmPaymentIntentParams |
Model representing parameters for confirming a PaymentIntent. data class ConfirmPaymentIntentParams : ConfirmStripeIntentParams |
ConfirmSetupIntentParams |
Model representing parameters for confirming a SetupIntent. data class ConfirmSetupIntentParams : ConfirmStripeIntentParams, Parcelable |
ConfirmStripeIntentParams |
Interface for params for confirming a PaymentIntent or SetupIntent. interface ConfirmStripeIntentParams : StripeParamsModel |
Customer |
Model for a Stripe Customer object data class Customer : StripeModel |
CustomerSource |
Model of the "data" object inside a Customer "source" object. data class CustomerSource : StripeModel, StripePaymentSource |
CvcTokenParams |
data class CvcTokenParams : TokenParams |
DateOfBirth |
data class DateOfBirth : StripeParamsModel, Parcelable |
GooglePayResult |
Result of a successful Google Pay Payment Data Request data class GooglePayResult : Parcelable |
KlarnaSourceParams |
Model representing parameters for creating a Klarna Source. data class KlarnaSourceParams : StripeParamsModel, Parcelable |
MandateDataParams |
Mandate Data parameters for confirming a PaymentIntent or confirming a SetupIntent data class MandateDataParams : StripeParamsModel, Parcelable |
PaymentIntent |
A PaymentIntent tracks the process of collecting a payment from your customer. data class PaymentIntent : StripeIntent |
PaymentMethod |
PaymentMethod objects represent your customer's payment instruments. They can be used with PaymentIntents to collect payments or saved to Customer objects to store instrument details for future payments. data class PaymentMethod : StripeModel |
PaymentMethodCreateParams |
Model for PaymentMethod creation parameters. data class PaymentMethodCreateParams : StripeParamsModel, Parcelable |
PaymentMethodOptionsParams |
sealed class PaymentMethodOptionsParams : StripeParamsModel, Parcelable |
PersonTokenParams |
Creates a single-use token that represents the details for a person. Use this when creating or updating persons associated with a Connect account. See the documentation to learn more. data class PersonTokenParams : TokenParams |
SetupIntent |
A SetupIntent guides you through the process of setting up a customer's payment credentials for future payments. data class SetupIntent : StripeIntent |
ShippingInformation |
Model representing a shipping address object data class ShippingInformation : StripeModel, StripeParamsModel |
ShippingMethod |
Model representing a shipping method in the Android SDK. data class ShippingMethod : StripeModel |
Source |
Model for a Sources API object. data class Source : StripeModel, StripePaymentSource |
SourceCodeVerification |
Model for a code verification object in the Sources API. data class SourceCodeVerification : StripeModel |
SourceOrder |
Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it. data class SourceOrder : StripeModel |
SourceOrderParams |
Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it. data class SourceOrderParams : StripeParamsModel, Parcelable |
SourceOwner |
Model for a owner object in the Source api. data class SourceOwner : StripeModel |
SourceParams |
Represents a grouping of parameters needed to create a Source object on the server. class SourceParams : StripeParamsModel |
SourceReceiver |
Model for a receiver object in the Sources API. Present if the Source is a receiver. data class SourceReceiver : StripeModel |
SourceRedirect |
Model for a redirect object in the Sources API. data class SourceRedirect : StripeModel |
SourceTypeModel |
Models for Source type-specific data sealed class SourceTypeModel : StripeModel |
StripeFile |
data class StripeFile : StripeModel |
StripeFileParams |
data class StripeFileParams |
StripeFilePurpose |
The purpose of the uploaded file. Possible values are enum class StripeFilePurpose |
StripeIntent |
An interface for methods available in PaymentIntent and SetupIntent interface StripeIntent : StripeModel |
StripeModel |
Model for a Stripe API object. interface StripeModel : Parcelable |
StripeParamsModel |
Model for a Stripe API object creation parameters interface StripeParamsModel |
StripePaymentSource |
Represents an object that has an ID field that can be used to create payments with Stripe. interface StripePaymentSource : Parcelable |
Token |
Tokenization is the process Stripe uses to collect sensitive card, bank account details, Stripe account details or personally identifiable information (PII), directly from your customers in a secure manner. A Token representing this information is returned to you to use. data class Token : StripeModel, StripePaymentSource |
TokenizationMethod |
If a card number is tokenized, this is the method that was used. Can be apple_pay or google_pay. enum class TokenizationMethod |
TokenParams |
abstract class TokenParams : StripeParamsModel, Parcelable |
|
|
WeChat Pay Payments with Sources data class WeChat : StripeModel |


Tycho provides a set of classes for asking the user questions. These can be yes-no questions, questions that require a typed response, or questions that require a file name response.
The YesNoQuery class poses a question and offers two buttons,
labeled Yes
and No
. For example:
::tycho::YesNoQuery .y -text {Are you awake?} \
-yescommand {::tycho::inform {You said yes!}} \
-nocommand {::tycho::inform {Then how did you click on the No button?}}
wm deiconify .y
.y focusin
y
or n
will invoke the corresponding
button. Typing Return
(or Enter
on some
keyboards) will invoke the Yes
button. Typing
Escape
will dismiss the dialog without invoking either
button.
The options -yescommand
and
-nocommand
specify scripts to be executed
in response to these buttons.
If you do not specify these options, nothing interesting will happen
when you click on the buttons. This is because
the default scripts simply destroy
the window and return 0 or 1, but the return value is lost.
To get the return value, you must make the dialog modal using
the wait
procedure
of the Dialog
class.
For example,
::tycho::YesNoQuery .z -text {Are you awake?}
set response [::tycho::Dialog::wait .z]
if {$response == 1} {
::tycho::inform {You said yes!}
} elseif {$response == 0} {
::tycho::inform {Then how did you click on the No button?}
}
Escape
without invoking either button.
There is a bit of a technicality with using this capability. Suppose
you wish to create a dialog box that returns the strings
yes
or no
instead of 0
or
1
. The -yescommand
and
-nocommand
options specify Tcl scripts, and it is
difficult to get a Tcl script to return a value. You could use the
set
command as follows:
::tycho::YesNoQuery .z -text {Are you awake?} \
-yescommand {set y {yes}} \
-nocommand {set y {no}}
::tycho::Dialog::wait .z
y
gets set
at the global scope, clobbering any previous value the user might
have unwisely stored in y
. A simple workaround is to use the
Tcl format
command,
as follows:
::tycho::YesNoQuery .z -text {Are you awake?} \
-yescommand {format yes} \
-nocommand {format no}
::tycho::Dialog::wait .z
The YesNoCancel
class is like the
YesNoQuery
class, but there is one
more button labeled Cancel
and one more option
-cancelcommand
.
To see an example, execute this:
::tycho::YesNoCancel .z -text {Are you awake?}
::tycho::Dialog::wait .z
Cancel
button returns -1
,
unless you specify something different withe the
-cancelcommand
option.
Similarly, by default, the Yes
button returns 1
and the No
button 0
.
As usual, typing Escape
dismisses the window without invoking
any of the buttons, so the above will return an empty string in this
case.
The Query
class opens a dialog box with one or more
text entry widgets widgets
and/or radio button widgets.
It is used by the
query
and queryinfo
procedures, which provide simpler interfaces.
You can also create instances of it directly.
The actions taken in response to the OK
and
Cancel
buttons are given by the
-okcommand
and
-cancelcommand
options.
By default, both buttons destroy the object. In addition, if you use
the class as a modal dialog using wait
, then the OK
button returns the user responses as a list and the Cancel
button
returns a null string. After either command is executed, the widget
is destroyed.
The Query
class creates a dialog box with any of
several types of interactions with the user.
Text entry boxes can be created using the
line
method, as shown here:
::tycho::Query .bb -okcommand {::tycho::inform [.bb get]}
.bb line month {Enter Month} Jan
.bb line day {Enter Day} Mon
wm deiconify .bb
Here, a non-modal dialog is created, and the result of the dialog
is retrieved by the get
method
and posted by the inform
command.
The line
method takes three arguments,
a tag, a label, and a default string.
The get
method, invoked above on clicking the OK
button, returns an indexed list of entries. A modal dialog can be created as
well, and will return the values in the same form as the get
method. For example,
::tycho::Query .bb
.bb line text {Enter Something} {foo bar}
::tycho::Dialog::wait .bb
Notice that it was no longer necessary to specify a
-okcommand
option.
The list returned by the get
method has the form
{tag value tag value ...}
. This form can be used to
set the contents of an array using array set
, providing a
very simple way to access multiple responses.
Additional arguments can be supplied to the line
method,
which case they are just
passed to the Tk entry
widget. For example,
::tycho::Query .bb
.bb line a {password} {} -show *
::tycho::Dialog::wait .bb
*
rather than
whatever you type. This is useful, for example, to query the user
for a password.
Another method allows you to create multi-line
text edit boxes, as in the following example:
::tycho::Query .bb
.bb lines a {Multi-line entry:} "multi-line\ndefault" 4
.bb centerOnScreen
Now the query will have four lines.
Note that typing Return
will no longer invoke the
OK
button while the focus is in the multi-line text
widget.
Typing Control+Tab
will move the focus to the next item in the
query box (a simple Tab
simply inserts a tab in the text window.
Then Return
works again to invoke OK
.
The radio
method
puts radio buttons into the dialog. For example, assuming you
have not dismissed the Query that you created above (if you have,
then just recreate it),
.bb radio selmonth {Select Month} {Jan Feb March} Jan
.bb radio selday {Select Day} {Mon Tue Wed Thu Fri} Mon
::tycho::Dialog::wait .bb
The arguments are a name for the bank of buttons, a label, the list of possible values, and the default selection.
Within a radio button, Tab
or
Control+Tab
moves the focus
from button to button. The Space
key selects the current button.
It is also possible to have queries that are mediated by some other
widget. For example,
::tycho::Query .bb -entrywidth 70
.bb mediated color {Color:} red {::tycho::querycolor {Choose color}}
.bb mediated font {Font:} fixed ::tycho::queryfont
::tycho::Dialog::wait .bb
Here, the query takes the form of a pushbutton. Pushing this button invokes another widget (in this case the ColorBrowser or FontBrowser), which mediates the selection of a value.
It is also possible to present an option menu to the user.
For example,
::tycho::Query .bb
.bb choice drink {Drink:} {Coke Snapple Lemonade} Coke
.bb choice chips {Chips:} {None Potato Plantain} None
::tycho::Dialog::wait .bb 0
Here, the query consists of a menu button.
Pushing this button causes a pop-up menu to appear.
For technical reasons, the second argument (0) to the the
::tycho::Dialog::wait
procedure is needed.
This second argument disables the auto-raise feature that modal
dialogs have by default. Unfortunately, auto-raise obscures the
pop-up menu as soon as it appears.
In all of the above examples, we have first created the Query
object, and then added queries to it by invoking its methods.
Alternatively, the
-queries
option specifies the
initial list of entry boxes that will appear in the window, and can be used
to create an entire dialog all at once.
The value of this option should be a list of queries, where each
query is a list beginning with a type keyword.
This keyword is actually the method name for the Query
class. Here is a summary of the arguments associated with each
method:
choice
can accept any number of
additional arguments. These arguments are passed to the widget that
implements the query (a Tk entry, a Tycho Edit, a set of Tk radio buttons,
or a single Tk button, respectively). These additional arguments can be used
to control the appearance of the query. The command argument to the choice
query is optional.
The arguments above are explained below:
Note that no two queries in the same dialog box can have the same tag. Here is an example that creates one of each of the types of queries:::tycho::Query .z \ -queries { \ {line first {First query:} {Default string}} \ {lines second {Second query:} {Another default} 4} \ {radio third {Third query:} {A B C D} A} \ {choice fourth {Fourth query:} {A B C D} A} \ {mediated fifth {Fifth entry:} red {::tycho::querycolor Choose}} \ } \ -okcommand {::tycho::inform "Result of a get:\n[.z get]"} \ -cancelcommand {::tycho::inform "You canceled"} wm deiconify .z
The disable
method
disables a query. For instance,
.z disable first
enable
method, as follows:
.z enable first
remove
method
takes a tag as an argument and simply removes the corresponding query.
.z remove first
The get
method may also specify a particular tag.
::tycho::inform [.z get second]
The clear
method
clears all entries (or a single entry, if
a tag argument is given).
.z clear
The insert
method
inserts a string into the specified entry.
.z insert second {An inserted string. }
You may delete this window by clicking on the OK
button.
The class is derived from Dialog,
so it has the
options -text
, -bitmap
,
and -title
, which control the text
of the query, a bitmap left of the query, and a window manager title.
For example,
::tycho::Query .aa \
-bitmap questhead \
-text {Enter modified values, then click OK} \
-queries {{line first {First entry:} {Default string}} \
{line second {Second entry:} {Another default}}} \
-title "Query Widget" \
-okcommand {::tycho::inform "Result of a get: [.aa get]"} \
-cancelcommand {::tycho::inform "You canceled"}
wm deiconify .aa
The order of the -bitmap
and -text
options
relative to the -queries
option is important. In most circumstances, you will want them first.
You also have access to the new
method of the base class.
For example,
::tycho::Dialog::new \
Query .cc -queries {{line n {Enter value} {default}}}
::tycho::FileBrowser .f -command "::tycho::inform" wm deiconify .f
-command
option
specifies a command to execute once the user
has selected a file name. The file name is appended as an argument
to the command before the command is executed. Thus, in this example,
if you select a file named foo
in directory
/users/bar/
, then the command that is executed will be
::tycho::inform /users/bar/foo
.
Refer to the
user-level documentation
for further information about the file browser.
As usual, you can get a modal file browser using wait
:
::tycho::FileBrowser .w
::tycho::Dialog::wait .w
::tycho::ColorBrowser .f -command "::tycho::inform" wm deiconify .f
-command
option
again specifies a command to execute once the user
has selected a color name, as above.
Refer to the user-level
documentation
for further information about the Color browser.
Note that you should not directly use color names.
Instead, you should pass them to the procedure
::tycho::color
, as in the
following example:
::tycho::ColorBrowser .f
::tycho::color [::tycho::Dialog::wait .f]
Note that, as usual, you can get a modal color browser using wait
,
as done above.


Working with fundamental vibrational transitions
The 'AmesPAHdbIDLSuite_Transitions'-object exposes the fundamental vibrational transitions.
transitions = pahdb->getTransitionsByUID( $
pahdb->Search("c<=20 neutral n=2 neutral"))
The 'AmesPAHdbIDLSuite_Transitions-object's 'Print'-method will print out the associated fundamental vibrational transitions for each PAH species.
transitions->Print
Optionally, the 'Str'-keyword can be given to the 'Print'-method, which will return the associated fundamental vibrational transitions for each PAH species as a single, concatenated string.
transitions->Print,Str=Str
The 'AmesPAHdbIDLSuite_Transitions'-object's 'Plot'-method will display the fundamental vibrational transitions in a 'stick'-plot. The transitions of each PAH species will be presented in a different color.
transitions->Plot
Optionally, the 'Wavelength', 'Stick', 'Oplot', 'Legend', and 'Color'-keywords can be given to the 'Plot'-method to control the abscissa, stick representation, overplotting, legend and color, respectively. Through IDL's keyword inheritance mechanism additional keywords accepted by IDL's 'PLOT'-procedure can be passed.
transitions->Plot,/Wavelength,Color=5,XRANGE=[2.5,15],/XSTYLE
The 'AmesPAHdbIDLSuite_Transitions'-object's 'Write'-method will write the fundamental vibrational transitions to file. The transitions of each PAH species will be written to a separate text (.txt) file, where each filename will have the PAH species UID embedded. Optionally, a prefix can be given that will be prepended to the filename.
transitions->Write,'myPrefix'


This inspection finds commonly used base class that could be extended instead of implementing interface or extending abstract class.
The inspection works only if a project is built using IntelliJ IDEA build system and super class is located inside source files.


| 9:30 - 10:30 | INVITED SPEAKER FMOODS Mariangiola Dezani-Ciancaglini Asynchronous Session Types and Progress for Object Oriented Languages |
| Break | |
| 11:00 - 12:30 | SESSION 1: MIDDLEWARE (Chair: Farhad Arbab) A Coordination Model for Triplespace Computing Elena Simperl, Reto Krummenacher, Lyndon JB Nixon Requirements for Routing in the Application Layer Pamela Zave Context-Aware Publish Subscribe in Mobile ad Hoc Networks Davide Frey, Gruia-Catalin Roman |
| Lunch | |
| 14:30 - 15:30 | SESSION 2: LOGIC PROGRAMMING (Chair: Herbert Wiklicky) A Prolog-Based Language for Workflow Programming Steve Gregory, Martha Paschali Reactors: A Data-Oriented Synchronous/Asynchronous Programming Model for Distributed Applications John Field, Maria-Cristina Marinescu, Christian Stefansen |
| Break | |
| 16:00 - 17:30 | SESSION 3: FORMAL APPROACHES (Chair: Carolyn Talcott) A Theory for Strong Service Compliance Mario Bravetti, Gianluigi Zavattaro Towards a Theory of Refinement in Timed Coordination Languages Jean-Marie Jacquet, Isabel le Linden A Calculus for Mobile Ad Hoc Networks Jens Chr. Godskesen |
| 9:30 - 10:30 | INVITED SPEAKER (Chair: Jan Vitek) Rocco De Nicola |
| Break | |
| 11:00 - 12:30 | SESSION 4: CONCURRENCY (Chair: Jean-Marie Jacquet)
A Theory of Nested Speculative Execution Cristian Tapus, Jason Hickey Actors that Unify Threads and Events (Best Student Paper Award) Philipp Haller, Martin Odersky Generalized Committed Choice Joxan Jaffar, Roland H.C. Yap, Kenny Zhu |
| Lunch | |
| 14:30 - 16:00 | SESSION 5: COMPONENTS AND SERVICES I (Joint session FMOODS and Coordination) A Representation-Independent Behavioral Semantics for Object-Oriented Components (FMOODS) Arnd Poetzsch-Heffter and Jan Schäfer. Combining Formal Methods and Aspects for Specifying and Enforcing Architectural Invariants (COORD) Slim Kallel, Anis Charfi, Mira Mezini, Mohamed Jmaiel A Formal Language for Electronic Contracts(FMOODS) Cristian Prisacariu and Gerardo Schneider |
| 9:30 - 10:30 | INVITED SPEAKER Wolfgang Ahrendt |
| Break | |
| 11:00 - 12:30 | SESSION 6: MANET (Chair: John Field) Object-oriented Coordination in Mobile Ad hoc Networks Tom Van Cutsem, Jessie Dedecker, Wolfgang De Meuter Coordinating Workflow Allocation Execution in Mobile Environments Rohan Sen, Gregory Hackmann, Mart Haitjema, Gruia-Catalin Roman, Christopher Gill Fact Spaces: Coordination in the Face of Disconnection Stijn Mostinckx, Christophe Schol liers, Eline Philips, Charlotte Herzeel, Wolfgang De Meuter |
| Lunch | |
| 14:30 - 16:00 | SESSION 7: COMPONENTS AND SERVICES II (Chair: Gianluigi Zavattaro) (Joint session Coordination and FMOODS) Component Connectors with QoS Guarantees (COORD) Farhad Arbab, Tom Chothia, Meng Sun, Young-Joo Moon Adaptation of Open Component-based Systems (FMOODS) Pascal Poizat and Gwen Salaün. Context-Based Adaptation of Component Behavioural Interfaces (COORD) Javier Ca'mara, Carlos Canal Velasco, Javier Cubo, Ernesto Pimentel, Gwen Salaun |


Sending request to call {{ currentCall.callee }}
Sip call process initiated between your phone and {{ currentCall.callee }}
SIP call connected between your phone and {{ currentCall.callee }}
Call relay process started {{ currentCall.callee }}
Call connected to your browser {{ currentCall.callee }}
Error while calling {{ currentCall.callee }}


This merchant accepts Bob Pay, which can be installed just-in-time (JIT). Because only one URL-based payment method identifier is requested without any additional information, this page may skip the browser payment sheet and launch directly into Bob Pay. View source.
Price: USD $1.00


We're sorry but aec-startups-vue doesn't work properly without JavaScript enabled. Please enable it to continue.