22 Ocak 2010 Cuma

A Case Study: State-Of-The-Art and Future of Business Rule Management


Abstract

Business Rule Management System (BRMS) is a software system that can be specified as a bridge between business and IT, which must have business
rules and decision making parts. However, the need for separating Business Rule Management (BRM) from the rest of information system development process is not trivial. There exist some attempts to separate the decision making from classical software development, but most often, BRMS should be used at the backend and as a standalone system. This prevents typical BRMS to be used in multiple tiers such as presentation tier and content management tier. Another difficulty lies in the integration of legacy decision making sources such as existing business logic, Web Services, and database management systems.
In this paper, old and current approaches to business rule implementation are discussed. And a special focus is given to "using domain specific modelling for business rule management systems" as a future work.


1 Introduction

Faster reactive and proactive time to market (we can call it “Business Agility”), is the most common request from all of the clients for any kind of business, since information systems (IS) are in the core of them. Business rule management systems responded this request by providing the “experts define, developers use” approach. This approach also reduced faster solutions to the specified problems and increased control over implemented decision logics.

Although, developing applications without any programming effort foresighted [10, 11], there has not been any solution for this yet. We all know that even when minor application changes are required, we still have to get a developer to do the job. On the other hand, communication obstacles between the developers and business professionals are often found responsible for many IS project failures [8, 9, 12].

Since it is argued that business rules have a direct relation between project scalability by defining the business environment [1, 3, 4, 6, 9], business rules are found very easy to manage and maintain the projects, if represented properly.


2 What is a Business Rule?

Before going into deep discussion on business rules let make it clear what they are. According to [1], these terms could be defined as:

Business Policy: A general statement of direction of an enterprise.

Example:
Only students that fulfil all the conditions required are allowed to register to an exam [2].

Business Rule Statement: A declarative statement of structure or constraint, which the business places upon itself or has placed upon it.

Example:
If a student has failed the examination more than three times, the board of examiners must be convened. In addition, the student must pay for the examination [2].

Business Rule: A statement that defines or constrains some aspect of the business. It is intended to assert business structure or to control or influence the behaviour of the business. It is atomic in that it cannot be broken down or decomposed further into more detailed business rules. If reduced any further there would be loss of important information about the business.

Example:
If a student has failed the examination more than three times, the board of examiners must be convened [2].



As shown in Figure 1[2], business rules are based on business rule statements, which are further based on business policy. Business rules are expressed formally in formal rule statements that follow some formal expression type.






Figure 1: The origin of business rules




3 Business Rules: Old and New

In order to point the difference between old and current, we must handle the implementation of business rules over two distinct perspectives: approaches to implement business rules and methods for applying business rules.

3.1 Approaches
The old and new approaches can be compared as follow [5]:
The Old Way 1: Rules are buried deep in the system code of a single application.
The New Way 1: Rules are written in a simple rule language and managed separately from system code.

The Old Way 2: Rules can be executed only by the application they were originally written for, in the manner they were originally coded.
The New Way 2: Rules can be used in many flexible ways to reach decisions that can be carried out by virtually any application or business process.

The Old Way 3: Rule changes, which require reprogramming and can even involve reverse engineering, mean queuing up for IT help.
The New Way 3: Rule changes can be made quickly and inexpensively by business users without requiring help from IT.

The Old Way 4: New application development takes a long time because programmers must try to anticipate and code for every possible combination and interrelation of variables and conditions. Given today's complex business environment, that's just not possible any more, so long development cycles are soon followed by extended enhancement cycles.
The New Way 4: Rules management solutions enable new applications to be developed quickly, without the need to anticipate every possible decisioning scenario. As new situations and information emerge, enhancements are made by business users. New rules can be added at any time, without interrupting operations and with the rules engine sorting out how and when to execute them.

The Old Way 5: Adding rules to legacy systems can be risky, given the fragility of some of these systems and the complexity of trying to make them perform functions they were never designed to support.
The New Way 5: Rules management services can be called by existing applications. This enables legacy applications to be reinvigorated with new capabilities without actually having to mess with them.

The Old Way 6: Extending decisioning across new channels usually requires building a duplicate application, from the ground up, to run in the new environment.
The New Way 6: Decisioning applications can be written once and deployed without modification across most any operating environment. IT can deploy and maintain a single application across multiple channels.

The Old Way 7: Development and deployment are often delayed because of difficulties translating complex business processes and requirements into code. There's too much opportunity for something to get lost between what the business people say they need and how the programmer interprets that in rules. It usually takes numerous revision cycles to get it right.
The New Way 7: Decisioning applications and services are developed usually by IT or a technically inclined business analyst--using a rules language that closely approximates the way business people talk about policies. Little interpretation is needed, so development goes smoothly. Developers can also let nontechnical business users write many of the rules themselves using graphical trees, tables or Web forms.


3.2 Methods

3.2.1 Old Methods [2]:
The old methods can be summarized into two categories [2]:

Parameterisation:
Parameterise the application and its components. These parameters may be then set in a configuration file or in a database, and can be managed through a configuration utility. Doing so, the application can be adapted to different environments and situations just by parameter settings, without any programming effort [7].

Database Triggers and Database Procedures:
Relational Database Management Systems (RDBMS) provide so called “triggers” that have ability to execute actions, immediately before/after particular events occur. These events occur when a record is inserted into a database, when a record is modified, or when a record is deleted from the database. Actions executed by triggers are written in Structured Query Language (SQL) and are stored either as the trigger body, or as database procedures.

The characteristics above make triggers convenient for implementation of business rules. For example, by using "before-insert" trigger the record can be checked (and refused if violates any business rule) before it is actually inserted. Since the implementation of the business rules (formal rule statements - see fig. 1) resides in the database itself, modifications are application independent and can be performed without accessing the application logic.

3.2.2 New Methods:
The new methods can be summarized into three categories [3]:

Database-independent tools: business rules are implemented within a database, using triggers and stored procedures. However, they are generated automatically and managed by the development and not database tool. Figure 2 shows a sample demonstration of it [2].



Figure 2: From Rules to Application

Server-based tools: business rules that are created by a development tool become middle-tier application services and reside on an application server. Figure 3 shows a sample demonstration of it [2].




Figure 3: Rules Processor: Middle-Tier Service

Rule-based systems: instead of specifying constraints on specific data elements or tables, a logic-oriented approach captures the higher-level business logic and rules associated with different situations. At run-time special engines are used to process the rules and to generate appropriate responses. Figure 4 shows a sample demonstration of it [2].



Figure 4: Rule-based System

In here, using a rule based system is stand out with some benefits according to other methods. Especially chance for an incremental development and rapid prototyping and understandable units of business process can be some examples of these benefits. Unlike in traditional programming, changes to the rules do not require any recompilation, re-linking and re-deploying.


4 Future Work : Domain Specific Languages and Business Rules

The idea “The more business specific logic you can abstract out of an application, the less programmer involvement you will need to alter the business logic.”[14], points a solution for a better business rule management system: More abstraction in BRMS.

Separating business rule management from the rest of information system model is not so easy however, it becomes a need for developing more effective business rule management systems with less cost.

In here Domain Specific Modelling and Domain Specific Languages come with lots of similarity and ease. First of all let’s explain what they are.

DSM is a kind of software engineering methodology for designing and developing systems, most often IT systems such as computer software. The main core of this modelling is raising the levels of abstraction and improvement of productivity. This is basically done by hiding today's programming languages more and more, getting rid of its complexities at the first glance of production. On the other hand, DSL is a programming language or executable specification language that offers, through appropriate notations and abstractions, expressive power focused on, and usually restricted to, a particular problem domain [13].

Now, when we compare domain specific languages with business rules then we can easily see not only that the domain specific approaches can be very efficient with business rules but also the abstraction can be easily made as James Taylor also think in [15].

The comparison table is as seen in Table 1:




Needs For DSL:How BRMS handles:
DSLs must be directly executable on a specific platform.Business rules management system handles this.

DSLs must be extensible by existing GPLs [General Purpose Languages]
Most BRMS products do this inherently

DSLs must be understandable by both developers and domain experts.
This, of course, is a key value of using a business rules approach and a BRMS

DSLs need models
BRMSs have business rules can be specified as domain models

Table 1: DSL in BRMS

5 Conclusion

In this paper, the old and new ways of implementing BRMS are briefly discussed and because of the similarities and ease of usage, using DSM with BRMS is suggested to build a better BRM based system at the end.

The aim of the paper was searching the state-of-the-art of BRMS and looking for new opportunities for BRMS. And in Table 1, we saw that it is possible to put DSL into BRMS. On the other hand, we decided BRMS and DSL, two of them together, is a good way of abstracting the rules of BRMS.

Of course there are some disadvantages of using DSL with BRMS. First of all, it cannot be useful for all types of BRMSs. For example, if the system is not big enough, using DSL can be irrelevant and development part can take time more than usual. However, there can be other problems in development part, such as the need of DSL knowledge. Although it can take more time than usual development because of learning DSL, the development of the system can be easier and faster than expected.

With the rapid globalization of companies, the globalization of software development has become a reality. Many software projects are now distributed in diverse sites across the globe. The distance between these sites creates several problems that did not exist for the co-located teams. Problems in the coordination of the activities, as well as in the communication between team members emerge [16]. It seems that BRMS is a promising way of implementing global software development. The opportunities that BRMS and DSL provide, can be the solution for the problems that GSD has.


6 References


[1] GUIDE International Corporation, Guide Business Rules Project, Final Report, revision 1.2, October 1997,
http://www.businessrulesgroup.org

[2] Bajec, M., Krisper, M., Rupnik, R. (2000), "Using business rules technologies to bridge the gap between business and business applications"

[3] Michael Barnes, David Kelly, Play by the Rules, Byte (Special Report), June 1997.

[4] John R. Rymer, Business Rules: A Promising Technique, But Not a New Paradigm, Giga Information Group, 1997,
http://www.ilog.com/products/rules/analyst.cfm

[5] Business Rules Management - How it works
Fico Inc,
http://www.fico.com/en/Products/DMTools/Pages/Business-Rules-Management.aspx

[6] Judith Hurwitz, When Rules Meet Development, DBMS, January 1997.

[7] Neuron Data, Inc., Architecting For Change: The Rule-Engine Proposition,
http://www.neurondata.com

[8] Lawrence, B., Designers Must Do the Modelling! IEEE Software, March/April 1998, pg. 30-33.

[9] The Standish, Few IS Projects Come In On Time, On Budget, Computer World, 12 Dec. 1994, pg. 20. Original source: The Standish Group International, The High Cost of Chaos, http://www.standishgroup.com

[10] Paul Dorsey, Business Rules – The Quest for the Holy Grail, Dulcian Inc., www.dulcian.com/magazines

[11] Martin James, Application Development Without Programmers, Savant Research Studies, 1981.

[12] Jeffrey A. Hoffer, Joey F. George, Joseph S. Valacich, Modern Systems Analysis and Design, (second edition), Addison-Wesley, 1999.

[13] A. v. Deursen, P. Klint, and J. Visser, "Domain-specific languages: An annotated bibliography." ACM SIGPLAN Notices, vol. 35, no. 6, pp. 26-36, Jun. 2000.

[14] Jay Fields, Business Natural Language
http://blog.jayfields.com/2006/10/bnl-introduction-update.html

[15] James Taylor, Business Rules, Domain-Specific Languages and Models
Everything Decision Management
http://jtonedm.com/2008/08/12/business-rules-domain-specific-languages-and-models/

[16] Cleidson R. B. De Souza,Global Software Development: Challenges and Perspectives

25 Temmuz 2009 Cumartesi

Yazılım Geliştirme Ortamları Kıyaslaması:

Evans Data Şirketinin yaptığı bir araştırmayı burda paylaşmak istedim.Yapılan araştırmada 1200’ü aşkın yazılım geliştirici kişilere, yazılım geliştirme ortamlarını ( Eclipse, Delphi, Rational Development Tools Suite, IntelliJ, Visual Studio and Tools, NetBeans, JDeveloper ve Sun Studio ) kıyaslamaları istenmiş ve sonuçlar şu 18 başlık altında toplanmış:
1. Basit araçlar – ( editor/debugger/ compiler ve/veya interpreter )
2. Modelleme araçları – ( App Modeling tools )
3. Web Dizaynı/Geliştirimi – ( Web Design/Development Tools )
4. Paralel programlamaya imkan sağlaması– ( Support for Parallel Programming )
5. Diğer araçlarla entegre olabilirliği – ( Ability to integrate tools )
6. 3.Parti araçlarla uyumluluğu – ( Availability of 3rd party tools )
7. Teknik destek kalitesi – ( Quality of Tech Support )
8. Geliştiricilerinin miktarı/kalitesi– ( Size/quality of developer community )
9. Dokümantasyonu – ( Documentation )
10. Örnek uygulamaları – ( Sample apps )
11. Çalışma zamanı bellek analiz araçları– ( Runtime memory analysis tools )
12. Görsel araçları ve desteği– ( Visual tools and declarative support )
13. Kullanıma hazırlılığı – ( Ready to use out of box experience )
14. Veri tabanı geliştirme araçları – ( Database development tools )
15. Veri tabanları ile entegre olabilirliği – ( Integration with databases )
16. Framwork’lere desteği – ( Support for frameworks )
17. Test araçları – ( Test tools including Code Coverage tools )
18. Uzaktan geliştirmeye desteği– ( Support for Remote development )

İlgili araştırmadan çıkan genel sonuç IBM’s Rational’ in kullanıcılar arasında daha yaygın olduğunu göstermiş.Elbette bu yazılım firmalarının ihtiyaç ve proje odaklı tercihlerine bağlı olarak değişse de yeni başlayanlara güzel bir referans olabilceği kanısındayım.



Firma, kullanıcılar geliştirme ortamlarını değerlendirirken aynı zamanda geliştirme ortamlarının değerlendirilen 18 maddesini de önem sırasına koymalarını istemiş.Buna göre çıkan sonuçlar:























Relative Importance of Attributes Relative
Ranking
Basit araçlar ( editor/debugger/ compiler ve/veya interpreter )
272.1
Dokümantasyon ( Documentation )
212
Diğer araçlarla entegre olabilirlik ( Ability to integrate tools )
195.5
Veri tabanları ile entegre olabilirliği ( Integration with databases )
174.5
Framwork’lere desteği ( Support for frameworks )
165.2
Veri tabanı geliştirme araçları ( Database development tools )
160.1
Geliştiricilerinin miktarı/kalitesi( Size/quality of developer community )
159
Web Dizaynı/Geliştirimi ( Web Design/Development Tools )
154.7
Test araçları (Test tools including Code Coverage tools)
154.7
3.Parti araçlarla uyumluluk( Availability of 3rd party tools )
149.9
Kullanıma hazırlılığı ( Ready to use out of box experience )
138.8
Örnek uygulamaları ( Sample apps )
137.3
Görsel araçları ve desteği ( Visual tools and declarative support )
136.9
Teknik destek kalitesi ( Quality of Tech Support )
136.4
Çalışma zamanı bellek analiz araçları ( Runtime memory analysis tools )
135.4
Modelleme araçları ( App Modeling tools )
108.3
Paralel programlamaya imkan sağlaması ( Support for Parallel Programming )
87
Uzaktan geliştirmeye desteği ( Support for Remote development )
76.3


Özelliklere göre geliştirme ortamlarının ayrıntılı sonuçları :

1. Basit araçlar – ( editor/debugger/ compiler ve/veya interpreter )

2. Modelleme araçları – ( App Modeling tools )

3. Web Dizaynı/Geliştirimi – ( Web Design/Development Tools )

4. Paralel programlamaya imkan sağlaması– ( Support for Parallel Programming )

5. Diğer araçlarla entegre olabilirliği – ( Ability to integrate tools )

6. 3.Parti araçlarla uyumluluğu – ( Availability of 3rd party tools )

7. Teknik destek kalitesi – ( Quality of Tech Support )

8. Geliştiricilerinin miktarı/kalitesi– ( Size/quality of developer community )

9. Dokümantasyonu – ( Documentation )

10. Örnek uygulamaları – ( Sample apps )

11. Çalışma zamanı bellek analiz araçları– ( Runtime memory analysis tools )

12. Görsel araçları ve desteği– ( Visual tools and declarative support )

13. Kullanıma hazırlılığı – ( Ready to use out of box experience )

14. Veri tabanı geliştirme araçları – ( Database development tools )

15. Veri tabanları ile entegre olabilirliği – ( Integration with databases )

16. Framework’lere desteği – ( Support for frameworks )

17. Test araçları – ( Test tools including Code Coverage tools )

18. Uzaktan geliştirmeye desteği– ( Support for Remote development )



kaynak:

Users' Choice: Software Development Platforms
May 2009
Software Development Platforms - 2009 Rankings
By: Janel Garvin

10 Şubat 2009 Salı

Moore Yasası ve Kuantum Bilgisayarlar üzerine..

Moore Yasası, Intel şirketinin kurucularından Gordon Moore'un 19 Nisan 1965 tarihinde Electronics Magazine dergisinde yayınlanan makalesi ile teknoloji tarihine kendi adıyla geçen yasadır.

Her 18 ayda bir entegre devre üzerine yerleştirilebilecek bileşen sayısının iki katına çıkacacağını , bunun bilgisayarların işlem kapasitelerinde büyük artışlar yaratacağını , üretim maliyetlerinin ise aynı kalacağını , hatta düşme eğilimi göstereceğini öngören deneysel (ampirik) gözlem olarak da adlandırılabilir.

1965 yılında , "mikroişlemciler içindeki transistör sayısı her yıl iki katına çıkacaktır" diyen Moore , daha sonraları 1975 yılında bu öngörüsünü güncellemiş ve her iki yılda bir iki katına çıkacak şekilde düzeltmiştir. Moore "18 ayda bir" ifadesinin de kendisi tarafından söylenmediği konusunda da ısrar etmiştir. Kendisi tarafından hiçbir zaman yasa olarak tanımlanmayan ifadesi , Kaliforniya Teknoloji Üniversitesi profesörü ve yüksek ölçekli indirgeme konusunun öncülerinden biri olan Carver Mead tarafından bu şekilde adlandırılmıştır.

Sözün ilk söylendiği 1965 yılından bu yana bu yasa çoğunlukla geçerli olmuştur. Yasa temel olarak , bir entegre devrenin fiziki boyutunun devreyi oluşturan transistör sayısının karesiyle değiştiği anlamına gelir. Örneğin , entegre devre bünyesindeki transistör sayısı iki katına çıkarsa devrenin boyutu dört katına çıkar.

Optik litografi yöntemi ile üretilen entegre devrelerde günümüzde silisyum yongalar üzerinde 65 nanometre (1 nanometre = 10-9m) boyutuna kadar büyüklüklerde , yani yaklaşık olarak 600 silisyum atomu boyutunda yapılar oluşturulabilmektedir. Kullanılan morötesi ışık dalga boylarının , atom fiziksel boyutlarının sınırlılığı ve küçük yapıların yüksek frekanslarda çalıştırılmasında ortaya çıkan çalışma düzensizlikleri , yeni bir entegre devre teknolojisi geliştirilemez ise Moore yasasının kısa bir süre geçerliliğini yitireceğini göstermektedir.

Gordon Moore da, 13 Nisan 2005 tarihinde kendisi ile yapılan bir söyleşide , öngörüsünün kısa bir zaman içinde geçerliliğini yitirebileceğini ifade etmiştir. Yakın zamanda(5-10 sene) geliştirilmeye başlanacak olan çiplerin üzerindeki bağlantıların bir atomun genişliğinden daha büyük olamayacağı düşünüldüğünde eğer başka bir teknolojiye geçilmezse bu yasanın Gordon Moore ‘un da soylediği gibi biteceği öngörülmektedir.

Bunun farkında olan Intel ‘in Moore Yasası ‘nı devam ettirmek ve başka alanlara yaymak için yeni silikon teknolojileri ve malzemeler üzerinde gerçekleştirdiği araştırma ve geliştirme çalışmaları arasında; Aşırı Morötesi Litografisi (Extreme Ultraviolet lithography), gerilmeli silikon (strained silicon) yeni transistor dielektrik teknolojileri gibi yenilikler bulunuyor. Intel’in gelecek on yılın ikinci yarısında üretmeyi planladığı yüksek hızlı Terahetz transistorlar üzerindeki araştırma projeleri, yüksek performanslı , düzlemsel olmayan, üç geçetli deneysel CMOS transistorlar üzerine odaklanmış durumda. Bu tür bir farklı transistor yapısı ile mevcut düzlemsel tasarım yapısı ile mevcut düzlemsel tasarım yerine üç boyutlu bir mimari kullanılması, transistor geçitlerini yüzey alanını arttıracak. Bu da performansı yükselterek yüksek hızlı işlemcilerin yapılmasına olanak tanıyacak. Üretim tekniklerinin değişmesine rağmen gerçekleştirilmesi gereken transistor boyutlarının mümkün olduğunca küçültülmesi.

Bu noktada kuantum bilgisayarların bulunması ile de bir hayli yol alınacağını böylece Moore Yasası’nın en azından önümüzdeki yaklaşık 20-25 sene daha dolaylı da olsa geçerliliğini koruyacağı görülmektedir.

Kısaca kuantum bilgisayarla değinmekte fayda var diye düşünüyorum:

Kuantum hesaplama tekniği temelde kuantum mekaniğine dayanmaktadır. Ünlü fizikçi Paul Davies, 1996 yılında

