`
cocogg
  • 浏览: 16610 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ODE的实现技术研究(jacob)

阅读更多
ODE引擎运行时利用Java并发对象(Java Concurrent Objects,Jacob)来完成过程实例的状态表示和并发性管理。
Jacob提供了应用级的并发机制,它不依赖于线程,这样就降低了系统的开销。

ODE的官方网站提供了一份Jacob的教程,粗略的读了以下,略知一二。
希望有兴趣的朋友一起探讨,或者明白的朋友,不吝赐教。

继续研究中.....
http://ode.apache.org/jacob.html

基本原理
先看一个例子
void process(order) {
  billingService.bill(order.billing);
  shippingService.ship(order.product, order.shipping, self);
  shipping = receive("shipping")
  order.customer.send(shipping.details);
}

java 伪代码看起来没什么问题,但是存在缺陷:
1、程序执行过程中出现问题,用户不得不再次发送订单。
2、等待线程过多的时候会导致java虚机down掉。

做如下修改
void process(order) {
  billingService.bill(order.billing);
  shippingService.ship(order.product, order.shipping, self);
  listenOn("shipping", part2);
}
void part2(shipping) {
  order.customer.send(shipping.details);
}


看起来会好一些,
but still has a lot of points of failure, where you're not sure if you actually billed the customer and shipped the product or not.

分享到:
评论
2 楼 cocogg 2009-05-11  
是没写完,最近比较忙,一直没有时间来写。有什么问题可以加我msn讨论。zyzgg@hotmail.com
1 楼 kungstriving 2009-05-11  
你好,我也在做相关方面的研究,这篇文章好像没写完啊,你是在做翻译吗

相关推荐

    ode_ode45多自由度_ode45自由度_ode45振动_odemdl_ode_

    使用ode45求解器,可以通过以下步骤实现: 1. **建立状态方程模型**:根据多自由度振动系统的物理特性,建立相应的状态空间模型。 2. **创建Simulink模型**:在Simulink工作区,添加必要的模块,如Sources(源)、...

    Apache ODE开发指南

    可以自定义不使用 JDBC 的 DAO 实现,但 ODE 并不提供这种 DAO 实现。对于自定义 DAO 实现,需要处理以下持久化问题:激活实例,跟踪哪些实例已经被创建;消息路由,哪些实例在等待哪些消息;变量,每个实例的 BPEL ...

    matlab_ode45.zip_ODE45_微分方程ode45

    在MATLAB中,`ode45`是求解常微分方程(ODE)初值问题的主要函数。这个工具能够高效、稳定地处理各种类型的线性和非线性微分方程组。`ode45`使用四阶Runge-Kutta方法,这是一种数值积分法,适用于连续、可微的函数。...

    Python-差分ODE求解器的PyTorch实现

    标题 "Python-差分ODE求解器的PyTorch实现" 涉及到的是将数值微分方程(ODE)求解技术与深度学习框架PyTorch相结合的主题。在这个领域,开发者通常会构建神经网络模型来模拟现实世界中的动态系统,而这些系统往往...

    Apache ODE - 1.架构介绍

    - **关键技术**:使用 Java Concurrent Objects (Jacob) 框架来实现流程的并发执行及状态持久化。 - **依赖**:需要 DAOs 来提供持久化支持,以确保在不可靠环境下也能可靠执行流程。 - **服务**:提供流程管理 API...

    ODE的示例程序

    ODE(Open Dynamics Engine)是一个开源的物理仿真库,主要用于实现刚体动力学模拟。它广泛应用于游戏开发、机器人模拟、虚拟现实以及机械工程等领域。这个压缩包中的"roboSimu"很可能是一个基于ODE的机器人动力学...

    控制系统仿真_ODE45_ode45控制_预测控制_非线性控制_stoproq_

    在实际应用中,这些文件可能包含非线性系统模型的定义、预测控制的算法实现以及与ode45的接口。通过分析和修改这些代码,我们可以调整预测控制器的参数,优化控制性能,或者研究不同非线性特性对系统行为的影响。 ...

    ode45的笔记_ODE45_matlabode45_

    ** ode45是MATLAB中的一个核心函数,用于求解常微分方程(Ordinary Differential Equation,简称ODE)的初值问题。该函数基于四阶Runge-Kutta方法,适用于非线性、高阶以及随时间变化的微分方程组。在MATLAB环境中,...

    VS 2008 ODE 源码

    此外,ODE源码的学习和研究对提升开发者在物理模拟和游戏编程方面的技能大有裨益。开发者可以通过阅读源码,了解如何实现物理引擎的内部机制,包括碰撞检测算法、刚体动力学求解等,这对于自定义物理行为或优化性能...

    用MATLAB的库函数ode45实现Lorenz的仿真

    在MATLAB中, ode45 是一个非常常用的内置函数,用于求解非线性常微分方程(ODE)组。这个例子中的“Lorenz的仿真”指的是使用ode45来模拟Lorenz系统,这是一个著名的混沌动力学模型,由气象学家Edward Lorenz在1963...

    odefunc_ode45齿轮_ODE45_齿轮odefunc_齿轮_齿轮ode45_源码

    3. **ode45函数详解**:ode45采用四阶Runge-Kutta方法,这是一种数值积分技术,能对初始值问题进行近似求解。它接受两个输入参数,一个是包含所有微分方程的函数,另一个是时间范围。 4. **odefunc函数**:在这个...

    The matlab ODE suite.pdf

    MATLAB ODE 套件实现了多种常微分方程的数值解法,包括隐式Runge-Kutta 方法、隐式 Rosenbrock 方法、BDF 方法等。这些方法可以解决非刚性和刚性问题,具有高精度和高效率。 3. 数值微分公式(NDF) 数值微分公式...

    ODE物理引擎实例源码及学习资料

    本资源包包含ODE的源码、实例项目以及一些精选的学习资料,非常适合对ODE感兴趣的开发者进行深入研究。 1. ODE源码: ODE的源代码提供了对其内部工作原理的深入了解。通过阅读源码,你可以学习如何构建物理世界、...

    3D-ode4j.zip

    通过研究和实践,你可以将3D-ode4j应用到游戏开发、虚拟现实场景、教育演示等各个领域,实现更逼真的3D互动体验。 总的来说,3D-ode4j是Java开发者探索3D物理模拟的重要工具,它将3D图形学和物理引擎结合在一起,为...

    ODE+多功能助手 下载神器

    ODE+多功能助手 下载神器

    matlab开发-ode86

    在MATLAB中,我们可以创建一个M文件(如ode86.m)来实现这个函数: ```matlab function dydt = odeFcn(t,y) % 在这里定义f(t,y) dydt = ...; % 根据实际问题填写 end ``` 然后,调用 ode86 函数来求解这个问题:...

    经典ODE教程

    这本书的定位是为研究生提供一个深入的学习资源,内容跨度长达两学期的课程,涵盖了经典的、经得起时间考验的ODE知识体系。教材的覆盖面非常广,包括ODE的基础理论、现代非线性动力系统理论以及与数学的其他领域和...

    Matlab_ODE_ode_matlab_presidentuju_code_常微分方程_

    在Matlab中,常微分方程(Ordinary Differential Equations, ODE)的求解是一项常见的任务,尤其对于科学计算和工程应用来说至关重要。"ode"是Matlab中的一个核心函数族,用于解决各种类型的常微分方程。本教程以...

Global site tag (gtag.js) - Google Analytics