Skip to content

Commit

Permalink
Initial commit of jPapaBench.
Browse files Browse the repository at this point in the history
  • Loading branch information
mmalohlava committed Nov 7, 2010
0 parents commit 7a388cf
Show file tree
Hide file tree
Showing 166 changed files with 12,592 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .hgignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
syntax: regexp
\.settings/
bin/
6 changes: 6 additions & 0 deletions jpapabench-build/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="output" path="bin"/>
</classpath>
17 changes: 17 additions & 0 deletions jpapabench-build/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>jpapabench-build</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
56 changes: 56 additions & 0 deletions jpapabench-build/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# $Id$
#
# This file is a part of jPapaBench providing a Java implementation
# of PapaBench project.
# Copyright (C) 2010 Michal Malohlava <michal.malohlava_at_d3s.mff.cuni.cz>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program 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
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

#
# jPapaBench global build properties
#

# top-level dir of jPapaBench modules
jpapabench.top.dir=${basedir}/..

# jPapaBench modules
jpapabench.core.dir=${jpapabench.top.dir}/jpapabench-core
jpapabench.core.flightplans.dir=${jpapabench.top.dir}/jpapabench-core-flightplans
jpapabench.pj.dir=${jpapabench.top.dir}/jpapabench-pj
jpapabench.rtsj.dir=${jpapabench.top.dir}/jpapabench-rtsj
jpapabench.scj.dir=${jpapabench.top.dir}/jpapabench-scj

# jPapapBench source dirs
src.jpapabench.core.dir=${jpapabench.core.dir}/src
src.jpapabench.core.flightplans.dir=${jpapabench.core.flightplans.dir}/src
src.jpapabench.pj.dir=${jpapabench.pj.dir}/src
src.jpapabench.rtsj.dir=${jpapabench.rtsj.dir}/src
src.jpapabench.scj.dir=${jpapabench.scj.dir}/src

output.dir=${basedir}/output
output.jpapabench.core.dir=${output.dir}/jpapabench-core
output.jpapabench.core.flightplans.dir=${output.dir}/jpapabench-core-flightplans
output.jpapabench.pj.dir=${output.dir}/jpapabench-pj
output.jpapabench.rtsj.dir=${output.dir}/jpapabench-rtsj
output.jpapabench.scj.dir=${output.dir}/jpapabench-scj

# output log folder
log.dir=${basedir}/log

# build requirements for RTSJ, SCJ versions - API
build.rtjs.api.dir=${personal.build.rtsj.api.dir}
build.scj.api.dir=${personal.build.scj.api.dir}


250 changes: 250 additions & 0 deletions jpapabench-build/build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
<!-- $Id$
This file is a part of jPapaBench providing a Java implementation
of PapaBench project.
Copyright (C) 2010 Michal Malohlava <michal.malohlava_at_d3s.mff.cuni.cz>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program 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
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-->

<!--
Build file for all jPapaBench versions:
- plain Java
- RTSJ
- SCJ
-->
<project name="jPapaBench" default="build.all" basedir=".">

<!-- personal build properties -->
<property file="personal.build.properties" />

<!-- basic configuration properties -->
<property file="build.properties" />

<path id="classpath.build.rtjs">
<pathelement location="${build.rtsj.dir}" />
</path>

<path id="classpath.build.scj">
<pathelement location="${build.scj.dir}" />
</path>

<path id="classpath.run.rtjs">
<pathelement location="${build.rtsj.dir}" />
</path>

<path id="classpath.run.scj">
<pathelement location="${build.scj.dir}" />
</path>

<!-- build time classpaths -->
<path id="classpath.base">
</path>

<path id="classpath.build.base">
<path refid="classpath.base" />
</path>

<path id="classpath.build.jpapabench.core">
<path refid="classpath.build.base" />
</path>

<path id="classpath.build.jpapabench.core.flightplans">
<path refid="classpath.build.base" />
<pathelement location="${output.jpapabench.core.dir}" />
</path>

<path id="classpath.build.jpapabench.pj">
<pathelement location="${output.jpapabench.core.dir}" />
<pathelement location="${output.jpapabench.core.flightplans.dir}" />
</path>

<path id="classpath.build.jpapabench.rtsj">
<path refid="classpath.build.base" />
<path refid="classpath.build.rtsj" />
<pathelement location="${output.jpapabench.core.dir}" />
<pathelement location="${output.jpapabench.core.flightplans.dir}" />
</path>

<path id="classpath.build.jpapabench.scj">
<path refid="classpath.build.base" />
<path refid="classpath.build.scj" />
<pathelement location="${output.jpapabench.core.dir}" />
<pathelement location="${output.jpapabench.core.flightplans.dir}" />
</path>

<!-- runtime classpaths -->
<path id="classpath.run">
<path refid="classpath.base" />
</path>

