Open Source PageFlow (a.k.a. State Machine) Writte

转载:http://www.manageability.org/blog/stuff/open-source-statemachine-for-user-interfaces-written-in-java

 

  1. Shocks - Shocks is a departure from previous servlet framework technologies. It is conceptually unique in that it does not attempt to implement the "MVC" design pattern. It uses a next-generation architecture which cleanly separates the components into DataSource, Action, Workflow and Presentation objects. At the core of the framework, Shocks contains a lightweight workflow engine built specifically to accomodate J2EE servlet-based web applications. This engine uses workflow metadata which is generated by the developer in a simple XML configuration file.
  2. OpenEmcee - The "OpenEmcee Microflow Engine for Java" is an open source framework for developing flexible, manageable, and adaptable applications. OpenEmcee differs from other MVC type frameworks, such as Struts, in that it is deployment neutral. By that, we mean that the system is appropriate for using in a great breadth of application types. Desktop apps, server applications, EJB's, CORBA services, near-time batch processing systems, messaging systems (JMS), and many other types of applications can be benefit from the structure our framework provides.
  3. SMC - The State Machine Compiler. Now you put your state diagram in one file using an easy-to-understand language. SMC generates the state pattern classes for you. No more hand-maintained transition matrices. No more widely scattered switch statements. Instead, the state diagram is in one place, coded directly from the picture to the SMC language and is easily maintained.
  4. Blissed - Blissed is a very small framework to assist in the creation, management and execution of processes and states. Blissed is not intended to be useful on its own, but rather may support a larger workflow system or other process-based application.
  5. jZonic - Zonic is a web application framework that consists of many parts including a workflow engine.
  6. UniMod - UniMod is a Java development framework that utilizes Finite State Machine approach. UniMod allows to design application logic with a help of set of State Diagrams, generate Finite State Machine XML description and then "run" this XML description in UniMod runtime environment.
  7. jStateMachine - Grand daddy of these however for some reason taken out of circulation! The author apparently would like to cash in on his work (can't blame him!). Anyway, if you're one of the lucky few who downloaded the original version (I did), be comforted in this statement found in the author's new website: "With our JStateMachine application framework you will be able to create user interfaces for your applications up to 40% faster."
  8. Struts Workflow Extension - Prevent the user from accidental double-submits, when hitting the browser's reload button; prevent the user from entering a sequence of actions in the middle, while you expect him to execute them in a pre-defined order; support the implementation of generic action sequences that can be reused in various contexts; cleaning up session attributes, when the user finishes or breaks out of a sequence of actions; prevent the user from breaking out of a sequence of actions you don't want him to
  9. BeeHive Page Flow - Java Page Flow is built upon a Struts-based Web application programming model. Java Page Flow leverages the power and extensibility of Struts while also eliminating the difficulties and challenges of building Struts-based applications.
  10. Commons Workflow - The Workflow project provides an engine that manages and executes scripts, codified in XML.
  11. WebFlow Navigation Manager (WFNM) - WebFlow Navigation Manager (WFNM) is a lightweight J2EE web framework, that can be used on top of any other J2EE web framework or even with servlets and JSPs, that allows: Webflow definition, server side navigation history and automatic session cleaning.
  12. Spring Web Flow - This library provides web flow functionality for the Spring framework. A web flow captures the page flow in (part of) a web application using a simple XML definition, allowing you to split a large application into several parts.
  13. Cocoon Control Flow - Cocoon has advanced control flow, the ability to describe the order of Web pages that have to be sent to the client, at any given point in time in an application. Traditional Web applications try to model the control flow of a Web application by modeling the application as a finite state machine (FSM). For simple Web applications, this model works fine. However, as the application grows, the number of states and transitions between them grows as well, and it becomes hard to visualize what's happening in the application.
  14. Struts Flow - Struts Flow is a port of Cocoon's Control Flow to Struts to allow complex workflow, like multi-form wizards, to be easily implemented using continuations-capable JavaScript. It provides the ability to describe the order of Web pages that have to be sent to the client, at any given point in time in an application. Struts Flow uses a low-impact integration method that allows an existing Struts application to use Struts Flow along side traditional Struts components like Actions and ActionForms.
  15. Javaflow - Jakarta Commons implementation of continuations in Java.
  16. Lakeshore - Lakeshore is a component based web framework that borrows heavily on the ideas present in Seaside 2 and Borges.
  17. SCXML - SCXML provides a generic state-machine based execution environment based on Harel State Tables. SCXML is a candidate for the control language within multiple markup languages coming out of the W3C (see Working Draft for details). Commons SCXML is an implementation aimed at creating and maintaining a Java SCXML engine capable of executing a state machine defined using a SCXML document, while abstracting out the environment interfaces.
  18. Rhino in Spring - Rhino in Spring is a project that intends to integrate Mozilla Rhino JavaScript interpreter, the interpreter for the best (in our opinion) dynamic language on the Java platform with Spring Framework. the project delivers a controller component for Spring MVC that allows complex control flows spanning several webpages in web applications to be expressed as a single structured algorithm in JavaScript, putting the rich set of control flow structures and function reusability of a full-blown language.
  19. ECharts - ECharts is a state machine-based programming language for event-driven systems derived from the standardized UML Statecharts language. ECharts supports hierarchical state machines, concurrent machines and a graphical syntax. In addition ECharts supports a simple textual syntax, machine reuse, multiple transition priority levels to minimize non-determinism, machine arrays, and a new approach to inter- and intra- machine communication.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值