Thread: [Sop-svn] SF.net SVN: sop:[4] trunk/sopf
Status: Planning
Brought to you by:
labiknight
|
From: <lab...@us...> - 2009-05-15 10:56:54
|
Revision: 4
http://sop.svn.sourceforge.net/sop/?rev=4&view=rev
Author: labiknight
Date: 2009-05-15 10:55:51 +0000 (Fri, 15 May 2009)
Log Message:
-----------
Updated packages
Labi Oyapero
Modified Paths:
--------------
trunk/sopf/pom.xml
Added Paths:
-----------
trunk/sopf/src/main/java/org/
trunk/sopf/src/main/java/org/sf/
trunk/sopf/src/main/java/org/sf/net/
trunk/sopf/src/main/java/org/sf/net/sopf/
trunk/sopf/src/site/ml/images/concept.gif
trunk/sopf/src/test/java/org/
trunk/sopf/src/test/java/org/sf/
trunk/sopf/src/test/java/org/sf/net/
trunk/sopf/src/test/java/org/sf/net/sopf/
Removed Paths:
-------------
trunk/sopf/src/main/java/com/intellinova/
trunk/sopf/src/main/java/org/sf/net/sopf/App.java
trunk/sopf/src/test/java/com/intellinova/
Property Changed:
----------------
trunk/sopf/
trunk/sopf/cache/
trunk/sopf/design/
trunk/sopf/kernel/
trunk/sopf/model/
Property changes on: trunk/sopf
___________________________________________________________________
Added: svn:ignore
+ target
.classpath
.project
.settings
Property changes on: trunk/sopf/cache
___________________________________________________________________
Added: svn:ignore
+ .settings
.project
Property changes on: trunk/sopf/design
___________________________________________________________________
Added: svn:ignore
+ .settings
.project
Property changes on: trunk/sopf/kernel
___________________________________________________________________
Added: svn:ignore
+ .settings
.project
Property changes on: trunk/sopf/model
___________________________________________________________________
Added: svn:ignore
+ .settings
.project
Modified: trunk/sopf/pom.xml
===================================================================
--- trunk/sopf/pom.xml 2009-05-15 10:48:51 UTC (rev 3)
+++ trunk/sopf/pom.xml 2009-05-15 10:55:51 UTC (rev 4)
@@ -1,8 +1,8 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>com.intellinova</groupId>
- <artifactId>sop</artifactId>
+ <groupId>org.sf.net.sopf</groupId>
+ <artifactId>sopf</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>sop</name>
Deleted: trunk/sopf/src/main/java/org/sf/net/sopf/App.java
===================================================================
--- trunk/sop/src/main/java/com/intellinova/App.java 2009-05-08 03:23:01 UTC (rev 1)
+++ trunk/sopf/src/main/java/org/sf/net/sopf/App.java 2009-05-15 10:55:51 UTC (rev 4)
@@ -1,13 +0,0 @@
-package com.intellinova;
-
-/**
- * Hello world!
- *
- */
-public class App
-{
- public static void main( String[] args )
- {
- System.out.println( "Hello World!" );
- }
-}
Added: trunk/sopf/src/site/ml/images/concept.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/concept.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lab...@us...> - 2009-05-15 11:09:49
|
Revision: 5
http://sop.svn.sourceforge.net/sop/?rev=5&view=rev
Author: labiknight
Date: 2009-05-15 11:08:54 +0000 (Fri, 15 May 2009)
Log Message:
-----------
Updated packages and pom files.
Labi Oyapero
Modified Paths:
--------------
trunk/sopf/cache/pom.xml
trunk/sopf/design/pom.xml
trunk/sopf/kernel/pom.xml
trunk/sopf/model/pom.xml
trunk/sopf/pom.xml
Modified: trunk/sopf/cache/pom.xml
===================================================================
--- trunk/sopf/cache/pom.xml 2009-05-15 10:55:51 UTC (rev 4)
+++ trunk/sopf/cache/pom.xml 2009-05-15 11:08:54 UTC (rev 5)
@@ -1,13 +1,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>sop</artifactId>
- <groupId>com.intellinova</groupId>
+ <artifactId>sopf</artifactId>
+ <groupId>org.sf.net</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
- <groupId>com.intellinova.sop</groupId>
+ <groupId>org.sf.net.sopf</groupId>
<artifactId>cache</artifactId>
- <name>sop-cache</name>
+ <name>sopf-cache</name>
<version>1.0-SNAPSHOT</version>
<description>This is the cache for the sop framework</description>
</project>
\ No newline at end of file
Modified: trunk/sopf/design/pom.xml
===================================================================
--- trunk/sopf/design/pom.xml 2009-05-15 10:55:51 UTC (rev 4)
+++ trunk/sopf/design/pom.xml 2009-05-15 11:08:54 UTC (rev 5)
@@ -2,10 +2,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>com.intellinova</groupId>
- <artifactId>sop</artifactId>
+ <groupId>org.sf.net</groupId>
+ <artifactId>sopf</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
+ <groupId>org.sf.net.sopf</groupId>
<artifactId>design</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
Modified: trunk/sopf/kernel/pom.xml
===================================================================
--- trunk/sopf/kernel/pom.xml 2009-05-15 10:55:51 UTC (rev 4)
+++ trunk/sopf/kernel/pom.xml 2009-05-15 11:08:54 UTC (rev 5)
@@ -1,11 +1,13 @@
-<?xml version="1.0" encoding="UTF-8"?><project>
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>sop</artifactId>
- <groupId>com.intellinova</groupId>
+ <artifactId>sopf</artifactId>
+ <groupId>org.sf.net</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
- <groupId>com.intellinova</groupId>
+ <groupId>org.sf.net.sopf</groupId>
<artifactId>kernel</artifactId>
<name>kernel</name>
<version>1.0-SNAPSHOT</version>
@@ -23,7 +25,7 @@
<version>1.4</version>
</dependency>
<dependency>
- <groupId>com.intellinova</groupId>
+ <groupId>org.sf.net.sopf</groupId>
<artifactId>model</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
Modified: trunk/sopf/model/pom.xml
===================================================================
--- trunk/sopf/model/pom.xml 2009-05-15 10:55:51 UTC (rev 4)
+++ trunk/sopf/model/pom.xml 2009-05-15 11:08:54 UTC (rev 5)
@@ -2,10 +2,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>com.intellinova</groupId>
- <artifactId>sop</artifactId>
+ <groupId>org.sf.net</groupId>
+ <artifactId>sopf</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
+ <groupId>org.sf.net.sopf</groupId>
<artifactId>model</artifactId>
<packaging>jar</packaging>
<name>model</name>
Modified: trunk/sopf/pom.xml
===================================================================
--- trunk/sopf/pom.xml 2009-05-15 10:55:51 UTC (rev 4)
+++ trunk/sopf/pom.xml 2009-05-15 11:08:54 UTC (rev 5)
@@ -1,11 +1,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.sf.net.sopf</groupId>
+ <groupId>org.sf.net</groupId>
<artifactId>sopf</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
- <name>sop</name>
+ <name>sopf</name>
<modules>
<module>model</module>
<module>design</module>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lab...@us...> - 2009-05-20 11:21:31
|
Revision: 16
http://sop.svn.sourceforge.net/sop/?rev=16&view=rev
Author: labiknight
Date: 2009-05-20 11:21:25 +0000 (Wed, 20 May 2009)
Log Message:
-----------
Added logo image to the site page.
Added latest logo-image.
Updated design-module documentation.
Author: Labi Oyapero
Modified Paths:
--------------
trunk/sopf/design/src/site/apt/design.apt
trunk/sopf/src/site/ml/index.html
Added Paths:
-----------
trunk/sopf/src/site/apt/project_dev_plan.apt
trunk/sopf/src/site/ml/images/concept4.png
Modified: trunk/sopf/design/src/site/apt/design.apt
===================================================================
--- trunk/sopf/design/src/site/apt/design.apt 2009-05-15 12:00:56 UTC (rev 15)
+++ trunk/sopf/design/src/site/apt/design.apt 2009-05-20 11:21:25 UTC (rev 16)
@@ -4,4 +4,27 @@
Owolabi Oyapero
-----------------------------
2009/05/08
------------------------------
\ No newline at end of file
+-----------------------------
+TOC
+ *Goals
+ *Requirements
+* Concepts
+ An IDE for building object graphs that is geared towards building neural-network.
+ Has specialized functionalities for wiring up a neural-network in a specific way.
+* Goals
+ * Build object graph
+ * Support arbitrary implementation of the core interfaces
+ * Apply arbitrary functions,
+ * Connect arbitrary objects via fields provided they are compatible
+* Requirements
+ * Native support of arbitrary implementation of the core interfaces
+ * Connect arbitrary objects via fields provided they are compatible
+ * View & Edit object properties
+ * Drill down nested-properties
+ * Apply arbitrary functions,
+ * Selecting objects (in the IDE) as arguments for function
+ * Enter static text as argument of functions (mostly for simple properties)
+ * Register arbitrary functions (at runtime via jars? | fragment?) in the project-folder
+ * Register arbitrary component-classes (via a special-manifest header of the jars | ?fragment)
+ * Provide native functions for the core interfaces, this should be easily extended by a fragment
+
\ No newline at end of file
Added: trunk/sopf/src/site/apt/project_dev_plan.apt
===================================================================
--- trunk/sopf/src/site/apt/project_dev_plan.apt (rev 0)
+++ trunk/sopf/src/site/apt/project_dev_plan.apt 2009-05-20 11:21:25 UTC (rev 16)
@@ -0,0 +1,164 @@
+----------------
+Project Development Plan
+----------------
+Owolabi Oyapero
+----------------
+2009/05/20
+-----------------
+Preface
+ Document is based on template located at http://www.cit.gu.edu.au/teaching/3192CIT/documentation/pdplan.html
+Table Of Contents
+ * {{1. Objectives}}
+ * {{Architecture}}
+ * {{Modules Development}}
+ * {{2. Project Overview}}
+ * {{Project Deliverables}}
+ * {{3. References and Terminology}}
+ * {{Referenced Documents}}
+ * {{Definitions and Acronyms}}
+ * {{4. Work Packages, Schedule, and Budget}}
+ * {{Work Packages and Dependencies}}
+ * {{Resource Requirements and Allocation}}
+ * {{Schedule}}
+
+* 1. Objectives
+** Architecture
+ Define a robust architecture for all modules
+** Modules Development
+ Complete the development of the Model, Cache, Kernel, Design, and Analysis module.
+** Userguide Documentation
+ Complete a userguide documentation of the framework.
+
+* 2. Project Overview
+** Project Deliverables
+ * Architecture document reflecting the architecture of the modules.
+ * Binary and source zip/tar-gz of the packaged modules
+ * Userguide document
+
+* 3. References and Terminology
+** Referenced Documents
+ * SOPF Development Guidelines: Defines ethics, development-methodology, organization,
+ procedures & requirements around the various activities of the projects.
+ * Model reference document
+ * Cache reference document
+ * Kernel reference document
+ * Design-plugin reference document
+ * Analysis plugin reference document
+** Definitions and Acronyms
+ * LHL: Low and High Level, pertaining to requirements.
+ * WK: Weeks
+ * D: days
+ * Neural-network: An object graph consisting of neural components, there is a
+ root object representing the system. The system consist of nested-components.
+ * Neural-system: Synonym for neural-network.
+ * SOPF: Synapse Oriented Programming Framework
+
+* 4. Work Packages, Schedule, and Resources
+** Work Packages and Dependencies
+ [[1]] Infrastructure Setup
+ [[1.1]] Configure task tracking
+ [[1.2]] Enter all tasks into task-tracking repository
+ [[1.3]] Setup automatic test execution
+ [[2]] Define Requirements
+ [[2.1]] Identify core-module LHL requirements
+ [[2.2]] Identify model-module LHL requirements
+ [[2.3]] Identify cache-module LHL requirements
+ [[2.4]] Identify kernel-module LHL requirements
+ [[2.5]] Identify design-plugin LHL requirements
+ [[2.6]] Identify analysis-plugin LHL requirements
+ [[3]] Define Architecture
+ [[3.1]] Define core-module's architecture & interfaces
+ [[3.2]] Define model-module's architecture & interfaces
+ [[3.3]] Define cache-module's architecture & interfaces
+ [[3.4]] Define kernel-module's architecture & interfaces
+ [[3.5]] Define design-plugin's architecture & interfaces
+ [[3.6]] Define analysis-plugin's architecture & interfaces
+ [[4]] Development
+ [[4.1]] Core-module, no dependencies.
+ [[4.2]] Model-Module core interfaces, depends on core-module.
+ [[4.3]] Cache-Module, depends on core-module.
+ [[4.4]] Kernel-Module, depends on core-module & cache-module.
+ [[4.5]] Design-plug-in Module, depends on the Model-Module.
+ [[4.6]] Analysis Module, no dependencies.
+ [[4.7]] Model-Module core interfaces implementations, depends on [[3.2]].
+ [[5]] Documentation
+ [[5.1]] Developer guide documentation.
+ [[5.2]] User guide documentation.
+
+** Resource Requirements
+ * Work 1.1 requires one resource for 1 days
+ * Work 1.2 requires one resource for 1 days
+ * Work 1.3 requires one resource for 3 days
+ * Work 2.1 requires one resource for 1 days
+ * Work 2.2 requires one resource for 1 days
+ * Work 2.3 requires one resource for 4 days
+ * Work 2.4 requires one resource for 2 days
+ * Work 2.5 requires one resource for 3 days
+ * Work 2.6 requires one resource for 3 days
+ * Work 3.1 requires one resource for 1 days
+ * Work 3.2 requires one resource for 1 days
+ * Work 3.3 requires one resource for 8 days
+ * Work 3.4 requires one resource for 4 days
+ * Work 3.5 requires one resource for 8 days
+ * Work 3.6 requires one resource for 8 days
+ * Work 4.1 requires one resource for 1 days
+ * Work 4.2 requires one resource for 1.5 days
+ * Work 4.3 requires one resource for 32 days
+ * Work 4.4 requires one resource for 24 days
+ * Work 4.5 requires one resource for 36 days
+ * Work 4.6 requires one resource for 36 days
+ * Work 4.7 requires one resource for 18 days
+ * Work 5.1 requires one resource for 24 days
+ * Work 5.2 requires one resource for 24 days
+** Resource Allocation
+ * We have four resources
+ * Nishikant Tiwari
+ * Prasenjit Saha
+ * Sergey
+ * Labi Oyapero
+ * TechElisa
+** Assumptions
+ * Day implies 7 hours of work.
+ * Each "developer" on average, contributes 7 hours per calendar-week
+ * Project time-line starts on May 25 2009
+** Schedule
+ * The release schedule is diagramed below.
++-------Official Start May 25th -----+
+ v \
+ |R1 Finish Task-1.1 06/01/2009
+ |R2 Finish Task-1.2 06/08/2009
+ |3WK|R3 Finish Task-1.3 06/15/2009 -Infrastructure Setup Complete
+ v \
+ |R2&R1 Work 2.1 06/15/2009
+ |R1 Work 2.2 06/15/2009
+ |3WK|R4&R1 Work 2.3 06/29/2009
+ |2WK|R2&R1 Work 2.4 06/29/2009
+ |3WK|R3&R1 Work 2.5 07/05/2009
+ |3WK|R3&R1 Work 2.6 07/26/2009 -Requirements Defined
+ |====== We NEED another plugin-developer (R5) by this point !!!
+ |R2&R1 Work 3.1 07/05/2009
+ |R1 Work 3.2 07/05/2009
+ |8WK|R4&R1 Work 3.3 08/24/2009
+ |4WK|R2&R1 Work 3.4 07/27/2009
+ |8WK|R3&R1 Work 3.5 08/31/2009
+ |8WK|R5&R1 Work 3.6 08/31/2009 -Architecture Defined
+ |
+ |3D|R1 Work 4.1 07/27/2009
+ |11D|R1 Work 4.2 08/07/2009
+ |32WK|R4&R1 Work 4.3 05/08/2010
+ |24WK|R2&R1 Work 4.4 02/15/2010
+ |36WK|R3&R1 Work 4.5 05/31/2010
+ |36WK|R5&R1 Work 4.6 05/31/2010
+ |18WK|R1 Work 4.7 05/31/2010 -Development Complete
+ | \
+ v v
+ |24WK|R1,R2,R3,R4,R5 Work 5.1 11/30/2010
+ |24WK|R6 Work 5.2 11/30/2010 - Documentation Complete
+ |
+ |
+ +-- 0.9.x branch created ------+
+ | \
+ | v
+ v SOPF 0.9.1 release (Dec 15 2010)
+
++------------------------------------+
Property changes on: trunk/sopf/src/site/apt/project_dev_plan.apt
___________________________________________________________________
Added: svn:executable
+ *
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Added: trunk/sopf/src/site/ml/images/concept4.png
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/concept4.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Modified: trunk/sopf/src/site/ml/index.html
===================================================================
--- trunk/sopf/src/site/ml/index.html 2009-05-15 12:00:56 UTC (rev 15)
+++ trunk/sopf/src/site/ml/index.html 2009-05-20 11:21:25 UTC (rev 16)
@@ -18,7 +18,11 @@
line-height: 140%;
font-size: 90%;
}
-
+ img.logo
+ {
+ width:150px;
+ heigth: 60px;
+ }
a img
{
border-style: none;
@@ -81,16 +85,18 @@
}
div.topLeft
{
+ vertical-align: top;
border: thin;
float: left;
- width: 30%;
+ width: 43%;
clear: left;
+ display: inline;
}
div.topRight
{
text-align: right;
float: right;
- width: 65%;
+ width: 56%;
clear: right;
}
/* footer */
@@ -114,12 +120,17 @@
font-size: large;
font-weight: bold;
}
- span.smallTitle
+ strong.smallTitle
{
- font-size: large;
- font-weight: bold;
- float: left;
- margin-top: 30px;
+ /*font-size: large;
+ float: right;
+
+ border:#000 solid 1px;
+ */
+ height: 100%;;
+ padding-bottom: 20%;
+ vertical-align: middle;
+ color: olive;
}
</style>
@@ -150,7 +161,8 @@
<body>
<div class="top">
<div class="topLeft">
- <h1 >SOPF</h1>
+ <img class="logo" src="images/concept4.png"/>
+ <strong class="smallTitle">Synapse Oriented Programming Framework</strong>
</div>
<div class="topRight">
<strong>
@@ -172,7 +184,6 @@
class="donate" title="Donate to this project">
Donate money</a>
</strong>
- <span class="smallTitle">Synapse Oriented Programming Framework</span>
<a href="http://sourceforge.net/community/cca09/nominate/?project_name=SOPF&project_url=http://sop.sourceforge.net/">
<img src="http://sourceforge.net/images/cca/cca_nominate.png" border="0"/>
</a>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lab...@us...> - 2009-05-31 20:29:03
|
Revision: 24
http://sop.svn.sourceforge.net/sop/?rev=24&view=rev
Author: labiknight
Date: 2009-05-31 20:29:01 +0000 (Sun, 31 May 2009)
Log Message:
-----------
Updated the maven configuration.
Labi Oyapero
Modified Paths:
--------------
trunk/sopf/cache/pom.xml
trunk/sopf/design/pom.xml
trunk/sopf/kernel/pom.xml
trunk/sopf/model/pom.xml
trunk/sopf/pom.xml
Modified: trunk/sopf/cache/pom.xml
===================================================================
--- trunk/sopf/cache/pom.xml 2009-05-31 20:20:19 UTC (rev 23)
+++ trunk/sopf/cache/pom.xml 2009-05-31 20:29:01 UTC (rev 24)
@@ -10,4 +10,27 @@
<name>sopf-cache</name>
<version>1.0-SNAPSHOT</version>
<description>This is the cache for the sop framework</description>
+ <build>
+ <defaultGoal>package</defaultGoal>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <testSourceDirectory>src/testjava</testSourceDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ <excludes>
+ </excludes>
+ </testResource>
+ </testResources>
+ </build>
</project>
\ No newline at end of file
Modified: trunk/sopf/design/pom.xml
===================================================================
--- trunk/sopf/design/pom.xml 2009-05-31 20:20:19 UTC (rev 23)
+++ trunk/sopf/design/pom.xml 2009-05-31 20:29:01 UTC (rev 24)
@@ -11,7 +11,30 @@
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>design</name>
- <url>http://maven.apache.org</url>
+ <url>http://sop.sourceforge.net</url>
+ <build>
+ <defaultGoal>package</defaultGoal>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <testSourceDirectory>src/testjava</testSourceDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ <excludes>
+ </excludes>
+ </testResource>
+ </testResources>
+ </build>
<dependencies>
<dependency>
<groupId>junit</groupId>
Modified: trunk/sopf/kernel/pom.xml
===================================================================
--- trunk/sopf/kernel/pom.xml 2009-05-31 20:20:19 UTC (rev 23)
+++ trunk/sopf/kernel/pom.xml 2009-05-31 20:29:01 UTC (rev 24)
@@ -11,7 +11,30 @@
<artifactId>kernel</artifactId>
<name>kernel</name>
<version>1.0-SNAPSHOT</version>
- <url>http://maven.apache.org</url>
+ <url>http://sop.sourceforge.net</url>
+ <build>
+ <defaultGoal>package</defaultGoal>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <testSourceDirectory>src/testjava</testSourceDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ <excludes>
+ </excludes>
+ </testResource>
+ </testResources>
+ </build>
<dependencies>
<dependency>
<groupId>junit</groupId>
Modified: trunk/sopf/model/pom.xml
===================================================================
--- trunk/sopf/model/pom.xml 2009-05-31 20:20:19 UTC (rev 23)
+++ trunk/sopf/model/pom.xml 2009-05-31 20:29:01 UTC (rev 24)
@@ -10,7 +10,30 @@
<artifactId>model</artifactId>
<packaging>jar</packaging>
<name>model</name>
- <url>http://maven.apache.org</url>
+ <url>http://sop.sourceforge.net</url>
+ <build>
+ <defaultGoal>package</defaultGoal>
+ <sourceDirectory>src/main/java</sourceDirectory>
+ <testSourceDirectory>src/testjava</testSourceDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ <excludes>
+ </excludes>
+ </testResource>
+ </testResources>
+ </build>
<dependencies>
<dependency>
<groupId>junit</groupId>
Modified: trunk/sopf/pom.xml
===================================================================
--- trunk/sopf/pom.xml 2009-05-31 20:20:19 UTC (rev 23)
+++ trunk/sopf/pom.xml 2009-05-31 20:29:01 UTC (rev 24)
@@ -12,7 +12,7 @@
<module>kernel</module>
<module>cache</module>
</modules>
- <url>http://maven.apache.org</url>
+ <url>http://sop.sourceforge.net</url>
<build>
<plugins>
<plugin>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lab...@us...> - 2009-06-04 01:13:18
|
Revision: 33
http://sop.svn.sourceforge.net/sop/?rev=33&view=rev
Author: labiknight
Date: 2009-06-04 01:13:16 +0000 (Thu, 04 Jun 2009)
Log Message:
-----------
Updated project setup.
Labi Oyapero
Modified Paths:
--------------
trunk/sopf/model/pom.xml
Added Paths:
-----------
trunk/sopf/design/src/main/resources/
trunk/sopf/design/src/test/resources/
trunk/sopf/kernel/src/main/resources/
trunk/sopf/kernel/src/test/resources/
trunk/sopf/model/src/main/resources/
trunk/sopf/model/src/test/resources/
Modified: trunk/sopf/model/pom.xml
===================================================================
--- trunk/sopf/model/pom.xml 2009-06-03 02:07:41 UTC (rev 32)
+++ trunk/sopf/model/pom.xml 2009-06-04 01:13:16 UTC (rev 33)
@@ -14,7 +14,7 @@
<build>
<defaultGoal>package</defaultGoal>
<sourceDirectory>src/main/java</sourceDirectory>
- <testSourceDirectory>src/testjava</testSourceDirectory>
+ <testSourceDirectory>src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lab...@us...> - 2009-06-16 10:29:35
|
Revision: 34
http://sop.svn.sourceforge.net/sop/?rev=34&view=rev
Author: labiknight
Date: 2009-06-16 10:28:57 +0000 (Tue, 16 Jun 2009)
Log Message:
-----------
Updated the site courtesy of evyater.
Modified Paths:
--------------
trunk/sopf/cache/src/site/apt/cache.apt
trunk/sopf/src/site/ml/index.html
Added Paths:
-----------
trunk/sopf/src/site/ml/Join_this_project.html
trunk/sopf/src/site/ml/License.html
trunk/sopf/src/site/ml/Project_Goals.html
trunk/sopf/src/site/ml/Target_Audience.html
trunk/sopf/src/site/ml/images/corporate_logo.gif
trunk/sopf/src/site/ml/images/file.gif
trunk/sopf/src/site/ml/images/folder-closed.gif
trunk/sopf/src/site/ml/images/folder-open.gif
trunk/sopf/src/site/ml/images/help_logo.gif
trunk/sopf/src/site/ml/images/icon_alert.gif
trunk/sopf/src/site/ml/images/icon_alertsml.gif
trunk/sopf/src/site/ml/images/icon_arrowfolder1_sml.gif
trunk/sopf/src/site/ml/images/icon_arrowfolder2_sml.gif
trunk/sopf/src/site/ml/images/icon_arrowfolderclosed1_sml.gif
trunk/sopf/src/site/ml/images/icon_arrowfolderopen2_sml.gif
trunk/sopf/src/site/ml/images/icon_arrowmembers1_sml.gif
trunk/sopf/src/site/ml/images/icon_arrowmembers2_sml.gif
trunk/sopf/src/site/ml/images/icon_arrowusergroups1_sml.gif
trunk/sopf/src/site/ml/images/icon_arrowusergroups2_sml.gif
trunk/sopf/src/site/ml/images/icon_arrowwaste1_sml.gif
trunk/sopf/src/site/ml/images/icon_arrowwaste2_sml.gif
trunk/sopf/src/site/ml/images/icon_confirmsml.gif
trunk/sopf/src/site/ml/images/icon_doc_lrg.gif
trunk/sopf/src/site/ml/images/icon_doc_sml.gif
trunk/sopf/src/site/ml/images/icon_error_lrg.gif
trunk/sopf/src/site/ml/images/icon_error_sml.gif
trunk/sopf/src/site/ml/images/icon_folder_lrg.gif
trunk/sopf/src/site/ml/images/icon_folder_sml.gif
trunk/sopf/src/site/ml/images/icon_help_lrg.gif
trunk/sopf/src/site/ml/images/icon_help_sml.gif
trunk/sopf/src/site/ml/images/icon_info_lrg.gif
trunk/sopf/src/site/ml/images/icon_info_sml.gif
trunk/sopf/src/site/ml/images/icon_infosml.gif
trunk/sopf/src/site/ml/images/icon_members_lrg.gif
trunk/sopf/src/site/ml/images/icon_members_sml.gif
trunk/sopf/src/site/ml/images/icon_sortdown.gif
trunk/sopf/src/site/ml/images/icon_sortleft.gif
trunk/sopf/src/site/ml/images/icon_sortright.gif
trunk/sopf/src/site/ml/images/icon_sortup.gif
trunk/sopf/src/site/ml/images/icon_success_lrg.gif
trunk/sopf/src/site/ml/images/icon_success_sml.gif
trunk/sopf/src/site/ml/images/icon_usergroups_lrg.gif
trunk/sopf/src/site/ml/images/icon_usergroups_sml.gif
trunk/sopf/src/site/ml/images/icon_warning_lrg.gif
trunk/sopf/src/site/ml/images/icon_warning_sml.gif
trunk/sopf/src/site/ml/images/icon_waste_lrg.gif
trunk/sopf/src/site/ml/images/icon_waste_sml.gif
trunk/sopf/src/site/ml/images/nw_maj.gif
trunk/sopf/src/site/ml/images/nw_maj_hi.gif
trunk/sopf/src/site/ml/images/nw_maj_rond.gif
trunk/sopf/src/site/ml/images/nw_med.gif
trunk/sopf/src/site/ml/images/nw_med_hi.gif
trunk/sopf/src/site/ml/images/nw_med_rond.gif
trunk/sopf/src/site/ml/images/nw_min.gif
trunk/sopf/src/site/ml/images/nw_min_036.gif
trunk/sopf/src/site/ml/images/nw_min_hi.gif
trunk/sopf/src/site/ml/images/poweredby_036.gif
trunk/sopf/src/site/ml/images/product_logo.gif
trunk/sopf/src/site/ml/images/se_maj_rond.gif
trunk/sopf/src/site/ml/images/strich.gif
trunk/sopf/src/site/ml/images/sw_maj_rond.gif
trunk/sopf/src/site/ml/images/sw_med_rond.gif
trunk/sopf/src/site/ml/images/sw_min.gif
trunk/sopf/src/site/ml/index_files/
trunk/sopf/src/site/ml/index_files/maven.css
trunk/sopf/src/site/ml/index_files/print.css
trunk/sopf/src/site/ml/index_files/sflogo.gif
trunk/sopf/src/site/ml/index_files/sopflogo.png
trunk/sopf/src/site/ml/index_files/tigris.css
trunk/sopf/src/site/ml/logos/
trunk/sopf/src/site/ml/logos/concept.gif
trunk/sopf/src/site/ml/logos/concept4.png
trunk/sopf/src/site/ml/logos/concept6.3.png
trunk/sopf/src/site/ml/logos/concept6.8.png
trunk/sopf/src/site/ml/logos/concept6.png
trunk/sopf/src/site/ml/style/
trunk/sopf/src/site/ml/style/inst.css
trunk/sopf/src/site/ml/style/maven.css
trunk/sopf/src/site/ml/style/maven_ns4_only.css
trunk/sopf/src/site/ml/style/ns4_only.css
trunk/sopf/src/site/ml/style/print.css
trunk/sopf/src/site/ml/style/tigris.css
Removed Paths:
-------------
trunk/sopf/src/site/ml/images/concept.gif
trunk/sopf/src/site/ml/images/concept4.png
trunk/sopf/src/site/ml/images/concept6.3.png
trunk/sopf/src/site/ml/images/concept6.8.png
trunk/sopf/src/site/ml/images/concept6.png
trunk/sopf/src/site/ml/images/sflogo.png
Modified: trunk/sopf/cache/src/site/apt/cache.apt
===================================================================
--- trunk/sopf/cache/src/site/apt/cache.apt 2009-06-04 01:13:16 UTC (rev 33)
+++ trunk/sopf/cache/src/site/apt/cache.apt 2009-06-16 10:28:57 UTC (rev 34)
@@ -34,7 +34,7 @@
* Must be pausable,although pause signal-must be broadcasted to all siblings
* Must have an alive msg
* list siblings lateralcaches
- * Accept existing headSibling or contest for it
+ * Accept existing facilitator or contest for it
* broadcast to a broadcast ip and listen for others
* Cannot start rounds until all siblings are up
* Sync persistence interval -ensure that persistence occurs at same interval at all nodes
@@ -50,7 +50,7 @@
* DiskIndexCache (each queue/collection may be assigned region)
* BackupCache initiates request for backing up the data to BackupCache (low-priority-thread)
* Reallocation is going to be different, each lateralCache will send the data-obj to appropriate cache
- * gu-data delta is sent to headSibling
+ * gu-data delta is sent to facilitator
* A node cannot just quit, a little more complex
* Facilitator (in addition to the functionalities above meet the ones below)
* May be determined by "voting"
@@ -181,7 +181,7 @@
* CacheShutdown
* Messages:
* LateralCache to LateralCache
- * DistTaskMsg - for distributing task to appropiate cache
+ * DistTaskMsg - for distributing task to appropriate cache
Format: [disk-task-msg-bits, [task]*, end-bits]
* DistDataMsg - for moving data-obj to its allocated lateralCache
Format: [dist-data-msg-bits, [data]*, end-bits]
Added: trunk/sopf/src/site/ml/Join_this_project.html
===================================================================
--- trunk/sopf/src/site/ml/Join_this_project.html (rev 0)
+++ trunk/sopf/src/site/ml/Join_this_project.html 2009-06-16 10:28:57 UTC (rev 34)
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
+<HTML><HEAD><TITLE>SOPF: Synapse Oriented Programming Framework</TITLE>
+<STYLE type=text/css>@import url( ./style/tigris.css );
+@import url( ./style/maven.css );
+.dtd-comment {
+ FONT-WEIGHT: bold; COLOR: #993399
+}
+</STYLE>
+
+<SCRIPT type=text/javascript>
+ if (document.layers) {
+ document.writeln('<link rel="stylesheet" type="text/css" href="./style/ns4_only.css" media="screen" /><link rel="stylesheet" type="text/css" href="./style/maven_ns4_only.css" media="screen" />')
+ }
+ </SCRIPT>
+<LINK media=print href="index_files/print.css" type=text/css rel=stylesheet>
+<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<BODY class=composite>
+<DIV id=banner>
+<TABLE cellSpacing=0 cellPadding=8 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD>
+ <H1>SOPF: Synapse Oriented Programming Framework</H1></TD>
+ <TD>
+ <DIV id=login align=right><A
+ href="http://sourceforge.net/projects/sop"><IMG
+ alt="Get sopf - Synapse Oriented Programming Frameworks"
+ src="index_files/concept6.8.png"
+border=0></A></DIV></TD></TR></TBODY></TABLE></DIV>
+<DIV id=breadcrumbs>
+<TABLE cellSpacing=0 cellPadding=4 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD>
+ <DIV align=right><A href="http://sop.sourceforge.net/index.html">Home
+ Page</A> | <A href="http://sourceforge.net/projects/sop/">SourceForge
+ Page</A> | <A href="http://sop.sourceforge.net/mail-lists.html">Mailing
+ Lists</A> | <A href="http://sop.sourceforge.net/bugs.html">Bugs</A> | <A
+ href="http://sourceforge.net/project/showfiles.php?group_id=261563">Downloads</A>
+ </DIV></TD></TR></TBODY></TABLE></DIV>
+<TABLE id=main cellSpacing=0 cellPadding=8 width="100%" border=0>
+ <TBODY>
+ <TR vAlign=top>
+ <TD id=leftcol width="20%">
+ <DIV id=navcolumn>
+ <DIV><STRONG>SOPF Basics</STRONG>
+ <DIV><SMALL><A href="index.html">Overview</A></SMALL>
+ <DIV><SMALL><A
+ href="Project_Goals.html">Project Goals</A> </SMALL></DIV>
+ <DIV><SMALL><A href="Target_Audience.html">Target Audience</A> </SMALL></DIV>
+ <DIV><SMALL><A
+ href="License.html">License</A>
+ </SMALL></DIV></DIV>
+ <DIV><SMALL><A href="Join_this_project.html"><SPAN class=menu-selection>Join this project</SPAN></A> </SMALL></DIV>
+ <DIV><SMALL><A href="http://sourceforge.net/support/getsupport.php?group_id=261563">Support</A>
+ </SMALL>
+ <DIV><SMALL><A href="http://apps.sourceforge.net/phpbb/sop/">Forum</A>
+ </SMALL></DIV>
+ <DIV><SMALL><A href="http://sop.sourceforge.net/mail-lists.html">Mailing
+ Lists</A> </SMALL></DIV>
+ <DIV><SMALL><A href="">Bugs</A>
+ </SMALL></DIV></DIV>
+ </DIV>
+ </TD>
+ <TD>
+ <DIV id=bodycol>
+ <DIV class=app>
+ <DIV class=h3>
+ <H3><A name=join</A>How to join this project?</H3>
+ <p>
+ To join this project, please contact the project administrators of
+ this
+ project, as shown on the
+ <a href="http://sourceforge.net/projects/sop/">
+ project summary page</a>
+ .
+ </p>
+ </DIV>
+
+ <DIV class=h3>
+ <H3><A name=source</A>How to get the source code?</H3>
+ <p>
+ Source code for this project is available through the
+ Subversion SCM repository used by the project, as accessible from the
+ <a href="http://sourceforge.net/projects/sop"> project summary page</a>.
+
+ </p>
+ </DIV>
+
+ <DIV class=h3>
+ <H3><A name=Feedback</A>Your Feedback is needed</H3>
+ <p>
+ If you have something you would like to share pertaining to this project.
+ May be concepts, theories, architecture and so forth; please share with us via the online
+ <a href="http://apps.sourceforge.net/phpbb/sop/">forum</a>.
+ We look forward to your feedback.
+ </p>
+ <p>
+ If you are a web page developer interested in this project, please
+ consider reaching out to the project admin (per the "Join this
+ project"
+ section, above) to offer your assistance.
+ </p>
+
+ </DIV>
+
+ </DIV>
+ <DIV>
+ <TABLE>
+ <TBODY>
+ <TR>
+ <TD width="40%">
+ <P></P></TD>
+ <TD>
+ <P></P></TD>
+ <TD width="45%">
+ <P></P></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD>
+ <TABLE>
+ <TBODY>
+ <TR>
+ <TD>
+ </TD></TR></TBODY></TABLE></TD>
+ <TD></TD></TR></TBODY></TABLE></DIV></DIV></DIV></TD></TR></TBODY></TABLE>
+<DIV id=footer>
+<TABLE cellSpacing=0 cellPadding=4 border=0>
+ <TBODY>
+ <TR>
+ <TD>
+</TD></TR></TBODY></TABLE></DIV><BR></BODY></HTML>
Property changes on: trunk/sopf/src/site/ml/Join_this_project.html
___________________________________________________________________
Added: svn:mime-type
+ text/html
Added: svn:eol-style
+ native
Added: trunk/sopf/src/site/ml/License.html
===================================================================
--- trunk/sopf/src/site/ml/License.html (rev 0)
+++ trunk/sopf/src/site/ml/License.html 2009-06-16 10:28:57 UTC (rev 34)
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
+<HTML><HEAD><TITLE>SOPF: Synapse Oriented Programming Framework</TITLE>
+<STYLE type=text/css>@import url( ./style/tigris.css );
+@import url( ./style/maven.css );
+.dtd-comment {
+ FONT-WEIGHT: bold; COLOR: #993399
+}
+</STYLE>
+
+<SCRIPT type=text/javascript>
+ if (document.layers) {
+ document.writeln('<link rel="stylesheet" type="text/css" href="./style/ns4_only.css" media="screen" /><link rel="stylesheet" type="text/css" href="./style/maven_ns4_only.css" media="screen" />')
+ }
+ </SCRIPT>
+<LINK media=print href="index_files/print.css" type=text/css rel=stylesheet>
+<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<BODY class=composite>
+<DIV id=banner>
+<TABLE cellSpacing=0 cellPadding=8 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD>
+ <H1>SOPF: Synapse Oriented Programming Framework</H1></TD>
+ <TD>
+ <DIV id=login align=right><A
+ href="http://sourceforge.net/projects/sop"><IMG
+ alt="Get sopf - Synapse Oriented Programming Frameworks"
+ src="index_files/concept6.8.png"
+border=0></A></DIV></TD></TR></TBODY></TABLE></DIV>
+<DIV id=breadcrumbs>
+<TABLE cellSpacing=0 cellPadding=4 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD>
+ <DIV align=right><A href="http://sop.sourceforge.net/index.html">Home
+ Page</A> | <A href="http://sourceforge.net/projects/sop/">SourceForge
+ Page</A> | <A href="http://sop.sourceforge.net/mail-lists.html">Mailing
+ Lists</A> | <A href="http://sop.sourceforge.net/bugs.html">Bugs</A> | <A
+ href="http://sourceforge.net/project/showfiles.php?group_id=261563">Downloads</A>
+ </DIV></TD></TR></TBODY></TABLE></DIV>
+<TABLE id=main cellSpacing=0 cellPadding=8 width="100%" border=0>
+ <TBODY>
+ <TR vAlign=top>
+ <TD id=leftcol width="20%">
+ <DIV id=navcolumn>
+ <DIV><STRONG>SOPF Basics</STRONG>
+ <DIV><SMALL><A href="index.html">Overview</A></SMALL>
+ <DIV><SMALL><A
+ href="Project_Goals.html">Project Goals</A> </SMALL></DIV>
+ <DIV><SMALL><A href="Target_Audience.html">Target Audience</SPAN></A> </SMALL></DIV>
+ <DIV><SMALL><A
+ href="License.html"><SPAN class=menu-selection>License</SPAN></A>
+ </SMALL></DIV></DIV>
+ <DIV><SMALL><A href="Join_this_project.html">Join this project</A> </SMALL></DIV>
+ <DIV><SMALL><A href="http://sourceforge.net/support/getsupport.php?group_id=261563">Support</A>
+ </SMALL>
+ <DIV><SMALL><A href="http://apps.sourceforge.net/phpbb/sop/">Forum</A>
+ </SMALL></DIV>
+ <DIV><SMALL><A href="http://sop.sourceforge.net/mail-lists.html">Mailing
+ Lists</A> </SMALL></DIV>
+ <DIV><SMALL><A href="">Bugs</A>
+ </SMALL></DIV></DIV>
+ </DIV>
+ </TD>
+ <TD>
+ <DIV id=bodycol>
+ <DIV class=app>
+ <DIV class=h3>
+ <H3><A name=License</A>Licensing</H3>
+ <p>
+ The licensing terms of this project is the
+ <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">
+ GNU Library or Lesser General Public License (LGPL)
+ </a>
+ </p>
+ </DIV>
+ <DIV>
+ <TABLE>
+ <TBODY>
+ <TR>
+ <TD width="40%">
+ <P></P></TD>
+ <TD>
+ <P></P></TD>
+ <TD width="45%">
+ <P></P></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD>
+ <TABLE>
+ <TBODY>
+ <TR>
+ <TD>
+ </TD></TR></TBODY></TABLE></TD>
+ <TD></TD></TR></TBODY></TABLE></DIV></DIV></DIV></TD></TR></TBODY></TABLE>
+<DIV id=footer>
+<TABLE cellSpacing=0 cellPadding=4 border=0>
+ <TBODY>
+ <TR>
+ <TD>
+</TD></TR></TBODY></TABLE></DIV><BR></BODY></HTML>
Property changes on: trunk/sopf/src/site/ml/License.html
___________________________________________________________________
Added: svn:mime-type
+ text/html
Added: svn:eol-style
+ native
Added: trunk/sopf/src/site/ml/Project_Goals.html
===================================================================
--- trunk/sopf/src/site/ml/Project_Goals.html (rev 0)
+++ trunk/sopf/src/site/ml/Project_Goals.html 2009-06-16 10:28:57 UTC (rev 34)
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
+<HTML><HEAD><TITLE>SOPF: Synapse Oriented Programming Framework</TITLE>
+<STYLE type=text/css>@import url( ./style/tigris.css );
+@import url( ./style/maven.css );
+.dtd-comment {
+ FONT-WEIGHT: bold; COLOR: #993399
+}
+</STYLE>
+
+<SCRIPT type=text/javascript>
+ if (document.layers) {
+ document.writeln('<link rel="stylesheet" type="text/css" href="./style/ns4_only.css" media="screen" /><link rel="stylesheet" type="text/css" href="./style/maven_ns4_only.css" media="screen" />')
+ }
+ </SCRIPT>
+<LINK media=print href="index_files/print.css" type=text/css rel=stylesheet>
+<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<BODY class=composite>
+<DIV id=banner>
+<TABLE cellSpacing=0 cellPadding=8 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD>
+ <H1>SOPF: Synapse Oriented Programming Framework</H1></TD>
+ <TD>
+ <DIV id=login align=right><A
+ href="http://sourceforge.net/projects/sop"><IMG
+ alt="Get sopf - Synapse Oriented Programming Frameworks"
+ src="index_files/concept6.8.png"
+border=0></A></DIV></TD></TR></TBODY></TABLE></DIV>
+<DIV id=breadcrumbs>
+<TABLE cellSpacing=0 cellPadding=4 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD>
+ <DIV align=right><A href="http://sop.sourceforge.net/index.html">Home
+ Page</A> | <A href="http://sourceforge.net/projects/sop/">SourceForge
+ Page</A> | <A href="http://sop.sourceforge.net/mail-lists.html">Mailing
+ Lists</A> | <A href="http://sop.sourceforge.net/bugs.html">Bugs</A> | <A
+ href="http://sourceforge.net/project/showfiles.php?group_id=261563">Downloads</A>
+ </DIV></TD></TR></TBODY></TABLE></DIV>
+<TABLE id=main cellSpacing=0 cellPadding=8 width="100%" border=0>
+ <TBODY>
+ <TR vAlign=top>
+ <TD id=leftcol width="20%">
+ <DIV id=navcolumn>
+ <DIV><STRONG>SOPF Basics</STRONG>
+ <DIV><SMALL><A href="index.html">Overview</A></SMALL>
+ <DIV><SMALL><A
+ href="Project_Goals.html"><SPAN class=menu-selection>Project Goals</SPAN></A> </SMALL></DIV>
+ <DIV><SMALL><A href="Target_Audience.html">Target Audience</A> </SMALL></DIV>
+ <DIV><SMALL><A
+ href="License.html">License</A>
+ </SMALL></DIV></DIV>
+ <DIV><SMALL><A href="Join_this_project.html">Join this project</A> </SMALL></DIV>
+ <DIV><SMALL><A href="http://sourceforge.net/support/getsupport.php?group_id=261563">Support</A>
+ </SMALL>
+ <DIV><SMALL><A href="http://apps.sourceforge.net/phpbb/sop/">Forum</A>
+ </SMALL></DIV>
+ <DIV><SMALL><A href="http://sop.sourceforge.net/mail-lists.html">Mailing
+ Lists</A> </SMALL></DIV>
+ <DIV><SMALL><A href="">Bugs</A>
+ </SMALL></DIV></DIV>
+ </DIV>
+ </TD>
+ <TD>
+ <DIV id=bodycol>
+ <DIV class=app>
+ <DIV class=h3>
+ <H3><A name=SOPF-intro></A>Project Goals</H3>
+ <p>
+ The framework's goals are as follows:
+ </p>
+ <p>
+<ol>
+ <li>Provide a set of core-interfaces and their implementing models that have properties that can be tuned to enable association between components. </li>
+ <li>Provide a scalable distributed execution platform for the neural-network since, some neural-system might consist of billions of components. </li>
+
+ <li>Design the tools and libraries that will enable productive neural-system design. </li>
+ <li>Provide tools that can be used to study the state of a neural-system and its state-derived data.</li>
+ </ol>
+
+
+ </p>
+ </DIV>
+ <DIV>
+ <TABLE>
+ <TBODY>
+ <TR>
+ <TD width="40%">
+ <P></P></TD>
+ <TD>
+ <P></P></TD>
+ <TD width="45%">
+ <P></P></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD>
+ <TABLE>
+ <TBODY>
+ <TR>
+ <TD>
+ </TD></TR></TBODY></TABLE></TD>
+ <TD></TD></TR></TBODY></TABLE></DIV></DIV></DIV></TD></TR></TBODY></TABLE>
+<DIV id=footer>
+<TABLE cellSpacing=0 cellPadding=4 border=0>
+ <TBODY>
+ <TR>
+ <TD>
+</TD></TR></TBODY></TABLE></DIV><BR></BODY></HTML>
Property changes on: trunk/sopf/src/site/ml/Project_Goals.html
___________________________________________________________________
Added: svn:mime-type
+ text/html
Added: svn:eol-style
+ native
Added: trunk/sopf/src/site/ml/Target_Audience.html
===================================================================
--- trunk/sopf/src/site/ml/Target_Audience.html (rev 0)
+++ trunk/sopf/src/site/ml/Target_Audience.html 2009-06-16 10:28:57 UTC (rev 34)
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
+<HTML><HEAD><TITLE>SOPF: Synapse Oriented Programming Framework</TITLE>
+<STYLE type=text/css>@import url( ./style/tigris.css );
+@import url( ./style/maven.css );
+.dtd-comment {
+ FONT-WEIGHT: bold; COLOR: #993399
+}
+</STYLE>
+
+<SCRIPT type=text/javascript>
+ if (document.layers) {
+ document.writeln('<link rel="stylesheet" type="text/css" href="./style/ns4_only.css" media="screen" /><link rel="stylesheet" type="text/css" href="./style/maven_ns4_only.css" media="screen" />')
+ }
+ </SCRIPT>
+<LINK media=print href="index_files/print.css" type=text/css rel=stylesheet>
+<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<BODY class=composite>
+<DIV id=banner>
+<TABLE cellSpacing=0 cellPadding=8 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD>
+ <H1>SOPF: Synapse Oriented Programming Framework</H1></TD>
+ <TD>
+ <DIV id=login align=right><A
+ href="http://sourceforge.net/projects/sop"><IMG
+ alt="Get sopf - Synapse Oriented Programming Frameworks"
+ src="index_files/concept6.8.png"
+border=0></A></DIV></TD></TR></TBODY></TABLE></DIV>
+<DIV id=breadcrumbs>
+<TABLE cellSpacing=0 cellPadding=4 width="100%" border=0>
+ <TBODY>
+ <TR>
+ <TD>
+ <DIV align=right><A href="http://sop.sourceforge.net/index.html">Home
+ Page</A> | <A href="http://sourceforge.net/projects/sop/">SourceForge
+ Page</A> | <A href="http://sop.sourceforge.net/mail-lists.html">Mailing
+ Lists</A> | <A href="http://sop.sourceforge.net/bugs.html">Bugs</A> | <A
+ href="http://sourceforge.net/project/showfiles.php?group_id=261563">Downloads</A>
+ </DIV></TD></TR></TBODY></TABLE></DIV>
+<TABLE id=main cellSpacing=0 cellPadding=8 width="100%" border=0>
+ <TBODY>
+ <TR vAlign=top>
+ <TD id=leftcol width="20%">
+ <DIV id=navcolumn>
+ <DIV><STRONG>SOPF Basics</STRONG>
+ <DIV><SMALL><A href="index.html">Overview</A></SMALL>
+ <DIV><SMALL><A
+ href="Project_Goals.html">Project Goals</A> </SMALL></DIV>
+ <DIV><SMALL><A href="Target_Audience.html"><SPAN class=menu-selection>Target Audience</SPAN></A> </SMALL></DIV>
+ <DIV><SMALL><A
+ href="License.html">License</A>
+ </SMALL></DIV></DIV>
+ <DIV><SMALL><A href="Join_this_project.html">Join this project</A> </SMALL></DIV>
+ <DIV><SMALL><A href="http://sourceforge.net/support/getsupport.php?group_id=261563">Support</A>
+ </SMALL>
+ <DIV><SMALL><A href="http://apps.sourceforge.net/phpbb/sop/">Forum</A>
+ </SMALL></DIV>
+ <DIV><SMALL><A href="http://sop.sourceforge.net/mail-lists.html">Mailing
+ Lists</A> </SMALL></DIV>
+ <DIV><SMALL><A href="">Bugs</A>
+ </SMALL></DIV></DIV>
+ </DIV>
+ </TD>
+ <TD>
+ <DIV id=bodycol>
+ <DIV class=app>
+ <DIV class=h3>
+ <H3><A name="SOPF-Users"></A>Users</H3>
+ <p>
+ Our "clients" are developers, neuroscientists, academes and researchers.
+ </p>
+ </DIV>
+
+ <DIV class=h3>
+ <H3><A name="USE CASE"></A>USE CASE</H3>
+ <p>
+1. A developer seeks to understand the underlying principles of a specific type of neural-network.
+ His goal is to design future systems based on this neural-network-pattern. With <b>SOPF</b> he/she should be able to -
+ </p>
+ <ul>
+ <li>build a custom component that he/she finds useful in the neural-network,</li>
+ <li>execute the neural-network across multiple machines</li>
+ <li>visually examine the data generated by the neural-network</li>
+
+ </ul>
+ <p>
+2. A fictious company needs a software that controls a bionic-limb. Writing this software in a conventional OOP platform would be quite difficult and requires lots of code. The company hires developers with SOP skill to build a neural-system based on <b>SOPF</b>, that meets the requirements for the bionic-limb motion.<br> Neural-networks are best for solving complex problems that require adaptation, such a system will require much more resources using OOP. Although, the principles of designing feasible neural-network systems is beyond the current-scope of this project.
+ </DIV>
+
+ <DIV>
+ <TABLE>
+ <TBODY>
+ <TR>
+ <TD width="40%">
+ <P></P></TD>
+ <TD>
+ <P></P></TD>
+ <TD width="45%">
+ <P></P></TD></TR>
+ <TR>
+ <TD></TD>
+ <TD>
+ <TABLE>
+ <TBODY>
+ <TR>
+ <TD>
+ </TD></TR></TBODY></TABLE></TD>
+ <TD></TD></TR></TBODY></TABLE></DIV></DIV></DIV></TD></TR></TBODY></TABLE>
+<DIV id=footer>
+<TABLE cellSpacing=0 cellPadding=4 border=0>
+ <TBODY>
+ <TR>
+ <TD>
+</TD></TR></TBODY></TABLE></DIV><BR></BODY></HTML>
Property changes on: trunk/sopf/src/site/ml/Target_Audience.html
___________________________________________________________________
Added: svn:mime-type
+ text/html
Added: svn:eol-style
+ native
Deleted: trunk/sopf/src/site/ml/images/concept.gif
===================================================================
(Binary files differ)
Deleted: trunk/sopf/src/site/ml/images/concept4.png
===================================================================
(Binary files differ)
Deleted: trunk/sopf/src/site/ml/images/concept6.3.png
===================================================================
(Binary files differ)
Deleted: trunk/sopf/src/site/ml/images/concept6.8.png
===================================================================
(Binary files differ)
Deleted: trunk/sopf/src/site/ml/images/concept6.png
===================================================================
(Binary files differ)
Added: trunk/sopf/src/site/ml/images/corporate_logo.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/corporate_logo.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: trunk/sopf/src/site/ml/images/file.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/file.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: trunk/sopf/src/site/ml/images/folder-closed.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/folder-closed.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: trunk/sopf/src/site/ml/images/folder-open.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/folder-open.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: trunk/sopf/src/site/ml/images/help_logo.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/help_logo.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: trunk/sopf/src/site/ml/images/icon_alert.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/icon_alert.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: trunk/sopf/src/site/ml/images/icon_alertsml.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/icon_alertsml.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: trunk/sopf/src/site/ml/images/icon_arrowfolder1_sml.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/icon_arrowfolder1_sml.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: trunk/sopf/src/site/ml/images/icon_arrowfolder2_sml.gif
===================================================================
(Binary files differ)
Property changes on: trunk/sopf/src/site/ml/images/icon_arrowfolder2_sml.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: trunk/sopf/src/site/ml/images/icon_arrowfolderclosed1_sml.gif
============================...
[truncated message content] |
|
From: <lab...@us...> - 2009-07-08 09:56:26
|
Revision: 41
http://sop.svn.sourceforge.net/sop/?rev=41&view=rev
Author: labiknight
Date: 2009-07-08 09:56:21 +0000 (Wed, 08 Jul 2009)
Log Message:
-----------
Complete - SOPF Cache Requirements
Updated - SOPF Model Requirements
Labi Oyapero
Modified Paths:
--------------
trunk/sopf/cache/src/site/apt/cache.apt
trunk/sopf/model/src/site/apt/phase1_requirements.apt
Modified: trunk/sopf/cache/src/site/apt/cache.apt
===================================================================
--- trunk/sopf/cache/src/site/apt/cache.apt 2009-06-25 01:56:16 UTC (rev 40)
+++ trunk/sopf/cache/src/site/apt/cache.apt 2009-07-08 09:56:21 UTC (rev 41)
@@ -26,12 +26,21 @@
* Global-Partitioned (gp): allocated between nodes
* Global-Unpartitioned (gu): all nodes have a copy
* Local : specific to one node
+
+Assumptions
+ * Neural structure will exceed 500KB in most real-life applications
-Requirements
+Goal Derived Requirements
+ * Cache must support arbitrary sized neural-networks (even terabytes if desired)
+ * Cache may be distributed in case of large-networks
+ * Local and backup persistence must be as efficient as possible.
+ * Cycle execution must support maximum throughput
+
+Technical Requirements
* Cache Types:
* LateralCache (LC)
* Cache nodes that executes cycles are lateralCaches referred to as sibling.
- * All siblings must have the same centralNode & neural-network and cyclestamp prior-to/after a cycle.
+ * All siblings must have the same centralCache & neural-network and cyclestamp prior-to/after a cycle.
* Must be pausable,although pause signal-must be broadcasted to all siblings
* Must have an alive msg
* list siblings lateralCaches
@@ -42,10 +51,9 @@
* data-obj must be binary-sorted internally on the basis of key (id)
* tasks must be stored on a FIFO queue and persisted with order preserved
* cache could use two ports to transfer data
- * {LC-internals} may be composed of queues and metadata:
+ * {LC-internals} may be composed of queues (e.g. task-queue) and metadata:
* local-data
- * Task-queues {myTaskQueue, [sibling-taskQueues]*} (FIFO queue)
- * Task-queues consist of tasks belonging to the LC's kernel.
+ * Dynamic size (keep that in mind)
* allocation-info
* gu-data that are relevant to execution in kernel.
* gp-data: Data-obj must be sorted by type then key (id), collection? (TreeSet)
@@ -65,18 +73,20 @@
* Must allocate only unallocated-gp-data in-case of LC-joins.
* reallocation-conditions,variables?
* New data obj should be added directly to the backup data (only) with a change in designVersion variable
- * Must be able to send reallocate event to listeners.
- * If dead-CC reawake and all LCs are wake & session-synced, sync gu-data& backup (no rollback).
+ * Must be able to send reallocate event to listeners (LCs).
+ * If dead-CC reawake and all LCs are wake & cyclestamp-synced, sync gu-data& backup (no rollback).
* Data:
* Data-Types
- * Global-Partioned (gp): must be IMutable?
- * Global-Unpartitioned (gu):
- * must be deltable
- * must be synced at the end of each cycle
- * Local
- * Dynamic size (keep that in mind)
- * Holds tasks
+ * Global-Partioned (gp)
+ * Global-Unpartitioned (gu):
+ * must be deltable
+ * must be synced at the end of each cycle
+ * Local
+ * PrecycleTaskQueue
+ * CycleTaskQueues {nodeCycleTaskQueue, [sibling-CycleTaskQueues]*} (FIFO queue)
+ * nodeCycleTaskQueue consist of tasks belonging to the LC's kernel.
+ * PostycleTaskQueue
* Does not contain the cycle count, that is tracked by the cache
* All global-data should be managed by the cache.
* All global-data must have an identifier.
@@ -84,103 +94,213 @@
* data-type must uniquely identify a type of data
* data-typeId must uniquely identify a data-type
* Some properties in the data-obj such as conns, are not changed by the task
- * Persistence
- * For the cache file, the first three elements must be
- * maxLocalData: max slots for local data, value: maxDataCount * 400. ((40/obj, 10-obj/data)
- * maxDataTypeHeaderCount: max-num data-types supported, default:500 (configurable)
- * maxDataCount: the max-num of components supported, default: 100000(configurable)
+ * File Structure
+ * For the cache file, the first 100 bytes consist of 7 fields and must be
+ * neuralNetId (long)
+ * cyclestamp (long)
+ * designVersion (int)
+ * maxLocalData (long): max slots for local data, value: maxDataCount * 400. ((40/obj, 10-obj/data)
+ * maxDataTypeHeaderCount (int): max-num data-types supported, default:500 (configurable)
+ * maxDataCount (long): the max-num of components supported, default: 100000(configurable)
+ * allocationInfoSize (short): num of slots for allocating-info
+ * status (byte): [ DESIGN (1)| NEW (3)| RESUME (5)| STOP (7)| QUIT (9), RUNNING (11)]
+ * reserved (57-bytes): reserved for future use (possibly include header-start-bits and end-bits)
+ * Local-data
+ * Dynamic size (keep that in mind, see maxLocalData)
+ * Allocation-info
+ * ccip, ccport [, siblingIp, siblingPort, siblingAllocation]*
+ * gu-data that are relevant to execution in kernel.
+ * gp-data: Data-obj must be sorted by type then key (id), collection? (TreeSet)
* data-type-headers must begin the global-data section
- * data-type-header-format: [data-type-header-start-bits, data-type-id, version, [propId,size]* ]
+ * format: [data-type-header-start-bits, data-type-id, version, [propId,size]*, data-type-header-end-bits ]
+ * size: byte , short , short , short*, byte
* There should a fixed num of data-type-header-slots, value is maxDataTypeHeaderCount * 150 (assumes average of 50 fields)
- * data-header must have maxDataCount*16 slots
+ * data-header must have maxDataCount*16 slots and must be sorted
+ * format: data-header-section-start-bits,[data-id, location]*, data-header-section-end-bits
+ * size: byte , long , long , byte
* data-format
- [data-starts-bits,data-type-id,[propId, propValue]*, data-end-bits]
- * The data-bytes-serializer & data-bytes-parser should be generated automatically from class.
+ [data-type-id,data-id,[propId, propValue]*]
+ * Use negative values as indices/values except where logic overrules, this provides a wider-range.
+ * The data-bytes-serializer & data-bytes-parser should be generated automatically from class.
+ * Persistence
+ * I suggest using memory maps since our global-data will often exceed 100Kb in real-applications. (assumptions)
Dependencies
- * Relies on the availability of file-cache for persistence.
- * Consider using jcs indexed cache as the underlying data-persister.
+ * Task must inherently identify data-id
Activity Sequence
-* START_SESSION:
- * CentralNode:
- * Listen for broadcast from lateralNodes, record their service-address, act & am & timestamp.
- * LateralNode:
- * broadcast to a CentralNode at a given-port, provide available cpu time (act) & available memory (am).
-* RE-ALLOCATE:
- * CentralNode:
- * Determine data-size, assign selector-value-range among lateralNode based on their act-am.
- * Broadcast selector-value-ranges
- * Send objects to lateralNodes based on the selector-affinity.
- * LateralNode:
- * Receive the allocations
- * Receive the gp-data for this node
- * CentralNode:
- * Do CACHE_SYNC.
-* CACHE_SYNC: (on the commencement of a new-cycle at all times)
- * CentralNode:
- * send cache-update signal & summated-gu-data delta & persistence-interval (for all global-data)
+* Assumptions and Terminology
+ * LCs without qualification implies member-LCs
+* START_NODES
+ * CentralCache:
+ * startup-params: data-file, max-mem, port, maxWait4Ready, maxWait4PauseResume,maxWait4DeadResume,
+ \nsaveInterval, backupInterval, maxSkippedCycles
+ * ? Listen for msg from lateralCaches
+ * if status equals RUNNING|PAUSE, do CC_RESUME
+ * if status equals STOP, do JOIN
+ * LateralCache:
+ * startup-params: data-file (may be empty), max-mem, port, ccIp, ccPort, nni?, cyclestamp?, dataPerGd?, sizePerLd?
+ \n pingCCInterval,
+ \n . Optional variables are missing if data-file is not empty.
+ * if status equals RUNNING|PAUSE, do LC_RESUME
+ * if status equals STOP, do JOIN
+* JOIN
+ * CentralCache:
+ * Ignore non-JOIN request from non-members.
+ * Listen for JOIN from lateralCaches, record their ip, port, act & am & timestamp.
+ * Send JOIN-ACCEPT back
+ * do ALLOCATE_TO_NODE for that LC
+ * if all gp-data is not allocated, send AWAIT_JOIN signal to that LC
+ * repeat until all gp-data has been allocated
+ * LateralCache:
+ * Send JOIN-req to a CentralCache at a given-port, provide available cpu time (act) & available memory (am).
+ * If response is JOIN-ACCEPT, accept response and do ALLOCATE_TO_NODE
+ * If response is JOIN-REJECT, record then send notification to user/UI and halt.
+*ALLOCATE_TO_NODE
+ * CentralCache:
+ * Determine data-size, assign selector-value-range (id) for the lateralCache based on their act-am.
+ * Send cyclestamp, allocation-info to LC
+ * Send global-data to the LC based on the selector-affinity (id).
+ * LateralCache:
+ * Receive the cyclestamp, allocation-info, maxWait4Ready, maxWait4PauseResume, maxWait4DeadResume, saveInterval,backupInterval
+ * Receive the gu-data & gp-data for this node
+ * update data file and load-data-file
+ * Do CACHE_READY.
+* CACHE_READY
+ * CentralCache:
+ * Receive CACHE_READY signal from all member LCs.
+ * If any member does not send CACHE_READY signal within maxWait4Ready time
+ * remove that member (send JOIN-REJECT to it) and do JOIN
+ * send CACHE_SYNC-signal with all-allocation-info to all lateralCaches (LCs)
+ * LateralCache:
+ * Send CACHE_READY signal to CC
+* CC_RESUME (DEAD/PAUSE)
+ * CentralCache:
+ * send RESUME_PAUSE/RESUME_DEAD signal with most variables and persisted-cycle-stamp except allocation-info to all LC
+ * If response is received from ALL LCs within maxWait4PauseResume/maxWait4DeadResume (depends on context)
+ * If initialStatus is RUNNING (RESUME_DEAD), request gu-data delta
+ * If persisted data-cycle-num is less than current-data-cycle-num, do REQ_DATA
+ * do CACHE_SYNC
+ * Else do ROLL_BACK
+ * LateralCache:
+ * If receive RESUME_DEAD/PAUSE signal
+ * send RESUME signal to CC
+ * if receive RESUME_DEAD & persisted-cyclestamp < current-cyclestamp
+ * await REQ_DATA
+ * Otherwise wait
+* LC_RESUME
+ * CentralCache:
+ * accept RESUME_PAUSE/DEAD signal from LC
+ * if RESUME_DEAD
+ * if (cycle-stamp - current-cycle-stamp > maxSkippedCycles)
+ * do ROLLBACK
+ * LateralCache:
+ * send RESUME_PAUSE/RESUME_DEAD signal with cycle-stamp & nni
+* CACHE_SYNC (on the commencement of a new-cycle at all times)
+ * CentralCache:
+ * send cache-sync signal & summated-gu-data delta & persistence-interval (for all global-data)
(if you want to set/change it).
- LateralNode:
- * receive cache-update signal & summated-gu-data-delta
- * if last-save-cycle matches save-interval, do CACHE_SAVE
+ LateralCache:
+ * receive cache-sync signal & summated-gu-data-delta
* send cache-ready signal to listeners (executor: then executor will send cycle-start signal)
* listen to cycle-start signal, track cycle-count
-* CACHE_SAVE:
- * LateralNode:
- * send cycle-count & gp-data to centralNode
-* END_CYCLE: (At the end of each cycle)
- * LateralNode:
+* END_CYCLE (At the end of each cycle)
+ * CentralCache:
+ * receive cycle-end signal from each LCs
+ * if last-save-cycle matches backupInterval, do REQ_DATA
+ * global-field delta provided by each lateralCache is used to track alive lateralCaches.
+ * if any lateralCache is dead, go-to DEAD_CACHE
+ * else do CACHE_SYNC
+ * LateralCache:
* receive cycle-end signal from its CycleEventSource (e.g. executors), track completed-cycles
- * send gu-data-delta to the centralNode, even if it is 0.
- * CentralNode:
- * global-field delta provided by each lateralNode is used to track alive lateralNodes.
- * if any lateralNode is dead, go-to DEAD_CACHE
- * else do CACHE_SYNC
-* CACHE_QUIT: (When a lateralNode decides to quit)
- * LateralNode:
+ * if last-save-cycle matches saveInterval, do CACHE_SAVE
+ * send end-cycle signal with gu-data-delta to the centralCache, even if it is 0.
+* CACHE_SAVE
+ * CentralCache:
+ * send SAVE signal to LCs
+ * LateralCache:
+ * receive SAVE signal from CC
+ * local persistence of state
+* REQ_DATA (data persistence mechanism)
+ * CentralCache:
+ * broadcast data-request-signal with a specific cycle-num to all lateralCaches.
+ * send start-transfer signal to one LC and get all data from it
+ * repeat with next LC until all LC have sent data
+ * store received gp-data & gu-data in temp, store gu-data in memory
+ * if data is received from all allocated lateralCaches, migrate temp to permanent.
+ * else roll-back (clear temp).
+ * LateralCache:
+ * receive REQ_DATA signal
+ * if current-cycle does not match req-data-cycle-num, end no-match-data-signal to the lateralCache,
+ * receive start-transfer, then send all gp-data upon receiving request
+* CACHE_PAUSE
+ * LateralCache:
+ * optionally send PAUSE signal to CC
+ * receive pause
+ * wait for resume signal from CC
+ * CentralCache:
+ * optionally, receive PAUSE signal and
+ * request gu-data delta
+ * do REQ_DATA
+ * send PAUSE signal
+* QUIT_LC (When a lateralCache decides to quit)
+ * LateralCache: (Quitting-LC)
* receive quit-signal from QuitEventSource
- * send cache-quit signal and last-completed cycle to centralNode, with gu-data-delta (if current-cycle = completed-cycles)
- * if completed-cycles != last-save-cycle, send all altered-gp-data to centralNode
+ * send cache-quit signal and last-completed cycle to centralCache, with gu-data-delta (if current-cycle = completed-cycles)
+ * await data-request
* cleanly shutdown, closing ports and send cache-shutdown event to listeners
- * CentralNode:
- * receive cache-quit signal and last-completed cycle to centralNode, with gu-data-delta
- * store the gu-data of the quit-lateralNode in temp-place
- * store the gp-data of the quit-lateralNode in temp-place.
+ * CentralCache:
+ * receive cache-quit signal and last-completed cycle to centralCache, with gu-data-delta
+ * store the gu-data of the quit-lateralCache in temp-place
+ * if completed-cyclestamp != persisted-cyclestamp,do REQ_DATA starting with quitting-LC
+ * store the gp-data of the quit-lateralCache in temp-place.
+ * send AWAIT_JOIN signal to LCs
+ * do JOIN
+* QUIT_CC
+ * CentralCache:
+ * receive quit-signal from QuitEventSource
* do REQ_DATA
- * do REQ_ACT_AM
- * do RE-ALLOCATE
-* DEAD_CACHE:
- * do ROLL_BACK
- * goto RE-ALLOCATE
-* ROLL_BACK:
- * CentralNode: rollback gu-data & gp-data to the last persisted-state
-* REQ_DATA: (data persistence mechanism)
- * CentralNode:
- * broadcast data-request-signal with a specific cycle-num to all lateralNodes.
- * LateralNode:
- * if current-cycle matches req-data-cycle-num, send gu-data upon receiving request,
- * else send no-match-data-signal to the lateralNode.
- * CentralNode:
- * store received gp-data in temp, store gu-data in memory
- * if data is received from all allocated lateralNodes, migrate temp to permanent.
- * else roll-back (clear temp).
-* REQ_ACT_AM: (request for act and am)
- * CentralNode:
+ * send quit-cc signal to LCs
+ * cleanly shutdown, closing ports and send cache-shutdown event to listeners
+ * LateralCache:
+ * receive quit-cc signal then halt, notify user
+ * await reconfiguration for a new CC
+ * continuously ping CC to see if it awakes at pingCCInterval
+* DEAD_LC (LC abruptly terminates)
+ * CentralCache:
+ * send AWAIT_JOIN signal to LCs
+ * if RESUME_DEAD signal received within maxWait4DeadResume
+ * do RESUME_LC
+ * else
+ * if (persisted-cyclestamp < current-cyclestamp), do ROLLBACK
+ * do JOIN
+* DEAD_CC (CC abruptly terminates)
+ * LateralCache:
+ * continuously ping CC to see if it awakes at pingCCInterval
+* ROLL_BACK
+ * CentralCache:
+ * send ROLLBACK signal to LCs
+ * REQ_ACT_AM
+ * do ALLOCATE_TO_NODE
+* REQ_ACT_AM (request for act and am)
+ * CentralCache:
* Broadcast request for act-am of expired act-am based on record timestamp
- * LateralNode:
- * Send act-am to centralNode
- * CentralNode:
- * Record lateralNode's act & am.
+ * LateralCache:
+ * Send act-am to centralCache
+ * CentralCache:
+ * Record lateralCache's act & am.
Definitions
* CACHE-EVENTS:
- * CacheReAllocate
- * CacheStarted
- * CacheReady
- * CacheSyncing
- * CacheSync
- * CacheShutdown
+ * Allocate
+ * Started
+ * Ready
+ * Syncing
+ * Sync
+ * Saving
+ * BackingUp
+ * Rollback
+ * Stop
* Messages:
* LateralCache to LateralCache
* DistTaskMsg - for distributing task to appropriate cache
@@ -198,7 +318,7 @@
* GU-Data
* implements IDeltable
CentralCacheProxy
- * public List<LateralCacheProxy> listNodes();
+ * public List<LateralCacheProxy> listLateralCaches();
* public void addListeners(CacheEventListener cel);
LateralCache
Modified: trunk/sopf/model/src/site/apt/phase1_requirements.apt
===================================================================
--- trunk/sopf/model/src/site/apt/phase1_requirements.apt 2009-06-25 01:56:16 UTC (rev 40)
+++ trunk/sopf/model/src/site/apt/phase1_requirements.apt 2009-07-08 09:56:21 UTC (rev 41)
@@ -12,8 +12,8 @@
* 3. Define associations for the various components.
* 4. Components does not have to play a runtime role, components may be useful for
\n network definition.
- * 4. Must implement appropriate interface that is required by infrastructure (cache, kernel, design,
+ * 5. Must implement appropriate interface that is required by infrastructure (cache, kernel, design,
\n analysis)
- * 5. Components must support design-plugin requirements e.g e.g wiring-functions
- * 6. Components must support model-state monitoring
+ * 6. Components must support design-plugin requirements e.g e.g wiring-functions
+ * 7. Components must support model-state monitoring
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lab...@us...> - 2009-07-16 10:13:54
|
Revision: 42
http://sop.svn.sourceforge.net/sop/?rev=42&view=rev
Author: labiknight
Date: 2009-07-16 10:13:47 +0000 (Thu, 16 Jul 2009)
Log Message:
-----------
Complete - SOPF Kernel Requirements
Labi Oyapero
Modified Paths:
--------------
trunk/sopf/cache/src/site/apt/cache.apt
trunk/sopf/kernel/src/site/apt/sfde.apt
Removed Paths:
-------------
trunk/sopf/kernel/src/site/apt/task.apt
Modified: trunk/sopf/cache/src/site/apt/cache.apt
===================================================================
--- trunk/sopf/cache/src/site/apt/cache.apt 2009-07-08 09:56:21 UTC (rev 41)
+++ trunk/sopf/cache/src/site/apt/cache.apt 2009-07-16 10:13:47 UTC (rev 42)
@@ -8,6 +8,9 @@
Table of Contents
* Goals (In order of importance):
* Concepts
+ * Assumptions
+ * Goal Derived Requirements
+ * Technical Requirements
* System Requirements
* Dependencies
* Activity Sequence
@@ -15,7 +18,7 @@
* Interfaces
* Notes
-Concepts: (command-pattern)
+Concepts:
* Cache:
* Stores and manages data-synchronizations, it consist of 1 or more nodes.
* There are two types: lateralCache (LC) and CentralCache (CC)
@@ -29,6 +32,8 @@
Assumptions
* Neural structure will exceed 500KB in most real-life applications
+ * Maximum disk-write speed is around 100MB/s in most affordable systems for developers.
+ * Maximum network speed is around 125MB/s (1Gb/s) in affordable systems for developers.
Goal Derived Requirements
* Cache must support arbitrary sized neural-networks (even terabytes if desired)
@@ -83,10 +88,10 @@
* must be deltable
* must be synced at the end of each cycle
* Local
- * PrecycleTaskQueue
- * CycleTaskQueues {nodeCycleTaskQueue, [sibling-CycleTaskQueues]*} (FIFO queue)
- * nodeCycleTaskQueue consist of tasks belonging to the LC's kernel.
- * PostycleTaskQueue
+ * <strikethrough>PreCycleTaskQueue<strikethrough/>
+ * CycleTaskQueues {NextCycleTaskQueue, [SiblingNextCycleTaskQueues]*} (FIFO queue)
+ * NewCycleTaskQueue consist of tasks belonging to the LC's kernel.
+ * <strikethrough>PostCycleTaskQueue<strikethrough/>
* Does not contain the cycle count, that is tracked by the cache
* All global-data should be managed by the cache.
* All global-data must have an identifier.
@@ -107,6 +112,8 @@
* reserved (57-bytes): reserved for future use (possibly include header-start-bits and end-bits)
* Local-data
* Dynamic size (keep that in mind, see maxLocalData)
+ * local-task-queue
+ * lateral-caches-task-queue
* Allocation-info
* ccip, ccport [, siblingIp, siblingPort, siblingAllocation]*
* gu-data that are relevant to execution in kernel.
@@ -173,7 +180,9 @@
* remove that member (send JOIN-REJECT to it) and do JOIN
* send CACHE_SYNC-signal with all-allocation-info to all lateralCaches (LCs)
* LateralCache:
- * Send CACHE_READY signal to CC
+ * Send tasks in SiblingNextCycleTaskQueue to appropriate LCs with zero or more tasks.
+ * Receive TASK signal from all siblings, putting tasks in NextCycleTaskQueue
+ * Send CACHE_READY signal to CC
* CC_RESUME (DEAD/PAUSE)
* CentralCache:
* send RESUME_PAUSE/RESUME_DEAD signal with most variables and persisted-cycle-stamp except allocation-info to all LC
@@ -202,7 +211,7 @@
(if you want to set/change it).
LateralCache:
* receive cache-sync signal & summated-gu-data-delta
- * send cache-ready signal to listeners (executor: then executor will send cycle-start signal)
+ * send cache-sync signal to listeners (executor: then executor will send cycle-start signal)
* listen to cycle-start signal, track cycle-count
* END_CYCLE (At the end of each cycle)
* CentralCache:
@@ -224,6 +233,9 @@
* REQ_DATA (data persistence mechanism)
* CentralCache:
* broadcast data-request-signal with a specific cycle-num to all lateralCaches.
+ * wait for all match-data-signal
+ * if there is a no-match-data-signal
+ * send abort-data-request-signal
* send start-transfer signal to one LC and get all data from it
* repeat with next LC until all LC have sent data
* store received gp-data & gu-data in temp, store gu-data in memory
@@ -231,7 +243,9 @@
* else roll-back (clear temp).
* LateralCache:
* receive REQ_DATA signal
- * if current-cycle does not match req-data-cycle-num, end no-match-data-signal to the lateralCache,
+ * if current-cycle does not match req-data-cycle-num,
+ * send no-match-data-signal to the lateralCache,
+ * else send match-data-signal
* receive start-transfer, then send all gp-data upon receiving request
* CACHE_PAUSE
* LateralCache:
@@ -344,4 +358,6 @@
Notes:
Discuss persistence-algorithm.
+ If I use mf, will have to cache changes to gp-data until a certain data-size is reached,
+ then update the persisted gp-data in the mbb.
\ No newline at end of file
Modified: trunk/sopf/kernel/src/site/apt/sfde.apt
===================================================================
--- trunk/sopf/kernel/src/site/apt/sfde.apt 2009-07-08 09:56:21 UTC (rev 41)
+++ trunk/sopf/kernel/src/site/apt/sfde.apt 2009-07-16 10:13:47 UTC (rev 42)
@@ -3,11 +3,16 @@
--------------------------
Owolabi Oyapero
--------------------------
-2008-12-12
+2009-07-16
-------------------------
Executor
* Goals
* Concepts
+ * Assumptions
+ * Goal Derived Requirements
+ * Technical Requirements
+ * System Requirements
+ * Dependencies
* Activity Sequence
* Interfaces
* Other Requirements
@@ -17,120 +22,111 @@
* Goals (In order of importance):
* Stateful distributed execution (sfde)
-* Concepts: (command-pattern)
- * Time is defined as the number of execution rounds for a given execution session.
- * An execution session is defined around the instantiation of task-delegator.
+* Concepts:
+ * Task (command-pattern)
+ * Stateless object encapsulates operations for any instance of specific objType
+ * Will be stored in the queue
+ * Support for specific objType must be static (compile-time)
+ * Serialized-task format: [taskTypeId, taskTypeVersion, operationNum, [objTypeId, objId],[taskParamIndex, taskParamValue]]
+ * TypeId must uniquely identify a task-type that supports a specific data-type
+ * Task have a createTime (identifying the cycle in which they were created).
+ * Time is defined as the number of execution cycles for a given neural-network.
+ * An execution session is defined around the instantiation of a cache.
-* Activity Sequence
- START_SESSION:
- Delegator:
- Listen for broadcast from executors, record their service-address, act & am.
- Executor: broadcast to a given-port, provide available cpu time (act) & available memory (am).
- RE-ALLOCATE:
- Delegator:
- -Determine data-size, assign selector-value-range among executor based on their
- act-am.
- -broadcast selector-value-ranges
- -Task-ctx and task is sent to each executor based on the selector-affinity.
- -goto NEW-ROUND.
- END_ROUND: (At the end of each round)
- Executor: send global-data-delta to the delegator, even if it is 0.
- Delegator: global-field delta provided by each executor is used to track alive executors.
- -if any executor is dead, go-to DEAD_EXEC
- -else optionally do REQ_DATA
- -Executor: send new tasks (by-product of execution) to the
- associated executor based on the selector.
- NEW_ROUND: (on the commencement of a new-round at all times)
- Delegator: send new-round-signal with
- -a new round-count,
- -summated global-data delta
- QUIT_EXEC: (When an executor decides to quit)
- Executor: Send quit signal with local & global data to delegator at the end of the round.
- Delegator: store the quit-executor local-global data in temp.
- -do REQ_DATA
- -do REQ_ACT_AM
- -do RE-ALLOCATE
- DEAD_EXEC:
- Delegator: rollback global-data to the last persisted-state
- -goto RE-ALLOCATE
- REQ_DATA: (data persistence mechanism)
- Delegator: broadcast data-request-signal with a specific round-num to all executors.
- Executor: send data upon receiving request, unless data-age is been previously submitted
- or does not match available data in the executor.
- Delegator:
- -if data received is same age as quit-exec's data, add to temp.
- -if all the received data from executors is in temp, migrate temp to permanent.
- -else roll-back (clear temp).
- REQ_ACT_AM: (request for act and am)
- Delegator:
- -Request for act-am.
- Executor:
- -send act-am to delegator
- -record executor's act & am.
-
- Data-Types:
- Global-Partioned
- Global-Unpartitioned
- Local
-
- All global-data should be managed by the cache
+Assumptions
+ * Task types are defined and limited.
+ * Neurons will not be created/deleted frequently.
+ * All global-data should be managed by the cache
-* OTHER REQUIREMENT
- Exec
- *All execs are lateral
- *Execs are found via their cache, they only differ in port
- *Execs have to exchange location info
- *Each exec has a list of all sibling until cache sends a realloc event
- *Exec will have a proxy
- *Send appropriate task to sibling
- *Add pre-round-task for each item, after cache-ready event is received
-
- Startup:
- *Setup-cache
- *Wait for reallocation-event, then fetch reallocation from
- *Use reallocatio nto create sibling-proxys
- *Setup port
- *Cache will be used as the task queue
-
- PreRound:
- *Create new task from data and add to cache
-
-* Notes:
- *PreroundTasks (derived from data) should be submitted directly to the PausableThreadPoolExecutor
- *The preround taks should be split evenly among the PausableThreadPoolExcecutor threads.
- *All preround tasks must complete prior to starting round.
-
- Todo List
- *Neural system processing Architect.
- *There will be a set of predefined task.
- *Must determine and define the various task types.
+Goal Derived Requirements
+ * There will be a set of predefined tasks, represented by a Runnable obj.
+ * Must determine and define the various task types.
+ * The queues must be ordered in a specific sequential manner?
+ * Upon task execution, the task must be inactivated.
+ * Queues must be demarcated based on time.
+ * All components must use the same unit of time, even peripheral receptors.
+ * Queues sequence must be based on actual literature.???
+ * The time demarcator is run before any task-queue.
+ * Peripheral components must process within the proposed time demarcation.
+ * Time must be demarcated in all queues.
+ * All precycle tasks must complete prior to starting cycle.
+ *
+
+Technical Requirements
+ * The task will contain references to the involved components.
+ * Task is sent to each executor based on the selector-affinity.
+ * Each task-type will be assigned a pool of empty tasks and a queue for active task.
+ * Each main task type will have its queue, the last runnable will be latched with a binary sephamore release.
+ * The processor-pool will process tasks, as it is moved from the task-queue and submitted.
+ * Task execution may produce new tasks which, must have a correct selector-value (id) and createTime.
+ * A queue processing can start only after the binary sephamore is available.
+ * The system task invocator will get the empty task-instance from a pool,
+ \n the empty task will be filled fields related to the current invocation.
+ * Upon task execution, the task obj will be returned to the pool.
+ * There will be a pool for task-type.
+ * There will be no neuron pool.
+ * PreCycleTasks (derived from data) should be submitted directly to the PausableThreadPoolExecutor
+ * The preCycle tasks should be split evenly among the PausableThreadPoolExcecutor threads.
+* Data
+ * PreCycleTasks- the tasks should be relatively static and defined once, early in kernel init.
+ * CycleQueue- task queues for current cycle of the local-kernel
+ * New task against gu-data should be replicated transparently into all sibling kernels by the cache.
+System Requirements
+ *
+
+Dependencies
+ * Task distribution is encapsulated in the cache
+ * Cache will provide the expected queue structure
+ * Cache will transparently put a new-task to the appropriate queue [NextCycleTaskQueue/SiblingNextCycleTaskQueue]
-OLD NOTES (VERY OLD NOTES)
- * Neural-system processing architect:
- * There will be a set of predefined tasks, represented by a Runnable obj.
- * The runnable obj will contain references to the involved components.
- * Each task-type will be assigned a pool of empty tasks and a queue for active task.
- * The queues must be ordered in a specific sequential manner.
- * Upon task execution, task-object must be inactivated.
- * Queues must be demarcated based on time.
- * All components must use the same unit of time, even peripheral receptors.
- * Queues sequence must be based on actual literature.
+Activity Sequence
+
+* START_SESSION:
+ * Kernel:
+ * startup-params: cache
+ * Get params from cache and instantiate appropriate variables and queues.
+ * if isCacheSync() is false;
+ * cache-sync signal
+ * do PRE_CYCLE
+* RE-ALLOCATE:
+ * Kernel:
+ * Receive reallocated signal from cache
+ * change appropriate variables
+* PRE_CYCLE:
+ * Receive cache-sync event
+ * Add pre-Cycle-task for each item (gp-data) to CycleQueue
+ * Copy New-Tasks from cache and add to CycleQueue
+ * do NEW_CYCLE
+* NEW_CYCLE: (on the commencement of a new-Cycle at all times)
+ * Kernel:
+ * send start-Cycle-signal with the cycle-count
+ * FIFO execution of tasks in the CycleQueue
+* END_CYCLE: (At the end of each cycle)
+ * Kernel:
+ * send end-Cycle-signal with the cycle-count
+ * Cache:
+ *
+* QUIT_EXEC: (When an executor decides to quit)
+ * Kernel:
+ * Receive quit signal ?
+ * clean up, gc e.t.c
+ * Send quit signal to cache
+ * Cache:
+ *
+
+
+* Interfaces
+ * Cache:
+ * addNewTask(Task) - will be inserted either in NextCycleTaskQueue or SiblingNextCycleTaskQueue.
+ * if Task.objTypeId is gu-data
+ * task must be added to NextCycleTaskQueue and all SiblingNextCycleTaskQueue
+ * else if Task.objTypeId is gp-data
+ * task must be added to the appropriate NextCycleTaskQueue (local/sibling).
- * Each main task type will have its queue, the last runnable will be latched with a binary sephamore release.
- * The time demarcator is run before any task-queue.
- * The processor-pool will process tasks, as it is moved from the task-queue and submitted.
- * A queue processing can start only after the binary sephamore is available.
- * Peripheral components must process within the proposed time demarcation.
- * Time must be demarcated in all queues.
+* Other Requirements
- * The system task invocator will get the empty task-instance from a pool,
- the empty task will be filled fields related to the current invocation.
- * Upon task execution, the task obj will be returned to the pool.
- * There will be a pool for task-type.
- * There will be no neuron pool.
+* Notes:
-Basis:
- * Task types are defined and limited.
- * Neurons will not be created/deleted frequently.
-
\ No newline at end of file
+* Todo List
+
\ No newline at end of file
Deleted: trunk/sopf/kernel/src/site/apt/task.apt
===================================================================
--- trunk/sopf/kernel/src/site/apt/task.apt 2009-07-08 09:56:21 UTC (rev 41)
+++ trunk/sopf/kernel/src/site/apt/task.apt 2009-07-16 10:13:47 UTC (rev 42)
@@ -1,44 +0,0 @@
-----------------------
-SOP Task Documentation
-----------------------
-Owolabi Oyapero
-----------------------
-2009-05-02
-----------------------
-Task
- * Goals
- * Concepts
- * Interfaces
- * Other Requirements
- * Notes
-
-* Goals
-
-* Concepts
-
- * Task delegator uses the same selector as the selection criteria for all executors for each task-type.
- * Task have an affinity for a specific executor based on on an attribute of the data-entity & task known as the "selector".
- * Delegator must assign a unique range of selector-values to each executor.
- The complete selector-value-range assignment for all task-types must accessible to all executors.
- * Task execution may produce new tasks which, must have a correct selector-value and createTime.
- * Task have a createTime (identifying the round in which they were created).
-
- * TaskTray:
- * Must be passed the location of centralCache
- * Must register for receiving reallocation events from centralCache
- * Must have an instance/proxy of centralCache
- * Gets the location of all execs from centralCache
- * Must be useful for submitting task
-
- * Task
- * Could be stored in the cache and allocated to approriate exec
- * Stateless object encapsulates operations for any instance of specific objType
- * Support for specific objType must be static (compile-time)
- * Serialized-task format: [taskTypeId, operationNum, objTypeId, objId]
- * TypeId must uniquely identify a task-type that supports a specific data-type
-
-* Interfaces
-
-* Other Requirements
-
-* Notes
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lab...@us...> - 2009-07-16 10:38:46
|
Revision: 43
http://sop.svn.sourceforge.net/sop/?rev=43&view=rev
Author: labiknight
Date: 2009-07-16 10:38:43 +0000 (Thu, 16 Jul 2009)
Log Message:
-----------
Added license statement to most of the documentation.
Labi Oyapero
Modified Paths:
--------------
trunk/sopf/cache/src/site/apt/cache.apt
trunk/sopf/kernel/src/site/apt/sfde.apt
trunk/sopf/model/src/site/apt/architecture.apt
trunk/sopf/model/src/site/apt/brainstorm.apt
trunk/sopf/model/src/site/apt/notes.apt
trunk/sopf/model/src/site/apt/phase1_requirements.apt
trunk/sopf/model/src/site/xml/phase2_requirements.xml
trunk/sopf/src/site/apt/doc.apt
trunk/sopf/src/site/apt/roadmap.apt
Added Paths:
-----------
trunk/sopf/License.txt
Added: trunk/sopf/License.txt
===================================================================
--- trunk/sopf/License.txt (rev 0)
+++ trunk/sopf/License.txt 2009-07-16 10:38:43 UTC (rev 43)
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
Property changes on: trunk/sopf/License.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Modified: trunk/sopf/cache/src/site/apt/cache.apt
===================================================================
--- trunk/sopf/cache/src/site/apt/cache.apt 2009-07-16 10:13:47 UTC (rev 42)
+++ trunk/sopf/cache/src/site/apt/cache.apt 2009-07-16 10:38:43 UTC (rev 43)
@@ -3,8 +3,21 @@
-----------------------
Owolabi Oyapero
-----------------------
-2009-04-25
------------------------
+2009-07-16
+-------------------------
+Copyright
+ This file is part of SOPF.
+ SOPF is free software: you can redistribute it and/or modify
+ it under the terms of the Lesser GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ SOPF is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ Lesser GNU General Public License for more details.
+ You should have received a copy of the Lesser GNU General Public License
+ along with SOPF. If not, see <http://www.gnu.org/licenses/>.
+
Table of Contents
* Goals (In order of importance):
* Concepts
Modified: trunk/sopf/kernel/src/site/apt/sfde.apt
===================================================================
--- trunk/sopf/kernel/src/site/apt/sfde.apt 2009-07-16 10:13:47 UTC (rev 42)
+++ trunk/sopf/kernel/src/site/apt/sfde.apt 2009-07-16 10:38:43 UTC (rev 43)
@@ -5,6 +5,19 @@
--------------------------
2009-07-16
-------------------------
+Copyright
+ This file is part of SOPF.
+ SOPF is free software: you can redistribute it and/or modify
+ it under the terms of the Lesser GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ SOPF is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ Lesser GNU General Public License for more details.
+ You should have received a copy of the Lesser GNU General Public License
+ along with SOPF. If not, see <http://www.gnu.org/licenses/>.
+
Executor
* Goals
* Concepts
Modified: trunk/sopf/model/src/site/apt/architecture.apt
===================================================================
--- trunk/sopf/model/src/site/apt/architecture.apt 2009-07-16 10:13:47 UTC (rev 42)
+++ trunk/sopf/model/src/site/apt/architecture.apt 2009-07-16 10:38:43 UTC (rev 43)
@@ -5,6 +5,18 @@
-----------------------------
2008/12/12
-----------------------------
+Copyright
+ This file is part of SOPF.
+ SOPF is free software: you can redistribute it and/or modify
+ it under the terms of the Lesser GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ SOPF is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ Lesser GNU General Public License for more details.
+ You should have received a copy of the Lesser GNU General Public License
+ along with SOPF. If not, see <http://www.gnu.org/licenses/>.
Components
* Base Component
Modified: trunk/sopf/model/src/site/apt/brainstorm.apt
===================================================================
--- trunk/sopf/model/src/site/apt/brainstorm.apt 2009-07-16 10:13:47 UTC (rev 42)
+++ trunk/sopf/model/src/site/apt/brainstorm.apt 2009-07-16 10:38:43 UTC (rev 43)
@@ -5,6 +5,19 @@
-----------------------------
2008/12/12
-----------------------------
+Copyright
+ This file is part of SOPF.
+ SOPF is free software: you can redistribute it and/or modify
+ it under the terms of the Lesser GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ SOPF is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ Lesser GNU General Public License for more details.
+ You should have received a copy of the Lesser GNU General Public License
+ along with SOPF. If not, see <http://www.gnu.org/licenses/>.
+
Synapse Oriented Programming
Initial focus is strictly on neuron-cells which have input&output instead of recievers or senders.
Modified: trunk/sopf/model/src/site/apt/notes.apt
===================================================================
--- trunk/sopf/model/src/site/apt/notes.apt 2009-07-16 10:13:47 UTC (rev 42)
+++ trunk/sopf/model/src/site/apt/notes.apt 2009-07-16 10:38:43 UTC (rev 43)
@@ -5,6 +5,18 @@
-----------------------------
2008/12/12
-----------------------------
+Copyright
+ This file is part of SOPF.
+ SOPF is free software: you can redistribute it and/or modify
+ it under the terms of the Lesser GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ SOPF is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ Lesser GNU General Public License for more details.
+ You should have received a copy of the Lesser GNU General Public License
+ along with SOPF. If not, see <http://www.gnu.org/licenses/>.
Summation
* Affected by time-K, lenght-K, capacity-K
Modified: trunk/sopf/model/src/site/apt/phase1_requirements.apt
===================================================================
--- trunk/sopf/model/src/site/apt/phase1_requirements.apt 2009-07-16 10:13:47 UTC (rev 42)
+++ trunk/sopf/model/src/site/apt/phase1_requirements.apt 2009-07-16 10:38:43 UTC (rev 43)
@@ -5,6 +5,18 @@
-----------------------------
2008/12/12
-----------------------------
+Copyright
+ This file is part of SOPF.
+ SOPF is free software: you can redistribute it and/or modify
+ it under the terms of the Lesser GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ SOPF is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ Lesser GNU General Public License for more details.
+ You should have received a copy of the Lesser GNU General Public License
+ along with SOPF. If not, see <http://www.gnu.org/licenses/>.
Plan
* 1. Identify all components of the synaptic system, at all levels.
Modified: trunk/sopf/model/src/site/xml/phase2_requirements.xml
===================================================================
--- trunk/sopf/model/src/site/xml/phase2_requirements.xml 2009-07-16 10:13:47 UTC (rev 42)
+++ trunk/sopf/model/src/site/xml/phase2_requirements.xml 2009-07-16 10:38:43 UTC (rev 43)
@@ -1,4 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright
+ This file is part of SOPF.
+ SOPF is free software: you can redistribute it and/or modify
+ it under the terms of the Lesser GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ SOPF is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ Lesser GNU General Public License for more details.
+ You should have received a copy of the Lesser GNU General Public License
+ along with SOPF. If not, see <http://www.gnu.org/licenses/>.
+ -->
<requirements xmlns="http://www.intellinova.com/requirements" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.intellinova.com/requirements ../../requirements/resources/requirements.xsd ">
<requirement id="7.0" groupId="1">
<text>t=total, p=percent, k=konstant, u=unit, t= Time
Modified: trunk/sopf/src/site/apt/doc.apt
===================================================================
--- trunk/sopf/src/site/apt/doc.apt 2009-07-16 10:13:47 UTC (rev 42)
+++ trunk/sopf/src/site/apt/doc.apt 2009-07-16 10:38:43 UTC (rev 43)
@@ -5,6 +5,19 @@
-----------------------------
2009/05/14
-----------------------------
+Copyright
+ This file is part of SOPF.
+ SOPF is free software: you can redistribute it and/or modify
+ it under the terms of the Lesser GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ SOPF is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ Lesser GNU General Public License for more details.
+ You should have received a copy of the Lesser GNU General Public License
+ along with SOPF. If not, see <http://www.gnu.org/licenses/>.
+
GOAL
The goal is to build a framework for designing neural network that can support any kind of neural component.
Furthermore to design neurons capable of been tuned to perform ltp.
Modified: trunk/sopf/src/site/apt/roadmap.apt
===================================================================
--- trunk/sopf/src/site/apt/roadmap.apt 2009-07-16 10:13:47 UTC (rev 42)
+++ trunk/sopf/src/site/apt/roadmap.apt 2009-07-16 10:38:43 UTC (rev 43)
@@ -6,8 +6,21 @@
2008/12/12
-----------------------------
+Copyright
+ This file is part of SOPF.
+ SOPF is free software: you can redistribute it and/or modify
+ it under the terms of the Lesser GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ SOPF is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ Lesser GNU General Public License for more details.
+ You should have received a copy of the Lesser GNU General Public License
+ along with SOPF. If not, see <http://www.gnu.org/licenses/>.
+
Preface:
- Since in depth knowledge of the behaviour of defined synapses seems to be missing.
+ Since in depth knowledge of the behavior of defined synapses seems to be missing.
I'd like to investigate further to find out the exact behavior of synapses given a set of
components.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <El...@us...> - 2009-08-21 13:55:46
|
Revision: 45
http://sop.svn.sourceforge.net/sop/?rev=45&view=rev
Author: Elhanan
Date: 2009-08-21 13:55:36 +0000 (Fri, 21 Aug 2009)
Log Message:
-----------
added formatting spaced for readiblity in apt viewer
Modified Paths:
--------------
trunk/sopf/cache/src/site/apt/cache.apt
trunk/sopf/kernel/src/site/apt/sfde.apt
trunk/sopf/model/src/site/apt/architecture.apt
Modified: trunk/sopf/cache/src/site/apt/cache.apt
===================================================================
--- trunk/sopf/cache/src/site/apt/cache.apt 2009-07-28 10:56:53 UTC (rev 44)
+++ trunk/sopf/cache/src/site/apt/cache.apt 2009-08-21 13:55:36 UTC (rev 45)
@@ -1,12 +1,19 @@
-----------------------
SOP-CACHE Technical Requirements & Design
-----------------------
+
Owolabi Oyapero
+
-----------------------
+
2009-07-16
+
-------------------------
+
Copyright
+
This file is part of SOPF.
+
SOPF is free software: you can redistribute it and/or modify
it under the terms of the Lesser GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
@@ -19,353 +26,668 @@
along with SOPF. If not, see <http://www.gnu.org/licenses/>.
Table of Contents
+
* Goals (In order of importance):
+
* Concepts
* Assumptions
+
* Goal Derived Requirements
+
* Technical Requirements
+
* System Requirements
+
* Dependencies
+
* Activity Sequence
+
* Definitions
+
* Interfaces
+
* Notes
Concepts:
- * Cache:
+
+ * Cache:
+
* Stores and manages data-synchronizations, it consist of 1 or more nodes.
+
* There are two types: lateralCache (LC) and CentralCache (CC)
+
* Lateral cache is actively involved in execution within a session.
+
* CentralCache coordinates a session, is a data-backup for lateralCaches in a session.
+
* Session consist of a centralCache with all required lateralCache connected (i.e all gp-data allocated).
+
* Data-Types:
+
* Global-Partitioned (gp): allocated between nodes
+
* Global-Unpartitioned (gu): all nodes have a copy
+
* Local : specific to one node
+
Assumptions
+
* Neural structure will exceed 500KB in most real-life applications
+
* Maximum disk-write speed is around 100MB/s in most affordable systems for developers.
+
* Maximum network speed is around 125MB/s (1Gb/s) in affordable systems for developers.
+
Goal Derived Requirements
+
* Cache must support arbitrary sized neural-networks (even terabytes if desired)
+
* Cache may be distributed in case of large-networks
+
* Local and backup persistence must be as efficient as possible.
+
* Cycle execution must support maximum throughput
-Technical Requirements
+
+Technical Requirements
+
* Cache Types:
+
* LateralCache (LC)
+
* Cache nodes that executes cycles are lateralCaches referred to as sibling.
+
* All siblings must have the same centralCache & neural-network and cyclestamp prior-to/after a cycle.
+
* Must be pausable,although pause signal-must be broadcasted to all siblings
+
* Must have an alive msg
+
* list siblings lateralCaches
+
* Get sibling ip from centralCache
+
* Cannot start cycles until all siblings are up
+
* Sync persistence interval -ensure that persistence occurs at same interval at all nodes
+
* Reallocation is determined by centralCache config
+
* data-obj must be binary-sorted internally on the basis of key (id)
+
* tasks must be stored on a FIFO queue and persisted with order preserved
+
* cache could use two ports to transfer data
+
* {LC-internals} may be composed of queues (e.g. task-queue) and metadata:
+
* local-data
+
* Dynamic size (keep that in mind)
+
* allocation-info
+
* gu-data that are relevant to execution in kernel.
+
* gp-data: Data-obj must be sorted by type then key (id), collection? (TreeSet)
+
* gu-data delta is sent to CC
+
* Initiates request for backing up the data to CentralCache (interval-configurable)
+
+
* LN node must gracefully quit, if it has to quit the session.
+
* CentralCache
+
* gp-data must be binary-sorted exactly as in LC
+
* Does not participate in data execution
+
* Reallocation is going to be different, each lateralCache will send the data-obj to appropriate cache
+
* Internals structure MUST be the same with {{LC-internals}} with exception of the local-data.
+
* Persisted data structure MAY be the same with LateralCache
+
* Must not accept new-LC if all gp-data are allocated and LCs are not dead.
+
* Accepts new-LC if the session has not started
+
* Accepts new-LC if connected LC quits.
- * Accepts new-LC if connected LC dies AND waited for maxWait4DLc.
+
+ * Accepts new-LC if connected LC dies AND waited for maxWait4DLc.
+
* Must allocate only unallocated-gp-data in-case of LC-joins.
+
* reallocation-conditions,variables?
+
* New data obj should be added directly to the backup data (only) with a change in designVersion variable
+
* Must be able to send reallocate event to listeners (LCs).
+
* If dead-CC reawake and all LCs are wake & cyclestamp-synced, sync gu-data& backup (no rollback).
* Data:
+
* Data-Types
+
* Global-Partioned (gp)
+
* Global-Unpartitioned (gu):
- * must be deltable
+
+ * must be deltable
+
* must be synced at the end of each cycle
+
* Local
+
* <strikethrough>PreCycleTaskQueue<strikethrough/>
+
* CycleTaskQueues {NextCycleTaskQueue, [SiblingNextCycleTaskQueues]*} (FIFO queue)
+
* NewCycleTaskQueue consist of tasks belonging to the LC's kernel.
+
* <strikethrough>PostCycleTaskQueue<strikethrough/>
+
* Does not contain the cycle count, that is tracked by the cache
+
* All global-data should be managed by the cache.
+
* All global-data must have an identifier.
+
* Data-Obj
+
* data-type must uniquely identify a type of data
+
* data-typeId must uniquely identify a data-type
+
* Some properties in the data-obj such as conns, are not changed by the task
+
* File Structure
- * For the cache file, the first 100 bytes consist of 7 fields and must be
+
+ * For the cache file, the first 100 bytes consist of 7 fields and must be
+
* neuralNetId (long)
+
* cyclestamp (long)
+
* designVersion (int)
* maxLocalData (long): max slots for local data, value: maxDataCount * 400. ((40/obj, 10-obj/data)
+
* maxDataTypeHeaderCount (int): max-num data-types supported, default:500 (configurable)
+
* maxDataCount (long): the max-num of components supported, default: 100000(configurable)
- * allocationInfoSize (short): num of slots for allocating-info
+
+ * allocationInfoSize (short): num of slots for allocating-info
+
* status (byte): [ DESIGN (1)| NEW (3)| RESUME (5)| STOP (7)| QUIT (9), RUNNING (11)]
+
* reserved (57-bytes): reserved for future use (possibly include header-start-bits and end-bits)
+
* Local-data
+
* Dynamic size (keep that in mind, see maxLocalData)
+
* local-task-queue
+
* lateral-caches-task-queue
+
* Allocation-info
+
* ccip, ccport [, siblingIp, siblingPort, siblingAllocation]*
+
* gu-data that are relevant to execution in kernel.
+
* gp-data: Data-obj must be sorted by type then key (id), collection? (TreeSet)
+
* data-type-headers must begin the global-data section
+
* format: [data-type-header-start-bits, data-type-id, version, [propId,size]*, data-type-header-end-bits ]
+
* size: byte , short , short , short*, byte
+
* There should a fixed num of data-type-header-slots, value is maxDataTypeHeaderCount * 150 (assumes average of 50 fields)
+
* data-header must have maxDataCount*16 slots and must be sorted
+
* format: data-header-section-start-bits,[data-id, location]*, data-header-section-end-bits
+
* size: byte , long , long , byte
+
* data-format
+
[data-type-id,data-id,[propId, propValue]*]
+
* Use negative values as indices/values except where logic overrules, this provides a wider-range.
- * The data-bytes-serializer & data-bytes-parser should be generated automatically from class.
+
+ * The data-bytes-serializer & data-bytes-parser should be generated automatically from class.
+
* Persistence
+
* I suggest using memory maps since our global-data will often exceed 100Kb in real-applications. (assumptions)
Dependencies
+
* Task must inherently identify data-id
+
Activity Sequence
+
* Assumptions and Terminology
+
* LCs without qualification implies member-LCs
+
* START_NODES
+
* CentralCache:
- * startup-params: data-file, max-mem, port, maxWait4Ready, maxWait4PauseResume,maxWait4DeadResume,
+
+ * startup-params: data-file, max-mem, port, maxWait4Ready, maxWait4PauseResume,maxWait4DeadResume,
+
\nsaveInterval, backupInterval, maxSkippedCycles
+
* ? Listen for msg from lateralCaches
+
* if status equals RUNNING|PAUSE, do CC_RESUME
+
* if status equals STOP, do JOIN
- * LateralCache:
+
+ * LateralCache:
+
* startup-params: data-file (may be empty), max-mem, port, ccIp, ccPort, nni?, cyclestamp?, dataPerGd?, sizePerLd?
\n pingCCInterval,
\n . Optional variables are missing if data-file is not empty.
* if status equals RUNNING|PAUSE, do LC_RESUME
+
* if status equals STOP, do JOIN
+
* JOIN
- * CentralCache:
+
+ * CentralCache:
+
* Ignore non-JOIN request from non-members.
+
* Listen for JOIN from lateralCaches, record their ip, port, act & am & timestamp.
+
* Send JOIN-ACCEPT back
+
* do ALLOCATE_TO_NODE for that LC
+
* if all gp-data is not allocated, send AWAIT_JOIN signal to that LC
+
* repeat until all gp-data has been allocated
- * LateralCache:
+
+ * LateralCache:
+
* Send JOIN-req to a CentralCache at a given-port, provide available cpu time (act) & available memory (am).
+
* If response is JOIN-ACCEPT, accept response and do ALLOCATE_TO_NODE
+
* If response is JOIN-REJECT, record then send notification to user/UI and halt.
+
*ALLOCATE_TO_NODE
- * CentralCache:
+
+ * CentralCache:
+
* Determine data-size, assign selector-value-range (id) for the lateralCache based on their act-am.
+
* Send cyclestamp, allocation-info to LC
+
* Send global-data to the LC based on the selector-affinity (id).
+
* LateralCache:
+
* Receive the cyclestamp, allocation-info, maxWait4Ready, maxWait4PauseResume, maxWait4DeadResume, saveInterval,backupInterval
+
* Receive the gu-data & gp-data for this node
+
* update data file and load-data-file
+
* Do CACHE_READY.
+
* CACHE_READY
- * CentralCache:
+
+ * CentralCache:
+
* Receive CACHE_READY signal from all member LCs.
+
* If any member does not send CACHE_READY signal within maxWait4Ready time
+
* remove that member (send JOIN-REJECT to it) and do JOIN
+
* send CACHE_SYNC-signal with all-allocation-info to all lateralCaches (LCs)
- * LateralCache:
+
+ * LateralCache:
+
* Send tasks in SiblingNextCycleTaskQueue to appropriate LCs with zero or more tasks.
+
* Receive TASK signal from all siblings, putting tasks in NextCycleTaskQueue
+
* Send CACHE_READY signal to CC
+
* CC_RESUME (DEAD/PAUSE)
+
* CentralCache:
+
* send RESUME_PAUSE/RESUME_DEAD signal with most variables and persisted-cycle-stamp except allocation-info to all LC
+
* If response is received from ALL LCs within maxWait4PauseResume/maxWait4DeadResume (depends on context)
+
* If initialStatus is RUNNING (RESUME_DEAD), request gu-data delta
- * If persisted data-cycle-num is less than current-data-cycle-num, do REQ_DATA
+
+ * If persisted data-cycle-num is less than current-data-cycle-num, do REQ_DATA
+
* do CACHE_SYNC
- * Else do ROLL_BACK
+
+ * Else do ROLL_BACK
+
* LateralCache:
+
* If receive RESUME_DEAD/PAUSE signal
+
* send RESUME signal to CC
- * if receive RESUME_DEAD & persisted-cyclestamp < current-cyclestamp
+
+ * if receive RESUME_DEAD & persisted-cyclestamp \< current-cyclestamp
+
* await REQ_DATA
+
* Otherwise wait
+
* LC_RESUME
+
* CentralCache:
+
* accept RESUME_PAUSE/DEAD signal from LC
+
* if RESUME_DEAD
+
* if (cycle-stamp - current-cycle-stamp > maxSkippedCycles)
+
* do ROLLBACK
+
* LateralCache:
+
* send RESUME_PAUSE/RESUME_DEAD signal with cycle-stamp & nni
+
* CACHE_SYNC (on the commencement of a new-cycle at all times)
- * CentralCache:
- * send cache-sync signal & summated-gu-data delta & persistence-interval (for all global-data)
+
+ * CentralCache:
+
+ * send cache-sync signal & summated-gu-data delta & persistence-interval (for all global-data)
(if you want to set/change it).
- LateralCache:
+
+ LateralCache:
+
* receive cache-sync signal & summated-gu-data-delta
+
* send cache-sync signal to listeners (executor: then executor will send cycle-start signal)
+
* listen to cycle-start signal, track cycle-count
+
* END_CYCLE (At the end of each cycle)
- * CentralCache:
+
+ * CentralCache:
+
* receive cycle-end signal from each LCs
+
* if last-save-cycle matches backupInterval, do REQ_DATA
+
* global-field delta provided by each lateralCache is used to track alive lateralCaches.
+
* if any lateralCache is dead, go-to DEAD_CACHE
+
* else do CACHE_SYNC
+
* LateralCache:
+
* receive cycle-end signal from its CycleEventSource (e.g. executors), track completed-cycles
+
* if last-save-cycle matches saveInterval, do CACHE_SAVE
+
* send end-cycle signal with gu-data-delta to the centralCache, even if it is 0.
+
* CACHE_SAVE
+
* CentralCache:
- * send SAVE signal to LCs
- * LateralCache:
+
+ * send SAVE signal to LCs
+
+ * LateralCache:
+
* receive SAVE signal from CC
+
* local persistence of state
+
* REQ_DATA (data persistence mechanism)
- * CentralCache:
+
+ * CentralCache:
+
* broadcast data-request-signal with a specific cycle-num to all lateralCaches.
+
* wait for all match-data-signal
+
* if there is a no-match-data-signal
+
* send abort-data-request-signal
+
* send start-transfer signal to one LC and get all data from it
+
* repeat with next LC until all LC have sent data
+
* store received gp-data & gu-data in temp, store gu-data in memory
+
* if data is received from all allocated lateralCaches, migrate temp to permanent.
+
* else roll-back (clear temp).
- * LateralCache:
+
+ * LateralCache:
+
* receive REQ_DATA signal
- * if current-cycle does not match req-data-cycle-num,
+
+ * if current-cycle does not match req-data-cycle-num,
+
* send no-match-data-signal to the lateralCache,
- * else send match-data-signal
- * receive start-transfer, then send all gp-data upon receiving request
+
+ * else send match-data-signal
+
+ * receive start-transfer, then send all gp-data upon receiving request
+
* CACHE_PAUSE
+
* LateralCache:
+
* optionally send PAUSE signal to CC
- * receive pause
+
+ * receive pause
+
* wait for resume signal from CC
- * CentralCache:
+
+ * CentralCache:
+
* optionally, receive PAUSE signal and
+
* request gu-data delta
- * do REQ_DATA
+
+ * do REQ_DATA
+
* send PAUSE signal
+
* QUIT_LC (When a lateralCache decides to quit)
+
* LateralCache: (Quitting-LC)
+
* receive quit-signal from QuitEventSource
+
* send cache-quit signal and last-completed cycle to centralCache, with gu-data-delta (if current-cycle = completed-cycles)
+
* await data-request
+
* cleanly shutdown, closing ports and send cache-shutdown event to listeners
- * CentralCache:
+
+ * CentralCache:
+
* receive cache-quit signal and last-completed cycle to centralCache, with gu-data-delta
+
* store the gu-data of the quit-lateralCache in temp-place
+
* if completed-cyclestamp != persisted-cyclestamp,do REQ_DATA starting with quitting-LC
+
* store the gp-data of the quit-lateralCache in temp-place.
+
* send AWAIT_JOIN signal to LCs
+
* do JOIN
+
* QUIT_CC
- * CentralCache:
+
+ * CentralCache:
+
* receive quit-signal from QuitEventSource
+
* do REQ_DATA
+
* send quit-cc signal to LCs
+
* cleanly shutdown, closing ports and send cache-shutdown event to listeners
+
* LateralCache:
+
* receive quit-cc signal then halt, notify user
+
* await reconfiguration for a new CC
+
* continuously ping CC to see if it awakes at pingCCInterval
+
* DEAD_LC (LC abruptly terminates)
+
* CentralCache:
+
* send AWAIT_JOIN signal to LCs
+
* if RESUME_DEAD signal received within maxWait4DeadResume
+
* do RESUME_LC
+
* else
- * if (persisted-cyclestamp < current-cyclestamp), do ROLLBACK
+
+ * if (persisted-cyclestamp \< current-cyclestamp), do ROLLBACK
+
* do JOIN
+
* DEAD_CC (CC abruptly terminates)
+
* LateralCache:
+
* continuously ping CC to see if it awakes at pingCCInterval
+
* ROLL_BACK
- * CentralCache:
+
+ * CentralCache:
+
* send ROLLBACK signal to LCs
+
* REQ_ACT_AM
+
* do ALLOCATE_TO_NODE
+
* REQ_ACT_AM (request for act and am)
+
* CentralCache:
+
* Broadcast request for act-am of expired act-am based on record timestamp
* LateralCache:
+
* Send act-am to centralCache
+
* CentralCache:
+
* Record lateralCache's act & am.
-Definitions
+
+Definitions
+
* CACHE-EVENTS:
+
* Allocate
+
* Started
+
* Ready
+
* Syncing
+
* Sync
+
* Saving
+
* BackingUp
+
* Rollback
+
* Stop
+
* Messages:
+
* LateralCache to LateralCache
- * DistTaskMsg - for distributing task to appropriate cache
+
+ * DistTaskMsg - for distributing task to appropriate cache
Format: [disk-task-msg-bits, [task]*, end-bits]
- * DistDataMsg - for moving data-obj to its allocated lateralCache
+
+ * DistDataMsg - for moving data-obj to its allocated lateralCache
Format: [dist-data-msg-bits, [data]*, end-bits]
+
* CentralCache to LateralCache
- *
+
+ *
+
* LateralCache to CentralCache
+
*
- * Interfaces:
- * GP-Data
+ * Interfaces:
+
+ * GP-Data
+
* implements IData
- * GU-Data
- * implements IDeltable
+
+ * GU-Data
+
+ * implements IDeltable
CentralCacheProxy
* public List<LateralCacheProxy> listLateralCaches();
- * public void addListeners(CacheEventListener cel);
+
+ * public void addListeners(CacheEventListener cel);
+
LateralCache
+
* Collection<Task> fetchTasks();
+
* void addTask(Task task); - must never be called once a cycle is started
+
* addNewTask(Task task); - must never be called outside the context of a cycle
+
* extends TaskAware
* Variables
+
* Common
+
* maxDataTypeHeaderCount
+
* maxDataCount
+
* Assumption-variables: provides fine tuned control
local.dataPerGd (local obj/globalData),
local.sizePerLd (size/localData)
global.sizePerDtHd (size/dataTypeHeader),
global.sizePerGd (size/globalData)
- * LateralCache:
- local.ccip, local.ccport,
- * CentralCache:
+
+ * LateralCache:
+ local.ccip, local.ccport,
+ * CentralCache:
data.designVersion, data.cycleStamp,
maxWait4DLc [-1,0,>0] : -1 implies forever, 0 implies no wait.
Modified: trunk/sopf/kernel/src/site/apt/sfde.apt
===================================================================
--- trunk/sopf/kernel/src/site/apt/sfde.apt 2009-07-28 10:56:53 UTC (rev 44)
+++ trunk/sopf/kernel/src/site/apt/sfde.apt 2009-08-21 13:55:36 UTC (rev 45)
@@ -1,11 +1,19 @@
--------------------------
+
SOP Stateful Data Executor
+
--------------------------
+
Owolabi Oyapero
+
--------------------------
+
2009-07-16
+
-------------------------
+
Copyright
+
This file is part of SOPF.
SOPF is free software: you can redistribute it and/or modify
it under the terms of the Lesser GNU General Public License as published by
@@ -19,127 +27,229 @@
along with SOPF. If not, see <http://www.gnu.org/licenses/>.
Executor
+
* Goals
+
* Concepts
+
* Assumptions
+
* Goal Derived Requirements
+
* Technical Requirements
+
* System Requirements
+
* Dependencies
+
* Activity Sequence
+
* Interfaces
+
* Other Requirements
+
* Notes
+
* Old-Notes
* Goals (In order of importance):
+
* Stateful distributed execution (sfde)
+
-* Concepts:
+* Concepts:
+
* Task (command-pattern)
+
* Stateless object encapsulates operations for any instance of specific objType
+
* Will be stored in the queue
+
* Support for specific objType must be static (compile-time)
+
* Serialized-task format: [taskTypeId, taskTypeVersion, operationNum, [objTypeId, objId],[taskParamIndex, taskParamValue]]
+
* TypeId must uniquely identify a task-type that supports a specific data-type
+
* Task have a createTime (identifying the cycle in which they were created).
+
* Time is defined as the number of execution cycles for a given neural-network.
+
* An execution session is defined around the instantiation of a cache.
Assumptions
+
* Task types are defined and limited.
+
* Neurons will not be created/deleted frequently.
+
* All global-data should be managed by the cache
Goal Derived Requirements
- * There will be a set of predefined tasks, represented by a Runnable obj.
+
+ * There will be a set of predefined tasks, represented by a Runnable obj.
+
* Must determine and define the various task types.
+
* The queues must be ordered in a specific sequential manner?
+
* Upon task execution, the task must be inactivated.
+
* Queues must be demarcated based on time.
+
* All components must use the same unit of time, even peripheral receptors.
+
* Queues sequence must be based on actual literature.???
+
* The time demarcator is run before any task-queue.
+
* Peripheral components must process within the proposed time demarcation.
+
* Time must be demarcated in all queues.
+
* All precycle tasks must complete prior to starting cycle.
+
*
Technical Requirements
+
* The task will contain references to the involved components.
+
* Task is sent to each executor based on the selector-affinity.
+
* Each task-type will be assigned a pool of empty tasks and a queue for active task.
+
* Each main task type will have its queue, the last runnable will be latched with a binary sephamore release.
+
* The processor-pool will process tasks, as it is moved from the task-queue and submitted.
+
* Task execution may produce new tasks which, must have a correct selector-value (id) and createTime.
+
* A queue processing can start only after the binary sephamore is available.
- * The system task invocator will get the empty task-instance from a pool,
- \n the empty task will be filled fields related to the current invocation.
+
+ * The system task invocator will get the empty task-instance from a pool,
+ \n the empty task will be filled fields related to the current invocation.
+
* Upon task execution, the task obj will be returned to the pool.
+
* There will be a pool for task-type.
+
* There will be no neuron pool.
+
* PreCycleTasks (derived from data) should be submitted directly to the PausableThreadPoolExecutor
+
* The preCycle tasks should be split evenly among the PausableThreadPoolExcecutor threads.
-* Data
+
+* Data
+
* PreCycleTasks- the tasks should be relatively static and defined once, early in kernel init.
+
* CycleQueue- task queues for current cycle of the local-kernel
+
* New task against gu-data should be replicated transparently into all sibling kernels by the cache.
System Requirements
- *
-Dependencies
- * Task distribution is encapsulated in the cache
+ *
+
+
+Dependencies
+
+ * Task distribution is encapsulated in the cache
+
* Cache will provide the expected queue structure
+
* Cache will transparently put a new-task to the appropriate queue [NextCycleTaskQueue/SiblingNextCycleTaskQueue]
+
Activity Sequence
+
* START_SESSION:
- * Kernel:
+
+ * Kernel:
+
* startup-params: cache
+
* Get params from cache and instantiate appropriate variables and queues.
+
* if isCacheSync() is false;
+
* cache-sync signal
+
* do PRE_CYCLE
+
* RE-ALLOCATE:
- * Kernel:
+
+ * Kernel:
+
* Receive reallocated signal from cache
+
* change appropriate variables
+
* PRE_CYCLE:
+
* Receive cache-sync event
+
* Add pre-Cycle-task for each item (gp-data) to CycleQueue
+
* Copy New-Tasks from cache and add to CycleQueue
+
* do NEW_CYCLE
+
* NEW_CYCLE: (on the commencement of a new-Cycle at all times)
- * Kernel:
+
+ * Kernel:
+
* send start-Cycle-signal with the cycle-count
- * FIFO execution of tasks in the CycleQueue
+
+ * FIFO execution of tasks in the CycleQueue
+
* END_CYCLE: (At the end of each cycle)
- * Kernel:
+
+ * Kernel:
+
* send end-Cycle-signal with the cycle-count
+
* Cache:
- *
+
+ *
+
* QUIT_EXEC: (When an executor decides to quit)
- * Kernel:
+
+ * Kernel:
+
* Receive quit signal ?
+
* clean up, gc e.t.c
- * Send quit signal to cache
+
+ * Send quit signal to cache
+
* Cache:
+
*
* Interfaces
+
* Cache:
+
* addNewTask(Task) - will be inserted either in NextCycleTaskQueue or SiblingNextCycleTaskQueue.
+
* if Task.objTypeId is gu-data
+
* task must be added to NextCycleTaskQueue and all SiblingNextCycleTaskQueue
+
* else if Task.objTypeId is gp-data
+
* task must be added to the appropriate NextCycleTaskQueue (local/sibling).
-
+
* Other Requirements
+
* Notes:
+
* Todo List
+
\ No newline at end of file
Modified: trunk/sopf/model/src/site/apt/architecture.apt
===================================================================
--- trunk/sopf/model/src/site/apt/architecture.apt 2009-07-28 10:56:53 UTC (rev 44)
+++ trunk/sopf/model/src/site/apt/architecture.apt 2009-08-21 13:55:36 UTC (rev 45)
@@ -1,12 +1,21 @@
-----------------------------
+
SOP COMPONENTS
+
-----------------------------
+
Owolabi Oyapero
+
-----------------------------
+
2008/12/12
+
-----------------------------
+
+
Copyright
- This file is part of SOPF.
+
+ This file is part of SOPF.
SOPF is free software: you can redistribute it and/or modify
it under the terms of the Lesser GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
@@ -19,59 +28,105 @@
along with SOPF. If not, see <http://www.gnu.org/licenses/>.
Components
+
* Base Component
+
* Component
+
* Core Components
+
* Synapse
+
* Receiver
+
* Sender
+
* Neuron
+
* Logical Components
+
* Population [id,label, comps]
+
* Layer [id,label, pops]
+
* Layers [id,label, layers] ( may contain other layers as well)
+
* System [id,label, layerss]
-Components Associations:
+
+Components Associations:
+
* Keys
+
* <> - implies composition
+
* 1....* - implies one-to-many
+
* Composition & Aggregation
+
* Population 1....* components
+
* Layer <>..... population
+
* Layers <>..... Layer
+
* System <>..... Layers
+
* Inheritance
+
* Synapse--->Component,Receiver
- * Receiver--->Component,
- * Sender--->Component,
+
+ * Receiver--->Component,
+
+ * Sender--->Component,
+
* Neuron--->Component, Receiver, Sender
+
* Population--->DeltableData, Layer--->DeltableData, Layers--->DeltableData, System--->DeltableData
+
Static Structure
+
All core components (and base) must have an interface-definition.
+
* Component properties
- * supports :
+
+ * supports :
+
* Returns int, which is an interpreted as aggregated flags represented by bits.
+
* Each support is represented by a flag e.g LTP, Facilitation, PostSynapticFeedback e.t.c
+
Interfaces
+
* Component
{id, supports, systemState}
- * SystemState
+
+ * SystemState
{age, }
+
* Synapse
{}
- * Receiver
+
+ * Receiver
{}
- * Sender
+
+ * Sender
{}
- * Neuron
+
+ * Neuron
{}
+
*
+
* Population
+
* Layer
+
* Layers
+
* System
+
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|