<path id="classpath.run.jpapabench.scj">
<path refid="classpath.run" />
<path refid="classpath.run.scj" />
<pathelement location="${out.jjpapabench.scj.dir}" />
</path>

<path id="classpath.run.jpapabench.rtsj">
<path refid="classpath.run" />
<path refid="classpath.run.rtsj" />
<pathelement location="${output.jpapabench.rtsj.dir}" />
<pathelement location="${output.jpapabench.core.dir}" />
<pathelement location="${output.jpapabench.core.flightplans.dir}" />
</path>

<path id="classpath.run.jpapabench.pj">
<pathelement location="${output.jpapabench.pj.dir}" />
<pathelement location="${output.jpapabench.core.dir}" />
<pathelement location="${output.jpapabench.core.flightplans.dir}" />
</path>

<target name="init" depends="clean">
<mkdir dir="${output.dir}" />
<mkdir dir="${output.jpapabench.core.dir}" />
<mkdir dir="${output.jpapabench.core.flightplans.dir}" />
<mkdir dir="${output.jpapabench.pj.dir}" />
<mkdir dir="${output.jpapabench.rtsj.dir}" />
<mkdir dir="${output.jpapabench.scj.dir}" />
<mkdir dir="${log.dir}" />
</target>

<target name="clean" description="- clean up">
<delete dir="${output.dir}" />
</target>

<target name="clean.log" description="- clean up log">
<delete dir="${output.dir}" />
</target>

<target name="compile.jpapabench.core" depends="init">
<javac srcdir="${src.jpapabench.core.dir}" destdir="${output.jpapabench.core.dir}" deprecation="on" debug="on">
<classpath refid="classpath.build.jpapabench.core" />
</javac>

<javac srcdir="${src.jpapabench.core.flightplans.dir}" destdir="${output.jpapabench.core.flightplans.dir}" deprecation="on" debug="on">
<classpath refid="classpath.build.jpapabench.core.flightplans" />
</javac>
</target>

<target name="compile.jpapabench.pj" depends="init">
<javac srcdir="${src.jpapabench.pj.dir}" destdir="${output.jpapabench.pj.dir}" deprecation="on" debug="on">
<classpath refid="classpath.build.jpapabench.pj" />
</javac>
</target>

<target name="compile.jpapabench.rtsj" depends="init">
<javac srcdir="${src.jpapabench.rtsj.dir}" destdir="${output.jpapabench.rtsj.dir}" deprecation="on" debug="on">
<classpath refid="classpath.build.jpapabench.rtsj" />
</javac>
</target>

<target name="compile.jpapabench.scj" depends="init">
<javac srcdir="${examples.jpapabench.dir}" destdir="${output.jpapabench.scj.dir}" deprecation="on" debug="on">
<classpath refid="classpath.build.progs" />
</javac>
</target>

<target name="build.jpapabench.pj" depends="compile.jpapabench.core,compile.jpapabench.pj" description="- build plain Java version of jPapaBench" />
<target name="build.jpapabench.rtsj" depends="compile.jpapabench.core,compile.jpapabench.rtsj" description="- build RTSJ version of jPapaBench" />
<target name="build.jpapabench.scj" depends="compile.jpapabench.core,compile.jpapabench.scj" description="- build SCJ version of jPapaBench" />
<target name="build.all" depends="build.jpapabench.pj,build.jpapabench.rtsj,build.jpapabench.scj" description="- build all versions of jPapaBench"/>

<target name="run.jpapabench.pj" depends="build.jpapabench.pj" description="- run a plain Java version of jPapaBench">
<java classname="jpapabench.pj.PapaBenchPlainJavaApplication" fork="true" output="jpapabench_pj.out" error="jpapabench_pj.err">
<jvmarg value="-Xmx20g" />
<jvmarg value="-Xss64m" />
<classpath refid="classpath.run.jpapabench.pj" />
</java>
</target>

<target name="run.jpapabench.scj.l0" depends="build.jpapabench.scj">
<copy file="scj_jpf.properties" tofile="jpf.properties" overwrite="yes" />
<java jar="${jpf.core.dir}/build/RunJPF.jar" fork="true" output="${log.dir}/jpapabench_l0.out" error="${log.dir}/jpapabench_l0.err">
<arg value="+classpath=.,${output.jpapabench.scj.dir}" />
<arg value="+site=./site.properties" />
<arg value="javax.safetycritical.SCJRuntime" />
<arg value="jpapabench.scj.PapaBenchSCJLevel0Application" />
<jvmarg value="-Xmx20g" />
<jvmarg value="-Xss64m" />
<classpath refid="classpath.run.jpapabench.scj" />
</java>
<copy file="rtsj_jpf.properties" tofile="jpf.properties" overwrite="yes" />
</target>

<target name="run.jpapabench.scj.l1" depends="build.jpapabench.scj">
<copy file="scj_jpf.properties" tofile="jpf.properties" overwrite="yes" />
<java jar="${jpf.core.dir}/build/RunJPF.jar" fork="true" output="${log.dir}/jpapabench_l1.out" error="${log.dir}/jpapabench_l1.err">
<arg value="+classpath=.,${output.jpapabench.scj.dir}" />
<arg value="+site=./site.properties" />
<!--
<arg value="+listener+=,gov.nasa.jpf.listener.RaceDetector"/>
<arg value="+race.verify_cycle=true"/>
-->
<arg value="javax.safetycritical.SCJRuntime" />
<arg value="jpapabench.scj.PapaBenchSCJLevel1Application" />
<jvmarg value="-Xmx20g" />
<jvmarg value="-Xss64m" />
<classpath refid="classpath.run.jpapabench.scj" />
</java>
<copy file="rtsj_jpf.properties" tofile="jpf.properties" overwrite="yes" />
</target>

<target name="run.jpapabench.scj" depends="run.jpapabench.scj.l0,run.jpapabench.scj.l1" />

<target name="run.jpapabench.rtsj" depends="build.jpapabench.rtsj">
<copy file="rtsj_history_jpf.properties" tofile="jpf.properties" overwrite="yes" />
<java jar="${jpf.core.dir}/build/RunJPF.jar" fork="true" output="${log.dir}/jpapabench_rtsj.out" error="${log.dir}/jpapabench_rtsj.err">
<arg value="+classpath=.,${output.jpapabench.rtsj.dir},${output.jpapabench.core.dir},${output.jpapabench.core.flightplans.dir}" />
<arg value="+site=./site.properties" />
<!--
<arg value="+listener+=,gov.nasa.jpf.listener.RaceDetector"/>
<arg value="+race.verify_cycle=true"/>
-->
<arg value="jpapabench.rtsj.PapaBenchRTSJApplication" />
<jvmarg value="-Xmx20g" />
<jvmarg value="-Xss64m" />
<classpath refid="classpath.run.jpapabench.rtsj" />
</java>
<copy file="rtsj_jpf.properties" tofile="jpf.properties" overwrite="yes" />
</target>


<target name="debug.jpapabench.scj" depends="build.jpapabench.scj">
<copy file="scj_jpf_debug.properties" tofile="jpf.properties" overwrite="yes" />
<java jar="${jpf.core.dir}/build/RunJPF.jar" fork="true" output="${log.dir}/jpapabench_l0_debug.out" error="${log.dir}/jpapabench_l0_debug.err">
<arg value="+classpath=.,${output.jpapabench.scj.dir}" />
<arg value="+site=./site.properties" />
<arg value="+listener+=,gov.nasa.jpf.rtembed.utils.TimeConstrainedJPF" />
<arg value="+jpf.time_limit=300" />
<arg value="javax.safetycritical.SCJRuntime" />
<arg value="jpapabench.scj.PapaBenchSCJLevel0Application" />
<jvmarg value="-Xmx4096g" />
<jvmarg value="-Xss32m" />
<classpath refid="classpath.run.jpapabench.scj" />
</java>
<java jar="${jpf.core.dir}/build/RunJPF.jar" fork="true" output="${log.dir}/jpapabench_l1_debug.out" error="${log.dir}/jpapabench_l1_debug.err">
<arg value="+classpath=.,${output.jpapabench.dir}" />
<arg value="+site=./site.properties" />
<arg value="+listener+=,gov.nasa.jpf.rtembed.utils.TimeConstrainedJPF" />
<arg value="+jpf.time_limit=300" />
<arg value="javax.safetycritical.SCJRuntime" />
<arg value="jpapabench.scj.PapaBenchSCJLevel1Application" />
<jvmarg value="-Xmx4096g" />
<jvmarg value="-Xss32m" />
<classpath refid="classpath.run.jpapabench.scj" />
</java>
<copy file="rtsj_jpf.properties" tofile="jpf.properties" overwrite="yes" />
</target>

</project>
11 changes: 11 additions & 0 deletions jpapabench-build/doc/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Authors of jPapaBench
Michal Malohlava <malohlava_at_d3s_dot_mff_dot_cuni_dot_cz>

Authors of PapaBench
Fadia Nemer <nemer_at_irit_dot_fr>
Hugues Cassé <casse_at_irit_dot_fr>

Authors of the initial project "Paparazzi"
Project website <www.recherche.enac.fr/paparazzi>
Pascal Brisset <pascal_dot_brisset_at_free_dot_fr>
Antoine Drouin <antoine_dot_drouin_at_free_dot_fr>
Loading

0 comments on commit 7a388cf

Please sign in to comment.