AspectJ with real time java

Hi
Does real time java supports aspectJ with Load-time weaving ( LTW ) ? ( compile time weaving )

Not sure what you mean by "support". AspectJ rewrites bytecodes so the VM will just execute them. You'll probably encounter increased memory usage with load-time weaving as class loading/initialization occurs in Immortal memory. Also load-time weaving won't be compatible with Java RTS's Initialization Time Compilation (ITC) feature ... or at least not the pre-initialization part. It's likely that no-heap threads won't work well running weaved code if there are any references back to heap-allocated AspectJ runtime objects, and similarly (like most libraries) it's not likely to work from scoped memory.
HTH.
David Holmes

Similar Messages

  • Scheduling in Real-Time Java

    Hello,
    I have some questions concerning how scheduling in fact is intended to be performed in a RTSJ based Real-Time Java System.
    As far as I understood, RTSJ requires pre-emptive priority-based dispatching of Schedulable objects.
    This means that the execution eligibility of a schedulable entity is mainly its priority.
    That causality is reflected within the specification with the (one-and-only specified) PriorityScheduler, which is the base scheduler for actual Real-Time Java applications.
    Furthermore, there is a notion of extensibility of that PriorityScheduler described by RTSJ,
    in order to provide further scheduling mechanims and feasibility analysis algorithms (please correct me if there are any wrong assumptions).
    This is the point, where everything becomes really weird to me ...
    As far as I could investigate, in most RTSJ implementations based on a POSIX compliant system underneath (like Java RTS does on RTLinux or Solaris)
    each (Realtime)JavaThread is mapped 1-to-1 to a light-weight process on the operating system level (e.g. a pthread).
    So far, we have no "green threads" within the JVM, but real LWPs scheduled by the OS.
    The difference between "normal" and "real-time" threads lies in the scheduling policy used for that mapping.
    While normal Java threads probably map to SCHED_RR or SCHED_OTHER, real-time threads are scheduled by the OS via the SCHED_FIFO policy in order to achieve a better real-time predictability.
    However, the OS's scheduling mechanisms automatically make decisions about the right positioning of a LWP within an appropriate run-queue, due to thread's preemption, blocking or release (even dynamic priority changes) activities and its scheduling policy.
    That's exactly why I ask myself, what is the need of a Scheduler representation within a JVM?
    Furthermore, how a Scheduler extension is able to incorporate with the threading model and the underlying scheduling mechanisms of the OS?
    One point could be a situation where a real-time JVM runs directly on top of the bare hardware and has to perform scheduling decisions on its own.
    The Scheduler API could then be understood as an extension mechanism of a kind of JVM-intern scheduler (e.g. the PriorityScheduler), thereby allowing scheduling decisions to be made even in user defined Scheduler implementations.
    A similar use case for an OS-based scenario could be if a JVM is intended to pass scheduling/threading routines of the underlying OS (eg. a part of the POSIX API)
    up to the Java application level in order to provide the opportunity for a kind of application defined scheduling (like e.g. in the MaRTE OS).
    Unfortunatelly, after introspecting the RTSJ API, both conclusions seem to me to be wrong.
    So far, Java RTS seems not to provide any mechanism for reaction on scheduling events/decisions, neither intra-JVM nor from an underlying OS outside of the JVM.
    Furthermore, there is no notion for incorporation with the base PriorityScheduler for making extended scheduling decisions.
    I hope this post could bring me more light into the scheduling idea behind Real-Time Java systems as intnded by the RTSJ.
    Sincerely,
    Vladimir

    Vladimir.Nikolov wrote:
    That means, that a scheduling policy different to PriorityScheduler can only be assigned to a Schedulable object if it is supported by the OS and the JVM?Well it has to be supported by that implementation of the RTSJ. Howe that is done - ie whether it requires OS support - depends on that VM, the OS and the actual scheduling policy.
    It also seems that at the current state of the art the PriorityScheduler representative within the JVM is intended only for manipulating a feasibility set of Schedulable objects (supporting online feasibility analysis)?
    However, since user-defined scheduling is not intended by the specification, applications have to rely on the feasibility analysis based on the underlying/supported scheduling mechanisms.
    Thus, in the current Java RTS implementation this would be the "default" feasibility mechanism based on the PriorityScheduler.
    Unfortunatelly I can not figure out the need of maintaining a feasibility set, since feasibility, as specified for the PriorityScheduler, is a simple asumption that we have "an adequatly fast machine to handle the periodic and sporadic load"?
    I actually assumed that feasibility analysis performs real cost budgeting taking into account deadlines and so on, but it seems to be specified simply to make a negative statement always when aperiodic tasks are involved ?The RTSJ scheduling framework provides support for feasibility analysis by defining the admission control methods eg setXXXIfFeasible. However the RTSJ does not, and can not, mandate any non-trivial feasibility algorithm because in simple terms no such general algorithms exist. There are some static feasibility tests in the literature and you could apply those offline to your application (assuming you can find the values of all the "magic" numbers in such formulae - which is generally not the case). At present the RTSJ doesn't support even these simple feasibility tests because blocking-time is not recorded in the release parameters - something being addressed in RTSJ 1.1. In any case unless there is a pluggable framework for feasibility tests it would be a waste of time for VMs to implement them given they can (more) easily be done offline using other tools.
    Only dynamic admission control is really of interest and as far as I am aware no such general dynamic admission control policies exist (anything you find in the literature is very context specific). So it is left up to an implementation as to whether they try and define dynamic admission control algorithms - and so far none have because they don't have one.
    In "Getting More Flexible Scheduling in the RTSJ" Wellings and Zerzelidis propose some (more or less) "minor" extensions to the RTSJ API in order to enable hierarchical scheduling within the fixed priority framework.
    Since Andy Wellings is a member of the RTSJ Technical Interpretation Committee, is there any attempt to evolve the specification in a similar direction as described above, in order to support more flexible scheduling mechanisms and feasibility analysis?If there is ever a RTSJ 2.0 then more sophisticated scheduling support is one of the items on the wishlist. But there's no guarantee there ever will be a RTSJ 2.0
    David Holmes

  • Regarding real time java packages

    Hi,
    I am relatively new to java. can anybody tell me about real time java, and where can i find the implementation of javax.realtime package?

    i have found a real time java specification which has a package javax.realtime which lists some classes like timer,asyncevent etc. that would be helpful for me. i am supposed to use j9 jvm on qnx rtos. but these classes dont come with standard jdk. can u tell me how to proceed?

  • RMAN in active data guard with real time apply ON without a catalog DB

    I would like to know whether I can take RMAN backups (both level 0 & incremental) in active data guard with real time apply ON without a catalog database. version is 11.2.0.3.2. Will it make difference in the control file of standby syncing with primary? Can I use these backups on primary to restore and recover the database(including control file backup)?

    Thank you very much msberg. Could you please answer the below queries as well?
    Should I cancel Real Time Apply before starting RMAN?
    Will it make difference in the control file of standby syncing with primary? Is it possible to use these backups on primary to restore and recover the database(including control file backup)? If possible, how will I do that?

  • RAC with real time knowledge

    Hi, I'm interested in learning RAC and dataguard with real time knowledge......... please help me finding some training institution or peoples with real time knowledge
    Thanks

    The term "+real-time+" has a very specific meaning in Information Technology. See http://en.wikipedia.org/wiki/Real-time_computing for the basic details.
    Oracle RAC is not a real-time database.. and nor does the "real-time knowledge" make much sense IMO...
    Always difficult to get to grips with the nuances of the English language where it is your 2nd or even 3rd language. But it is important that we speak the same language and understand the same terms and concepts, in Information Technology.

  • B2MML with real time data

    Hi All
             I want some B2mml files with real time data.
    So exact( maintenance infromation and Production) B2MML that is coming from MIS.
    So if anyone have some information regarding this please tell me.
    Thanks in Advance
    Ramshanker

    Hi, Ramshanker.
    In the cases where the plant system is directly delivering B2MML documents (such as with certain products from Wonderware, Siemens, and some others), using the data in xMII is quite straightforward.
    1) If the B2MML message is not "standard" B2MML (be aware that very few plant vendors use the baseline standard - most have a number of specific extensions), you can add the vendors' schemas or B2MML example documents to xMII by adding them to a ReferenceDocument folder on the server.
    2) In xMII BLS, create a transaction (let's assume you called it B2MMLHandler) with one input parameter, of type "XML" (let's assume you called it "B2MMLDocument").  Add a "ReferenceSchema" or "ReferenceDocument" action, and configure it to load the vendor's B2MML format.  Use the "assign reference document" menu option to assign this format to the transaction input.
    3) You can now use the B2MML document to perform analytics or to map from the B2MML document into any RFC or BAPI calls or ESA service calls from within BLS.
    4) The plant system system should "post" the XML data to an xMII transaction using the "Runner" URL as in:
    http://<yourserver>/Lighthammer/Runner?Transaction=B2MMLHandler&InputParameter=B2MMLDocument
    Of course, if the MES system isn't capable of posting the documents and they are available on the file system, you can use the xMII file actions (or remote file access via FTP) to access and load the B2MML documents, perhaps at a scheduled interval.
    Hope this helps get you started in the right direction.
    Best regards,
    Rick Bullotta

  • [Solved] QJackCtl won't start in with real time.

    Hey all,
    I'm having a problem with QJackCtl, I got my version from Extra. The problem is that for some reason Jack won't start in real time mode using QJackCtl. Real Time is checked and marked under the set-up tab, but that little piece of info doesn't seem to make it to jackd. If I start Jack through CLI it works with real time, but not from the GUI.
    I figured this out by starting JACK from the command line and then starting QJack. When I would do that it would be running in real time just without the rest of my settings (buffer,periods,sampling rate, etc).  So in my head there's an issue with QJackCtl. I've tried to find a solution, but I can't seem to find one. This isn't the first time I've set JACK up on a system, but this is the first time I've had this problem.
    The rest of the system is set up and ready to go. Rt Kernel, limits.conf and all other tuning is done.
    Is there something I missed when setting this piece of software up? Any ideas?
    Solved Edit:
    Okay, so right after I posted this I got a crazy idea. When you enter setup in qjackctl on the first page there's a box for server path. The path defaults to "jackd". On that line I added "--realtime", so it looked like a basic CLI start-up of JACK and now it works!
    So, if anyone else has this problem go to the Setup tab, in the setup window on the line that says Server Path it should look like this:
    jackd --realtime
    It worked for me and I hope it helps somebody else out.
    Last edited by Zen:Core (2010-04-03 21:41:52)

    Which volume? Assuming you're on the most common usecase (single hw audio device) then whatever command line you use (amixer for example) it'll work fine, it'll control the volume of the device rather than the pulseaudio plugin (so other playing apps get affected as well, which is probably what you want). The 'global' volume so to speak.
    For multiple hw audio devices it gets tricky though.

  • Real Time Java

    Hi. I am required to design a Real Time project using Real Time Java. The problem is that I have no idea what I can do in the time allocated (two weeks).
    Anybody have any idea what could be interesting to do, or have pointers where to look?
    Thanks
    Eric
    P.S Sorry if there's a Real Time Forum.

    Ouch.
    In a real time system, you absolutely positively must have certain events happen at specific moments in time, regardless of what else the CPU might be doing.
    To use a poorly timed example, a rocket booster on the space shuttle must ignite its engine exactly five minutes, three seconds after take off - even if the computer is busy processing the latest SETI data. In other words, time based pre-emptive multitasking.
    The closest you can come to it is using threads to start and suspend tasks according to the system clock. So for something codeable in two weeks...
    Look on the web for two suitable compute-intensive mathematical algorthims. RSA key generation would be one.
    Put each algorithm into its own thread. Add a third thread that explictly saves the current system time to a file every five minutes. So I would see something like...
    Thursday April 03 2003 13:22:05
    Thursday April 03 2003 13:27:23
    Thursday April 03 2003 13:32:18
    As the output. Notice the variation in seconds. If you did it right and it works in real time, there should be no variation - it saves at 05 seconds on the dot each and every time.
    If you want more suggestions or advice, I suggest asking over on the "advanced language topics" or "algorithms" boards. Do NOT cross-post!

  • I have a PXI-8109 with Real Time installed. That displays USER1 indicator?

    HI all,
    I have a PXI-8109 with Real Time installed.
    That displays USER1 indicator LED on the panel?
                                                      Thanks
    Solved!
    Go to Solution.

    Thank you.
    The NI PXI-8109 front panel has 4 LEDs.
    (Figure 3-1. NI PXI-8109 Front Panel Layout and Dimensions)
    - PWR OK/FAULT LED
    - DRIVE LED
    - USER1 LED
    - USER2 LED
    The NI PXI-8109 User Manual describes only 2 LEDS:
     - PWR OK/FAULT LED
    - DRIVE LED
    What do USER LEDs on the NI PXI-8109 front panel mean?

  • Uploading files to SAP using HTML5 /AJAX/Gateway media links with real-time progress bar

    Hi All,
    Check out the blog post 'Uploading files to SAP using HTML5 /AJAX/Gateway media links with real-time progress bar'
    Uploading files to SAP using HTML5 /AJAX/Gateway media links with real-time progress bar
    Regards
    Prabaharan

    aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    Which correspondents fine with the
    device "hw:0,3"
    in my mpd.conf alsa section.
    Also sound worked fine withh this config before I started installing ffmpeg-svn and alikes
    hokasch:
    I tried changing the mixer to "Master" but that did not change much.

  • Producer/consumer architecture over network variables with Real-Time target.

    Hi all,
    I am maintaining a producer/consumer data acquisition program to be deployed on a real-time target. The main code is deployed to and run on the real-time target during experiments, but was having trouble because the program was originally designed to write all experimental data to disk on the real time during acquisition, which puts the whole experiment at the mercy of the hard drive. I am now trying to rework the code so that the host takes care of logging, so that my time-critical loops don't have to wait.
    I am currently using LabVIEW 8.5
    I have two questions:
    First, how can I programmatically call the data-logging subvi on the host so that it runs in parallel with the main vi which runs the experiment and collects data on the real-time? I have attached the test code that I have been working with to figure this out, but it does not run the logging vi continuously in the background. I am aware that there is better functionality for this in newer versions of LabVIEW, but I would prefer not to upgrade unless there is no other option. I would like to be able to run my data-generating vi and have it start the data logging remotely.
    Second, is there a way in the host VI to read values off the network variable using an event structure rather than polling it for updates?
    Any help would be sincerely appreciated!
    Attachments:
    testRemoteLogging.zip ‏124 KB

    VI server
    Mark the target VI as served on the machine on which it will execute and use VI server Call by reference to invoke the served VI.
    This used to be taught as THE way to communicate syncronously with an RT app.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Error 53 PID Autotune with Real-time fieldpoint control

    Hi!
    I cannot perform the autotuning PID parameters in fieldpoint cFP-2000 (Real-time control).
    It gives me the error 53 as you see in the attachment file. It seems to be because of the autotune wizard vi...???
    How can i solve this problem?
    Thanks for your help!
    Nunix
    Portugal
    Attachments:
    error 53.bmp ‏166 KB

    Hello,
    LabVIEW RT does not currently support the autotuning feature, because the procedure invokes a wizard that requires user interaction. LabVIEW RT does not support this type of user interface. This wizard is tightly integrated with the PID function itself and would require significant redesign to work in LabVIEW RT.
    It is the autotuning VI itself that is not compatible with LabVIEW RT. You can use the "PID Autotuning.vi" as long as you are not targeted to your RT engine. Run your VI in development mode with the "PID Autotuning.vi" in your code. After you receive your tuned gain settings, replace the autotuning vi with the normal "PID.vi" and use your tuned gains for the inputs. You can now target to your RT engine with tuned gains.
    Hope it s help.
    Isabelle
    Ingénieur d'applications
    National Instruments France

  • Real time Java Communication

    I need help on developing a elearning application that enables real time communication. Can anyone help me on how to start to who can help me?

    Hi,
    I pretty new in Java. My understanding of both of the applications is very vague. Can you help me over here? Are those yahoo games considered stand alone?
    Currently i have developed a GUI, bascically an interface for users to communicate. However, that is only a dummy without any event driven. I was wondering what is needed to allow users to communicate real time. For eg...chat function like icq or audio coomunication like video conferencing. Thanks! Pls advise.

  • 'Read JPEG File.vi' does not seem to work on PXI with real-time OS

    I am trying to read a jpeg file on a PXI system with LabVIEW real-time on it. To test I created a very simple VI (attached) with only 4 objects: 'Path' --> 'Read JPEG File.vi' --> 'Draw Flattened Pixmap.vi' --> 'Picture'.
    This VI works fine on my Windows XP host machine, but it does not work on the PXI system. The error code 1 occurs in 'Read JPEG File.vi'.
    The jpeg picture is in the same directory as the VI. I don't think I got the path or filename wrong because if I change the file or path name I get another error: 7: 'File/Directory Info in Check Path.vi->Read JPEG File.vi->test.vi'.
    Maybe reading jpeg files is not supported on realtime systems? I could not find anything about it. Sol
    utions or workarounds are of course welcome!
    Attachments:
    Test_Read_JPEG.vi ‏23 KB

    'Read JPEG File.vi' is not supported on LabVIEW RT. I believe it has to do with special functions or libraries need to be called due to the JPEG image type. Instead you can use a Bitmap and the 'Read BMP File.vi', which I believe is completely implemented in G code.
    Keep in mind that the RT System doesn't really have a front panel and that the front panel is only 'available' when LabVIEW is connected to the target such as being targeted or having a remote panel to it. Generally, a deployed RT system doesn't have a UI and just communicates to a Host VI which acts as the UI. Having said that, the BMP file worked when I tested.
    Regards,
    JR A.

  • Can anyone send about ALE-MESSAGE CONTROL with real time scenario?

    hi friends,
    i have doubt on ALE-MESSAGE CONTROL METHOD.
    SO, anyone can explain with a real time example.
    If have a chance please send with screenshots or with navigations

    Check out this blog:
    Message Control (Output Control) for ALE
    Raja

Maybe you are looking for