“19 ncu yüzyıl makine çağı, 20 nci yüzyıl bilgi çağı olarak bilinmektedir. İnanıyorum ki 21 nci yüzyıl kuantum çağı olacaktır.”

sözü ile kuantum fiziğinin olası etki alanını ve bilimdeki dönüştürücü etki potansiyelini de vurgulamıştır.

Şu anda bilgi çağının geleceğine yönelik olarak görülen en büyük atılım nanoteknoloji ve kuantum hesaplamanın birleştirilmesi olarak ifade edilebilir.

Kuantum bilgisayarlar konusunda teorik araştırmalar 1980 ‘lerde, pratik çalışmalar 1990 ‘lı yıllarda başlamıştır. Kuantum bilgisayar ile klasik bilgisayar arasındaki fark, laser ile normal ışık arasındaki gibidir.

Bugün bilgisayar yongaları mikron genişliğinde kapılardan oluşmaktadır. Bu mesafe atomik düzeye doğru yaklaştırılmaktadır. Atomik bir düzeyde farklı kanunlar işlemektedir. Bu düzey kuantum mekaniği yasalarına tabidir.

Fiziksel bit elektron değil atomdur. Elektron 0 yada 1 değerleri alabilirken, kuantum mekaniğinde atom 0,1 yada her iki değeri de alabilmektedir (koherent süperpozisyon). Kuantum bit Qubit olarak tanımlanmaktadır. n bit, herhangi bir zamanda 2n sayı depolarken, n qubit bir kerede 2 n sayı depolayabilir. Qubitlerin eklenmesi ile bellek üstel olarak artar. Tüm süperpozisyonlarda işlem yapılabilir. Bu durum bir çeşit paralel hesaplamaya benzer. n bit ile kodlanan 2 n sayı 2 n basamak yada 2 n paralel işlemci gerektirir. Aynı işlem n qubit ile kodlanan 2 n sayı için bir basamakta gerçekleşir.


IBM tarafından geliştirilen kuantum bilgisayar molekülü


5 yıl içerisinde 30 qubitlik bilgisayarlar çıkarılacağı öngörülmektedir.

(Doç. Dr.Nazife Baykal’ınBilgi Teknolojisinin, Ulusal Güvenlik ve Ulusal Güvenlik Stratejisi ile İlgili Boyutu” adlı makalesinden alıntıdır)

Kuantum bilgisayarlarındaki paralelliğin hesaplamaları nasıl kolaylaştırdığını anlamak için şu örnekler verilebilir:

· Örneğin bir milyon adet hesaplama aynı anda yapılabilmektedir(ki masalarımızdaki kişisel bilgisayarlarımızsa, aynı anda yalnızca bir tane hesaplama yapabiliyor.)

· 8 bitlik dijital bir bilgisayar, herhangi bir anda 256 ayrı konumun yalnızca birinde bulunabilmektedir. Oysa ki 8 kubitlik bir kuantum bilgisayarda aynı anda 0’dan 256’ya kadar olan tüm değerler olabilir. Böylece kuramsal olarak aynı anda 256 ayrı hesaplama işlemi üzerinde çalışabilir. Bu örnek çok kubitli sistemlere genişletildiğinde, klasik bilgisayarların sunduğunun çok ötesinde, katlı olarak artan bir hesaplama potansiyeline ulaşılmaktadır. Böylece hesaplamanın tamamlanması için gereken süre, ciddi biçimde azalır. 300 kubitlik bir hesaplama, klasik bilgisayardaki 2^300 bitlik hesaplamaya karşılık gelir. 130 basamaklı bir sayının çarpanlarına ayrılması, bildiğimiz klasik bilgisayarların yüzlercesinin aylarca çalışmasını gerektirirken. Kuantum bilgisayarlarsa böyle bir işlemin sonucunu birkaç saniyede bulabilmektedir. 400 basamaklı bir sayının faktörize işlemiyse klasik bilgisayarlarla 109 yıl sürüyorken, kuantum bilgisayarlarla yalnızca dakikalar alır.

kaynaklar:

  • Doç. Dr.Nazife Baykal’ınBilgi Teknolojisinin, Ulusal Güvenlik ve Ulusal Güvenlik Stratejisi ile İlgili Boyutu” adlı makalesi

  • http://bm.erciyes.edu.tr/5230/Kuantum%20Bilgisayarlar%C4%B1/sayfa_01.htm