Professional Documents
Culture Documents
by RAMP Technologies
Summary: RAMP Technologies is a Software Engineering company that has been associated with JSS and STEP for IBM Rational software tools and training. RAMP presents the implementation tools and demonstrates Automated Development and Testing of Embedded Software. The highlights are: Model Driven Development with Unified Modeling Language (UML) and targeted for realtime and embedded applications. Fully automated design to code translation for Java. C and C++ through the use of a tool called IBM Rose Technical Developer. Testing is automated for component testing and runtime analysis for host and target from a single testing tool IBM Rational Test RealTime RAMP team presents and demonstrates automated development and testing using these tools. The brochure includes three data sheets: a) Modeling Language Guide for RT Embedded Systems b) IBM Rational Rose Technical Developer c) IBM Rational Test RealTime
Aim: Accelerating Complex Embedded Software Systems Development The only software engineering platform covering the entire SDLC not involving any third party product to complete the life cycle offering a master process framework (RUP) that complements the automation tools also. RAMP also offers to conduct a Proof of Concept to establish a solution-merit at customer sites. Contact P C Gulati , RAMP Technologies Pvt. Ltd 230, 5th Main, 7th Cross,Indiranagar 1st Stage, Bangalore-560 038 India Tele: 91-80-25262710 Fax: 91-80-25262366 Email: pgulati@ramptechnologies.com
-2-
Purpose
This document does not attempt to present the UML in its entirety. Rather, the goal of this document is to present, in detail, the real-time notations to the UML accompanied by a brief overview of the key UML modeling concepts you will need to understand when using Rational Rose RealTime.
-3Building Blocks
Building blocks include Elements - are the basic object-oriented building blocks of the UML and real-time specializations. They are used to construct models. Relationships - are used to join elements together in models. Diagrams - help assemble related collections of elements together into a graphical depiction of all or part of a model.
Real-Time Systems
Models are important tools for developing complex systems. Models are used to represent the system at an abstract level, hiding unnecessary details. They enable communication about the composition and operation of a system. In Rational Rose RealTime, the model also serves as the basis for the implementation. All of the implementation details required to build an executable are either contained within the model, or generated from the model automatically. Software developers have always used informal modeling techniques in the past, for example, drawing whiteboard diagrams and writing documents. The evolution of the Unified Modeling Language (UML) has enabled developers to capture and communicate software designs with a common set of notations. The UML uses visual notations to describe various views of an object model. Classes are the fundamental building blocks of this object model. The abstract structure, behavior and configuration of the software are described through diagrams. The implementation details of each class can be specified through various class properties.
Concurrency
Most real-time systems must be capable of performing many simultaneous activities. External events are unpredictable, and the software must be able to handle interrupts and other external events at any time without dropping current work in progress.
-4-
Executable Models
The addition of the capsule and the formal semantics surrounding the capsule structure allows Rational Rose RealTime to generate, compile and run a complete C++ implementation based on a model containing capsules. The ability to execute models has a revolutionary impact on the software development process. The results are higher quality software, and shorter and more predictable delivery cycles. Executing models is the surest way to find problems and issues that whiteboarding and document reviews do not find. Even high-level architectural models can be executed. Use model execution to better understand the problem, to detect errors and problems in requirements and architecture specifications, to explore alternative designs quickly, and to test design models continuously during the development process. Process note: To make the best use of Rational Rose RealTime, you should aim to get your model running as often as possible. Making small, incremental changes and running your model each day will bring much better results than making widespread changes and working for weeks to get the model running again.
-5-
Services Library
To construct a Rational Rose RealTime model, two major parts are required: The structure and behavior of the model A Rational Rose RealTime Services Library (these are language-specific) Figure 2 The services library is a framework for real-time systems
The services library is essentially a framework for real-time systems. It includes functionality for controlling concurrency execution of finite state machines, for delivering messages, and for providing timing and logging services. A framework is a like a library of classes and operations used by an application, but with an inversion of control, meaning that the main control lies in the framework, and the framework invokes functions in the application to pass control to application objects as required. Application classes are subclassed from framework classes so that they inherit operations which are invoked by the framework. There is no main() function in a Rational Rose RealTime model. The main() function is contained in the services library and takes care of creating the capsules in your model and kicking off the execution of their state machines. All you need to do is describe the capsules and define state machines for them and they will be automatically created and executed by the services library. The capsule state machines can, in turn, invoke operations on other classes (data classes), and send messages to other capsules. The services library is responsible for managing the creation and destruction of capsules, and the delivery of messages between capsules (even across threads).
The addition of the real-time specializations to the UML concepts allows the toolset to generate complete code for the model which is tied in to the services library. When you generate code for and compile a model in Rational Rose RealTime, the tool will link it with a services library compiled for the particular platform you are running on.
Highlights
the same software development paradox: how to develop applications faster without compromising quality.
Model-Driven Development with the Unified Modeling Language Developers of real-time, embedded, and other complex types of software (UML) systems face additional challenges. Targeted for commercial software products and systems, including real-time and embedded applications Industrys most robust modeldriven development solution. Such software is highly event driven, concurrent, and often distributed. Stringent requirements must be met for latency, throughput, and dependability. Capturing and effectively communicating designs for such systems is a daunting task. Keeping the implementation in sync with the design Fully-automated design-to-code is even harder. translation for Java, C and C++ IBM Rational Rose Technical Runtime model execution and visualization Automated test harness generation Optimized for event-driven, concurrent, and distributed applications. Ensures meeting stringent requirements for latency, throughput, and dependability. Supports the most advanced modeling constructs, including model execution and fully executable code generation. Developer is a robust Model-Driven Development (MDD) solution expressly created to meet these and other challenges of complex systems development. Based on the industry standard Unified Modeling Language (UML), Rational Rose Technical Developer provides a highly automated and reliable solution to the unique problems of concurrency and distribution. It unifies the project team by providing an extensive set of tool integrations to meet the needs of the entire team, from requirements capture through to high-performance code generation, testing, and debugging for real-time operating system targets.
Integrate modeling, implementation, & debugging Rational Rose Technical Developer integrates development activities to a new level. The code generators have an associated visual UML model debugger that enables observation and validation of host and target applications. Model execution encourages early design refinement. A complete UML-based testing facility lets the user graphically define system behavior, then automatically generate and execute test cases and test suites for complete or partial models. It supports continuous verification of quality right from the beginning of
Designed for the most technologically challenging applications. Includes IBM Rational Rose RealTime for full-scale modeldriven development with Java, C and C++ Includes IBM Rational Rose Developer for UNIX for designlevel integration with Java, C++, and Ada
system implementation. Such compact integration cycles results in unprecedented turn-around times for mission-critical changes.
model-based component testing by generating code automatically from within the UML model. You can automatically build stubs and drivers to use in testing components and classes. And when integrated with IBM Rational Test RealTime, these generated tests can be executed automatically as well. Rational Rose Technical Developer supports a wide range of testing activities from developer scenario-based debugging to full system regression testing. Make developing on a team easier Software development is a team sport. As a member of a software team, you have to deal with documentation, communication, requirements, version control, defect tracking, reporting, and overall process management. Rational Rose Technical Developer is included in IBM Rational Suite for Technical Developers where solutions for these types of team activities are found. Now you can not only develop with the best MDD solution, but you can manage large products in the most integrated fashion.
Leverage the latest UML constructs The UML is approaching revision 2.0. Many of the new elements found in the proposed standard trace to features included in Rational Rose Technical Developer. Most notable is the notion of capsules, which encapsulate active objects containing their own threads of control. Capsules in Rational Rose Technical Developer will directly translate to structured classes in UML 2.0. Practicing model- driven development with Rational Rose Technical Developer today ensures you of having a clean migration path to UML 2.0 when it becomes adopted as the new standard. Extend model-driven development to testing Rational QualityArchitect RealTime is an extension to the visual modeling capability of Rational Rose Technical Developer. It enables users to perform
Description
Applies to everything from structural code generation to stubbing in test automation
Benefits
Define reusable, fully encapsulated architectures Gives scalability and reusability proven on multi-million line fielded applications
Makes structure visible and classes maintainable; increases quality and percentage of generated code Faster development, better quality of generated Code
Lets customer develop for virtually any 8-bit or larger Use state machines to define behaviors of non-active classes
Supports customers chosen platform platform Requires no run-time library or use capsule and of operating system facilities Allows MDD on very small targets, with or without RTOS (Real-Time Operating System)
Rational QualityArchitectRealTime
Automatic generation, execution and reporting of test UML Sequence Diagrams. Stub any object.
Minimizes test effort, allows testing results from from very beginning No big bang integration phase, easy continuous developer testing
Connexis
Concentrate on application, not applications Middleware Faster time to market and easier evolution of distributed applications
Put scarce RTOS thread resources where theyre needed and optimize performance Build scalable, evolvable, efficient architectures
Ability to create and edit Activity Diagrams Ability to read and write all diagrams of models created in Rose Enterprise and Rose RealTime; also, code reference usage for code managed by Rose and used RealTime Parameterized and Instantiated class code generation, API for integrating with non-Rose applications, additional targets, easier code generation of no-RTS executables Background synchronize with CM, merging and merge Controlled sequence diagram units, view ClearCase version tree from Rose RealTime Finer requirements traceability with ReqPro, host on simplified install (one CD, one install, disk)
Useful for analysis Ability to move forward from a Rose compatibility analysis, or export partial information back to Rose for documentation in Rose
Ability to generate wider range and of code with less effort Ability to build minimal-footprint no-capsule, applications; (simplified) ability to run in no-RTOS environments
Configuration Management
Environment
Traceability between requirements Solaris 9, and virtually any model element no companion
Supported Hosts
Operating System
Windows NT
Software
Windows NT 4.0, build 1381, with service pack 6a Minimum Pentium 150 MHz; we recommend 500 MHz or faster CPU Minimum 128 MB of RAM; we recommend 256 MB of RAM Minimum 552 MB of disk space for the Rose RealTime installation Minimum display 1024 X 768; we recommend 1280 X 1024 or better Postscript printer for printing Browser requirement - Internet Explorer 5.01 or later or Netscape Navigator 4.7 or 6.0. We recommend Internet Explorer 5.01 or later. Windows Windows 2000 Professional, RC2, Build number 2128. Disk, RAM and display requirements same as for Windows NT. Windows Windows XP Professional, Build number 2600. Disk, RAM and display requirements same as for Windows NT Sun Solaris Solaris 2.6, 7, 8, or 9 Minimum workstation is an UltraSparc 10 with 500 MB of RAM Recommend an UltraSparc 60 with 600 MB of RAM.
2000 XP
FOR REAL TIME EMBEDDED SOFTWARE Fix Your Code Before It Breaks using
Highlights
execute the same tests directly on the operational platform. Test RealTimes versatile Target Deployment Technology allows you to easily adapt your test procedures to any target and build environment without having to rewrite your tests. Only IBM Rational Test RealTime lets you test and debug on the host and across multiple targets using the same test and analysis procedures. Harness the power of model-driven testing The Unified Modeling Language (UML) can be used to visually lay out your applications design and test scenarios. IBM Rational Rose Technical Developer automates modeling with the UML and provides robust code generation to support Model-Driven Development (MDD) paradigms. IBM Rational Test RealTime extends MDD to include developer testing activities. We provide a plug-in for Rose Technical Developer that allows developers to invoke runtime analysis features on code generated from UML Models. You can also visualize test case coverage via color-coded statemachines in Rose Technical Developer. Only IBM Rational Test RealTime integrates the UML across both design and developer testing activities, providing the industrys broadest support for modeldriven development. For more information, please go to http://www.rational.com/products/testrt to learn more, view online demonstrations, and download/order an Embedded Developers Solution CD that includes an evaluation version of Test RealTime.
Rational Test RealTimes graphical user interface hyperlinks your runtime analysis results (top right runtime trace; bottom left code coverage) directly to your source code, enabling code repairs without ever having to leave the tool.
Features and benefits Feature Component testing Description Automates creation and of host and target-based component harnesses, test stubs, and test drivers Memory profiling Illustrates how a program's memory is being consumed and leaked Identifies the source of eminent Java, C/C++ or potential memory leaks before possibly they occur, preempting performance issues and program crashes Performance profiling Thread profiling Identifies application-level performance bottlenecks Detects and analyzes multithreading problems, such as and race conditions as they occur in programs Code coverage analysis Identifies which portions of a program have not been tested Avoids delivering code that is Java, C/C++, Ada executed for the first time by the user or the target system running the application Runtime tracing Illustrates thread execution, function calls, and variable values as a function of time sequence diagrams System testing Provides message-based unit and integration testing of C processes and core-business activities Target Deployment Technology Provides a versatile, lowYour tests won't need to change Java, C/C++, Ada overhead technology for enabling when your environment does; test targetindependent tests and analysis script deployment, execution and runtime reporting remain easy to use Saves time and money by C avoiding the construction of threads, tasks, dedicated test beds and related nodes nonDeveloper can go back in time to Java, C/C++ review how a program behaved in programs after execution has completed via UML Pinpoints areas in the code that Java, C/C++ can be optimized for their performance Improves the reliability of multithreaded applications deadlocks Java, C/C++ Benefits Directly testing on the target increases confidence that actual system will perform as test expected Language Support Java, C/C++, Ada deployment
1.
(www.ibm.com/software/rational)
Software on Demand - Software tools integrated over software development lifecycle and training
Software Quality
Tools that address all dimensions of software quality: functionality, reliability and performance.
Rational Functional Tester, Rational Manual Tester, Rational Performance Tester, Rational Functional Tester Extension for Terminal-based Applications, Rational Robot, Rational PurifyPlus, Rational TestManager, Rational Test RealTime
TAS (TotalNet Advanced Server) - PC to UNIX Connectivity solutionsCertified for use with ClearCase. Server centric Scalable Enterprise wide networking solution. 3. (www.irvine.com)
High performance ICC Embedded Ada 95/83 IDE for - Intel i960 series - Lynx OS for PowerPC and X86 targets - Texas Instruments DSP - Analog Devices - ADSP 210X0 SHARC DSP - PowerPC series - Pentium / 386ex - SPECIAL PROCESSORS AS PER CUSTOMER REQUIREMENT
4. DDC-I, Denmark - Ada 83/95/C++/Java ,Tartan Ada Tools (www.ddci.com)
Consultation / Tools for Certification as per Def. / MIL/ FAA/ other standards Certifiable Cross Compilers Intel 80x86, Pentium (DACS), Intel 80960(Tartan Product), Power PC MIL STD 1750A (Tartan Product), Motorola 68K (Tartan Product) Multi Language cross compiler for REAL TIME Embedded Applications SCORE-Ada, C, Java, C++; for multiple targets / platforms / target on demand
Contact:
RAMP Technologies Pvt. Ltd., (P C Gulati) Bangalore Office: #230, 5th Main Road, 7th Cross, Indiranagar 1st Stage, Bangalore 560 038 India. Dir : 91-80-2526 2710,25934100, Telefax : 91-80-2526 2366. Mob: 98450-02880. Tech Support : 080 25934101 / 51267182 Tech Sales : 080 - 25934102 / 25211946 Enquiry : 080 -25934103/4 Email : pgulati@ramptechnologies.com ; ramp@ramptechnologies.com Hyderabad Office: #401, Mythri Nivas, D.No. 6-31121/1/1/A&B, B.S. Maqta, Green Lands, Hyderabad 500 016, Tele 040-23417273 / 23417274 E-mail: ramphyd@ramptechnologies.com