Search

Filter

  • Advanced Filters:

  • to
  • Specific Data Sources:

    All Edit

    Select All  |  Select None

Reset filters

Among the many error detection techniques used in (tele)communications, the Cyclic Redundancy Check (CRC) is probably the most powerful one. Roughly speaking the CRC is merely a modulo-2 division of the data (bits) to be transmitted by some 'magical' polynomial known for its high error detection capabilities. CRCs permit ensure that data transmitted over noisy media arrive intact.A common use of CRCs among industrial partners in large software development to projects is to identify quickly shared files. This is the case in the aerospace industry for instance, at least in Europe. CRCs can be computed for any sort of file, be it a document file processed by a COTS word processor, an image file, source code, a data file an executable file. The chances that two different files produce the same CRC checksum are astronomically small. It is our experience it never happened since our involvement in the ARIANE 5 program, the new European launcher, six years ago.A major issue however is due to the many variations among CRCs algorithms. For instance, most UNIX platforms provide a CRC checksum command, but few of them compute the same CRC checksum for a given file (obviously, the file format being identical). This issue has been addressed by the X/Open standardisation committee in charge of the UNIX specification. The so-called X/Open Single UNIX Specification 1, nicknamed UNIX95, contains a precise description of a CRC algorithm, which fully complies with the POSIX one 2. As UNIX vendors are actually upgrading their product to become UNIX95 branded, one may expect these variations will disappear in the near future, in the UNIX world at least.In this paper we present an implementation of the POSIX/UNIX95 CRC algorithm in Ada95. Our purpose is three-fold. Firstly we want to provide standard source code that can be recompiled on any platform, UNIX-like or not, and be reused by other projects. Secondly we want the implementation to be scalable, typically from a 16-bit CRC ckecksum up to (at least) a 64-bit CRC ckecksum, as 64 bit CPUs become available on the market. The scalability goal is achieved by designing a generic implementation, the POSIX/UNIX95 CRC being a specific 32-bit of instantiation of it. The implementation is based on previous well designed and optimized work done in C 3, the purpose here is not to reinvent the wheel but to make it generic and scalable. Thirdly, the implementation illustrates some of the of new features of the Ada95 language: shifting and rotating procedures, modular types, aliased accesses, generic formal package, child packages and exception information, to name a few.

End of preview. The entire article is 13 pages. To view the full-text, please rent this article to continue.

/lp/association-for-computing-machinery/cyclic-redundancy-checks-in-ada95-rUloc9iVbS
Welcome to DeepDyve! Rent Premier Research Articles and Save Up to 90%

Learn more

Bookmark

Cyclic redundancy checks in Ada95

Duerinckx, Guido
ACM SIGAda Ada Letters , Volume XVII (1)
Association for Computing MachineryJan 1, 1997

More Info

More Like This Article

View All dataSource[]=actageo&dataSource[]=aspet&dataSource[]=aaos&dataSource[]=aacc&dataSource[]=aacr&dataSource[]=aea&dataSource[]=aip&dataSource[]=ajnr&dataSource[]=ams&dataSource[]=aps_physical&dataSource[]=appi_book&dataSource[]=appi_journal&dataSource[]=apha&dataSource[]=asip&dataSource[]=asm&dataSource[]=asn&dataSource[]=aspb&dataSource[]=avs&dataSource[]=annual_reviews&dataSource[]=arxiv&dataSource[]=acm&dataSource[]=berghahn&dataSource[]=cabi&dataSource[]=clinical_trials&dataSource[]=dailymed&dataSource[]=degruyter&dataSource[]=du_press&dataSource[]=esa&dataSource[]=eu_press&dataSource[]=elsevier&dataSource[]=emerald&dataSource[]=ejtr&dataSource[]=emea&dataSource[]=epo&dataSource[]=faseb&dataSource[]=gsa&dataSource[]=health_affairs&dataSource[]=hindawi&dataSource[]=imanager&dataSource[]=imedpub&dataSource[]=informa_healthcare&dataSource[]=informs&dataSource[]=iop&dataSource[]=iucr&dataSource[]=iospress&dataSource[]=jbjs&dataSource[]=leftcoast&dataSource[]=lu_press&dataSource[]=mesharpe&dataSource[]=mary_ann_liebert&dataSource[]=medline&dataSource[]=mit_press&dataSource[]=nature&dataSource[]=oxford&dataSource[]=pier_professional&dataSource[]=pnas&dataSource[]=portlandpress&dataSource[]=psyc_articles&dataSource[]=psyc_books&dataSource[]=psyc_critiques&dataSource[]=plos_journal&dataSource[]=pubmed_central&dataSource[]=rsna&dataSource[]=rockefeller&dataSource[]=rcn&dataSource[]=ria&dataSource[]=rsc&dataSource[]=sage&dataSource[]=spie&dataSource[]=springer_journal&dataSource[]=springer&dataSource[]=taylor_francis&dataSource[]=aps&dataSource[]=the_scientist&dataSource[]=uc_press&dataSource[]=uspto_abstract&dataSource[]=wiley&dataSource[]=pct

Browse: Subject Areas | Journals | Publishers

Sign Up for a DeepDyve Account

Bookmark an Article

To bookmark an article, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK

Subscribe to Journal Email Alerts

To subscribe to email alerts, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK

Thank you for renting with DeepDyve

Your PayPal account has been charged $2.99. You now have access to the full text of this article. A rental receipt has also been sent to your email address.

Your credit card has been charged $2.99. You now have access to the full text of this article. A rental receipt has also been sent to your email address.

OK

New! You can now keep track of new articles from ACM SIGAda Ada Letters on your personalized homepage! Learn more

PDF Download — Not Available

Thanks for your interest in purchasing the PDF. Your request has been noted and we will work with our publisher partner to discuss enabling this feature.

In the meantime, you can get the PDF by visiting the publisher site.

Thank you for purchasing with DeepDyve

Your PayPal account has been charged $.

Your credit card has been charged $.

You can now download this article. A purchase receipt has also been sent to your email address.

Download This Article or I'm done with my download

Print Page — Not Available

Thanks for your interest in printing individual pages. Your request has been noted and we will work with our publisher partner to discuss enabling this feature.

In the meantime, you can get the PDF by visiting the publisher site.

Thank you for printing with DeepDyve

Your PayPal account has been charged $0.

Your credit card has been charged $0.

You can now print this article. A purchase receipt has also been sent to your email address.

Print the Selected Pages or I'm done with my printing

Please refresh to generate a new download link

Your article download link has expired. Please refresh this page to obtain a new download link and try again.

Follow a Journal

To get new article updates from a journal on your personalized homepage, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK