The paper presents main characteristics of object-oriented and logic programming. Although different in assumptions, in numerous applications these two programming styles turn out complementary to each other. To model real world objects and their behaviour the most efficient method should be chosen. On the basis of an intelligent" database design it has been shown that the combination of the C++ language (MS Visual), Prolog (Amzi! Prolog+ Logic Server) and the relational database (MS Access) is functional and worth applying.
2
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
A cross-platform solution developed for telecommunication networks simulation and management. Structure of the application is described thoroughly. Optimization possibilities of the program are demonstrated on an example and analyzed. Its perspectives and spheres of use are mentioned.
PL
W artykule zaproponowano oprogramowanie dla modelowania i kalkulacji optymalnego przejścia sygnałów w sieciach telekomunikacyjnych. Opisano dwie wersje oprogramowania: dla zwykłych PC i pocket PC oraz dla smartfonów. Implementacja została wytworzona w języku programowania C# zorientowanego dla .NET platformy w ´środowisku MS Visual Studio 2005. Wizualizacja sieci telekomunikacyjnej została oparta o zaprojektowane specjalnie w tym celu własne komponenty wizualne. Szczegółowo opisana struktura projektu, przedstawiono jego interface oraz zasady działania. Podłożem teoretycznym oprogramowania jest klasyczna teoria grafów. Opisane teoretyczne zasady uwzględnione przy projektowaniu oprogramowania. W realizacji algorytmów wyszukiwania minimalnego szlaku i maksymalnego przepływu wzięto pod uwagę specyfikę sieci telekomunikacyjnych. Przy kalkulacji minimalnego szlaku jako kryterium optymalności przyjęto czas przejścia sygnału przez łącze komunikacyjne; przy kalkulacji maksymalnego potoku umożliwiono ustawienie rożnego natężenia łącza komunikacyjnego. Oprogramowanie zostało przetestowane na różnych konfiguracjach sieci. Przedstawiono przykład modelowania sieci telekomunikacyjnej dużego miasta. Przewidywane obszary zastosowań obejmują˛ operatorów sieci stacjonarnych i komórkowych. Istnieje również możliwość dostosowania oprogramowania do celów nawigacji GPS.
3
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Computational algorithms used in power systems engineering and simulation are often based on large matrices, mainly of sparse character. There are many various sparse matrix notation formats. However, they are designed for reading simplicity and efficiency, while complicating matrix data generation and update code. This paper reviews most common sparse matrix notation formats, highlighting their common features and shortcomings. It also presents new sparse matrix storage format and its C++ interface, designed as universal, independent module. Its most notable features are: ease of use, efficiency, math friendliness and simplicity of usage (both in data consumer and producer code). The work has been funded from the science budget for years 2007-2010 as a research project No N511 001 32/0852 (PBU-10/RE3/2007).
PL
Algorytmy obliczeniowe stosowane w obliczeniach dotyczących optymalizacji systemu energetycznego bazują najczęściej na wielkich macierzach, często o rzadkim zapisie. Znanych jest wiele różnorodnych sposobów zapisu macierzy rzadkiej w pamięci komputera. Większość z nich została jednak stworzona z myślą o szybkości odczytywania elementów, co komplikuje jednak kod wypełniający macierz i zmieniający jej zawartość. Publikacja zawiera przegląd najpopularniejszych formatów zapisu macierzy rzadkich w pamięci, podkreślając ich zalety oraz wady. Prezentuje także nowy sposób zapisu wraz z interfejsem w języku C++, zaprojektowanym jako uniwersalny, niezależny moduł. Jego najważniejsze cechy to: łatwość wykorzystania, efektywność, dostosowanie do zapisu matematycznego oraz prostota struktur danych. Interfejs został stworzony w ramach grantu N511 001 32/0852 (PBU-10/RE3/2007) na lata 2007-2010.
4
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Język C++ nie jest przystosowany do realizacji operacji wektorowych. O ile zatem ze względu na swoją wydajność stanowi on doskonałe narzędzie implementacji złożonych algorytmów obliczeniowych, wygoda zapisu operacji matematycznych pozostawia dużo do życzenia. Poniższy artykuł prezentuje część biblioteki klas podstawowych, umożliwiającą obiektowy zapis operacji na wektorach. Biblioteka została stworzona w ramach projektu badawczego N511 001 32/0852.
EN
The C++ language is not suitable for performing algebraic operations on vectors. While its performance makes it a perfect tool for implementation of complex computational algorithms, coding these algorithms may be a daunting task. The paper presents an object-oriented library implementing vector abstraction. The work was funded from the science budget as the research project No N511 001 32/0852.
5
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Język C++ nie wspiera bezpośrednio realizacji operacji macierzowych na macierzach pełnych (implementacja każdej operacji wymaga zapisu bloku pętli) w ogóle też nie obsługuje technik rzadkiego zapisu macierzy. Skutkuje to niepotrzebnym powielaniem tych samych fragmentów kodu i koniecznością optymalizowania każdego z nich z osobna. Nieuniknione jest też pogorszenie czytelności kodu, spowodowane zastąpieniem czystego zapisu algebraicznego fragmentami kodu realizującego te operacje. Aby zlikwidować ten problem i przyspieszyć tworzenie oprogramowania optymalizującego rozpływ mocy w systemie elektroenergetycznym (intensywnie wykorzystującego operacje macierzowe), stworzono bibliotekę klas języka C++, standaryzującą zapis operacji algebraicznych na macierzach w tym języku. Biblioteka została stworzona w ramach projektu badawczego N511 001 32/0852.
EN
The C++ language does not directly support matrix algebra (implementing every operation requires open-coding a loop); it also does not support sparse matrix techniques. The end effect are code duplication and the necessity of optimising each independent code block separately. One also cannot avoid code readability degradation, caused by replacing a clean algebraic form with C++ code snippets. To solve this problem and improve code creation time (especially in case of the OPF-problem solving software, being developed as a part of a research project), a C++ class library was created. The library consists of classes implementing basic algebraic operations on simple and sparse matrices. The work was funded from the science budget as the research project No N511 001 32/0852.
6
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Język C++ nie wspiera bezpośrednio realizacji operacji macierzowych na macierzach pełnych (implementacja każdej operacji wymaga zapisu bloku pętli); w ogóle też nie obsługuje technik rzadkiego zapisu macierzy. Skutkuje to niepotrzebnym powielaniem tych samych fragmentów kodu i koniecznością optymalizowania każdego z nich z osobna. Nieuniknione jest też pogorszenie czytelności kodu, spowodowane zastąpieniem czystego zapisu algebraicznego fragmentami kodu realizującego te operacje. Aby zlikwidować ten problem i przyspieszyć tworzenie oprogramowania optymalizującego rozpływ mocy w systemie elektroenergetycznym (intensywnie wykorzystującego operacje macierzowe), stworzono bibliotekę klas języka C++, standaryzującą zapis operacji algebraicznych na macierzach w tym języku. Biblioteka została stworzona w ramach projektu badawczego N511 001 32/0852.
EN
The C++ language does not directly support matrix algebra (implementing every operation requires open-coding a loop); it also does not support sparse matrix techniques. The end effect are code duplication and the necessity of optimising each independent code block separately. One cannot also avoid code readability degradation, caused by replacing a clean algebraic form with C++ code snippets. To solve this problem and improve code creation time (especially in case of the OPF-problem solving software, being developed as a part of a research project), a C++ class library was created. The library consists of classes implementing basic algebraic operations on simple and sparse matrices. The work was funded from the science budget as the research project No N511 001 32/0852.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.