KR20030007647A - 모듈 방식을 최대한으로 활용하는 소프트웨어 아키텍처 - Google Patents

모듈 방식을 최대한으로 활용하는 소프트웨어 아키텍처 Download PDF

Info

Publication number
KR20030007647A
KR20030007647A KR1020027015601A KR20027015601A KR20030007647A KR 20030007647 A KR20030007647 A KR 20030007647A KR 1020027015601 A KR1020027015601 A KR 1020027015601A KR 20027015601 A KR20027015601 A KR 20027015601A KR 20030007647 A KR20030007647 A KR 20030007647A
Authority
KR
South Korea
Prior art keywords
module
modules
architecture
software
software architecture
Prior art date
Application number
KR1020027015601A
Other languages
English (en)
Inventor
마카이세바스틴
Original Assignee
코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 코닌클리즈케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Publication of KR20030007647A publication Critical patent/KR20030007647A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

모듈-베이스하는 소프트웨어 아키텍처에서, 모듈 대체나 제거의 효과는 간접 호출 기술을 사용하여 최소화된다. 모듈(M0-M4) 사이에서의 상호작용은 클라이언트/서버 관계 관점에서 고려되는 곳에서 서버 모듈(가령, M3)은 클라이언트 모듈(가령, M1)에 의해 서버 모듈의 레퍼런스(&M3)를 사용하여 호출된다. 호출되어야하는 모듈(M3)의 레퍼런스(&M3)는 클라이언트 모듈(M1)에 입력으로서 제공된다. 가가 모듈은 널(null) 레퍼런스를 사전결정된 값을 가지는 입력 파라메터로 인지하도록 적응되어 있다. 호출되어야 하는 모듈이 널 레퍼런스에 의해 구분될 때 그 모듈로 아무런 호출도 생성되지 않는다.

Description

모듈 방식을 최대한으로 활용하는 소프트웨어 아키텍처{A SOFTWARE ARCHITECTURE OPTIMIZING MODULARITY}
새로운 프로그램에서 기존의 소프트웨어 모듈의 재사용을 간략화 하기 위하여 다양한 제안들이 제안되어 왔다. 이러한 제안들 중에서, 미국 특허 5,771,386에는 구성요소 모듈의 재사용을 촉진시키도록 개조된 모듈-베이스 소프트웨어 아키텍처를 채택하기 위한 제안이 개시되었다.
특히, 미국 특허 5,771,386은 이러한 프로그램 유닛의 라이브러리로부터 선택된 컴파일되고 개별적으로 연결된 프로그램 유닛에 대응하는 모듈로 구성된 소프트웨어 아키텍처를 설명한다. 각 프로그램 유닛은 그 안의 사전결정된 위치에서, 이 프로그램 유닛의 데이터나 프로시저에 관련하는 어드레스 데이터를 포함하는 사전정의된 아키텍처를 가지는 헤더를 가진다. 주어진 프로그램 유닛에서 데이터나 프로시저를 호출하기를 원하는 프로시저는 프로그램 유닛의 헤더 내에, 그것이 원하는 데이터나 프로시저의 주소를 찾을 위치를 알도록 프로그래밍 되어 있기 때문에 질의시에 데이터나 프로시저의 주소를 알 필요가 없다. 설명된 소프트웨어 아키텍처도 다양하나 프로그램 유닛 헤더의 메모리 로케이션을 저장하는 카탈로그(catalogue)도 포함한다.
미국 특허 5,771,386은 최소의 변경을 통해서 소프트웨어 모듈을 재사용하는 것과 이러한 모듈로부터 조립된 프로그램을 컴파일할 필요없이 프로그램을 조립하는 것을 가능하게 한다. 그러나 이 소프트웨어 아키텍처의 구성요소 모듈은 컴파일되고 개별적으로 연결된 프로그램 유닛이 되며, 소프트웨어로의 변경은 종종 훨씬 더 많은 프로그램의 기본 구성요소를 포함할 수 있다. 게다가 이 알려진 소프트웨어 아키텍처는 소프트웨어 모듈을 위한 사전결정된 헤더 아키텍처를 요구하는데, 이는 설계에 어느 정도의 유연성을 부과한다.
발명의 개요
본 발명의 목적은 아키텍처의 다른 구성요소에의 영향을 매우 감소시키면서 수정(가령, 제거 또는 대체)되어야 하는 소프트웨어의 로우 레벨 구성요소까지도 사용 가능하게 하는 소프트웨어 아키텍처를 제공하는 것이다.
변경을 구현하기 위한 시간 및 비용의 상대적으로 낮은 투자로 기존의 것에 기초한 새로운 모듈-베이스 소프트웨어 아키텍처를 생산하는 방법을 제공하는 것이 본 발명의 다른 목적이다.
본 명세서에서, 소프트웨어의 "구성요소"나 소프트웨어 "모듈"이란 표현은 직접 또는 간접적으로 입력 파라메터를 수신할 수 있고, 직접 또는 간접적으로 출력 파라메터를 제공할 수 있는 임의의 소프트웨어 개체를 지칭하여서, 가령 함수/프로시저, 운영체제 작업, 또는 레이어 같은 더 일반적인 개념들을 포함한다.
본 발명은 다음 측면들을 고려한다. 소프트웨어 아키텍처에서 모듈 사이의 상호작용은 클라이언트/서버의 면에서 고려될 수 있다. "서버" 모듈은 "클라이언트" 모듈에 의해 호출된다. 주어진 모듈은 다른 모듈을 호출할 수도, 다른 모듈에 의해 그 자체가 호출될 수도 있어서 클라이언트나 서버 둘 다가 될 수 있다. 호출될 수 있는 모듈의 레퍼런스로 사전 프로그래밍되는 대신, 각 클라이언트 모듈은 입력으로 그 각각의 서버 모듈의 레퍼런스를(레퍼런스들을) 수신한다. 즉, 간접 호출의 형태가 사용된다. 더 일반적으로, 그 서버 모듈(들)의 레퍼런스를(레퍼런스들을) 요구하는 임의의 모듈은 그것(그들)을 그 자신의 클라이언트 모듈(들)로부터 레퍼런스를(레퍼런스들을) 얻을 것이다.
본 발명의 소프트웨어 아키텍처는 모듈이 대응하는 코드에서 상대적으로 적게 변하면서 서로 교환되거나 취소되게 하는 한편, 모듈을 완전한 상태로 유지한다. 그래서 소프트웨어 개발 동안의 시간 및 비용이 절약된다. 이 아키텍처는 어떤 모듈-구조의 소프트웨어를 위해서도 채택될 수 있다.
본 발명의 선호된 실시예에 따른 소프트웨어 아키텍처에서, 아키텍처에서의 모듈의 교환은 직접적이다. 즉, 관련된 클라이언트 모듈(들)로의 입력으로 오래된(교환된) 모듈의 레퍼런스 대신에 새로운 모듈의 레퍼런스가 간단히 전달된다. 그래서 수신된 서버 모듈을 호출하는 각 클라이언트 모듈에서가 아니라 시스템으로의 입력 레벨에서만 변경이 요구된다.
본 발명의 선호된 실시예에 따른 소프트웨어 아키텍처에서, 널 레퍼런스 -아키텍처의 어느 모듈에도 해당하지 않는 것으로 인식하도록 모든 모듈이 사전 프로그래밍된 값을 가지는 상수 레퍼런스- 에 의해 오래된(제거된) 모듈로의 레퍼런스를 대체함으로써 모듈의 제거가 달성된다. 널 레퍼런스를 수신하는 클라이언트 모듈은 이 널 레퍼런스가 존재하지 않는 모듈(non-existing)에 대응하고, 따라서 이를 향한 호출이 생성되지 않는다는 것을 인지한다.
본 발명에 따른 소프트웨어 아키텍처의 모듈이 잠재적 서버 모듈로의 레퍼런스를 더 이상 저장하지 않기 때문에, 이러한 서버 모듈의 제거나 교체는 잠재적 호출 모듈(potential caller module)에 거의 영향을 주지 않는다.
본 발명은 기존의 모듈-베이스 아키텍처에 기초한 새로운 소프트웨어 아키텍처를 생성하는 방법을 제공한다.
본 발명, 및 본 발명을 이롭게 구현하기 위하여 선택적으로 사용될 수 있는 추가적인 특징들은 본 명세서에서 설명된 도면들을 참조하여 더 명백해진다.
본 발명은 소프트웨어 구성요소의 설계 및 재사용성에 관한 것으로, 더 세부적으로는, 재사용되는 것이 가능한 구성요소를 포함하는 소프트웨어 아키텍처에 관한 것이다. 본 발명은 기존의 것에 기초하여 새로운 모듈-베이스 소프트웨어 아키텍처를 생성하는 방법에도 관한 것이다.
스크래치로부터 프로그램을 작성하는 것에 의해서가 아니라 기존의 프로그램을 변경하거나 구성요소를 재사용함으로써 새로운 소프트웨어를 생성하는 것이 일반화되어 있다. 그러나 소프트웨어 아키텍처에서 모듈이 서로 상호 작용한다면, 기존의 프로그램에서 모듈의 제거나 교환은 아키텍처의 잔여부에 매우 상당한 영향을 끼칠 수 있다. 더 세부적으로, 다른 모듈(가령, 프로시저)을 호출하는 모듈이 호출되어야 하는 모듈의 레퍼런스를 저장하기 때문에, 프로그램에서의 변화는 저장된 레퍼런스를 쓸모 없게 만들 수 있다.
도 1은 소프트웨어 아키텍처에서 두 개의 상호 작용하는 모듈의 개략도이다.
도 2는 다섯 개의 상호 작용하는 모듈을 포함하는 종래의 소프트웨어 아키텍처의 개략도이다.
도 3은 본 발명에 따라 다섯 개의 상호 작용하는 모듈을 포함하는 소프트웨어 아키텍처의 개략도이다.
도 4는 도 2의 종래 소프트웨어 아키텍처에서 모듈 교체를 도시한다.
도 5는 도 3의 소프트웨어 아키텍처에서 본 발명에 따른 모듈 교체를 도시한다.
도 6은 도 2의 종래 소프트웨어 아키텍처에서 모듈 제거를 도시한다.
도 7은 도 3의 소프트웨어 아키텍처에서 본 발명에 따른 모듈 제거를 도시한다.
도 8은 본 발명에 따른 소프트웨어 아키텍처를 구현하는, 이동 전화에서의 무선 드라이버를 도시한다.
먼저, 참조 표시의 사용에 관하여 언급할 것이다. 도면 전체에 걸쳐 유사한개체는 동일한 문자에 의해 표시되어 있다. 다양한 유사한 개체들이 단일 도면에 도시될 수 있다. 이 경우에, 번호가 문자 코드에 추가되어서 유사 개체들을 서로 구별한다. 특히, 모듈은 "Mx"로 명시되고, x는 각 모듈을 구별하는 번호이며, 모듈의 레퍼런스는 "&" 심볼의 사용에 의해 명시된다. 그래서, 모듈 Mx의 레퍼런스는 "&Mx"로 씌여진다. 상세한 설명 및 청구 범위에서, 참조 표시에서 번호는 적절하다면 생략될 수 있다.
본 발명에서 사용된 도식 규정은 두 개의 상호 작용하는 모듈 M1 및 M2를 도시하는 도 1로부터 더 잘 이해될 것이다. 이 도면(및 모든 다른 도면)에서, 모듈을 가리키는 화살표는 이 모듈로의 호출을 나타내는 반면, 모듈로부터 나오는 화살표는 이 모듈에 의해 다른 모듈로 호출되었음을 나타낸다. 각 화살표를 라벨링하는 단어는 질의에서의 호출과 관련된 입력/출력이다. 그래서, 도 1에서 도시된 예에서, M1이 호출되고 이 모듈은 "M1의 입력"이라고 라벨링된 파라메터를 입력으로 수신한다. 모듈 M1은 M2을 호출하고, "M1의 출력" 및 "M2의 입력"으로 라벨링된 파라메터를 전달한다. 그 전환점에서 모듈 M2는 후속 모듈(도시되지 않음)을 호출하고, 그것으로 "M2의 출력"이라고 라벨링된 파라메터를 전달한다.
본 발명의 이해를 돕기 위해서, 다음 설명은 다섯 개의 상호 작용 모듈로 구성되는 종래 소프트웨어 아키텍처 예와 본 발명의 실시예에 따라 구현된 해당 아키텍처를 비교한다. 본 발명은 훨씬 더 복잡한 시스템으로 확장될 수 있고, 일반적으로 임의 수의 모듈을 포함하는 아키텍처에 응용할 수 있다는 것이 이해될 것이다.
도 2는 4 개의 다른 모듈, M1, M2, M3 및 M4 중 하나를 호출할 수 있는 모듈M0로 이루어진 종래 소프트웨어 아키텍처의 경우를 도시한다. 모듈 M1은 그 자체가 모듈 M3를 호출할 수 있다. 모듈 M0는 그것이 호출할 수 있는 네 개 모듈의 레퍼런스, &M1, &M2, &M3 및 &M4를 저장한다. 호출 동안에, 어떤 모듈 레퍼런스 파라메터도 이들 모듈 사이에서 전달되지 않는다.
도 3은 동일한 모듈 M0 내지 M4로 이루어진 본 발명에 따른 소프트웨어 아키텍처를 도시하되, M0은 네 개의 다른 모듈, M1 내지 M4 중 어느 것을 호출할 수 있고 M1은 그 자체가 M3를 호출할 수 있다. 그러나, 이 경우에 어떤 저장된 레퍼런스도 없다. 이와 반대로, 모듈 M0는 그것이 호출할 수 있는 네 개 모듈의 레퍼런스 &M1, &M2, &M3 및 &M4 를 입력으로 수신한다. 유사하게, 모듈 M1은 그것이 호출할 수 있는 모듈의 레퍼런스 &M3를 M0으로부터 수신한다. 게다가, 이 아키텍처에서 특정한 상수 값(NULL 레퍼런스)을 가지는 레퍼런스가 존재하지 않는 모듈에 해당하는 것을 모든 모듈이 인지하도록 설계되어서 이 모듈을 호출하는 요구가 없게 된다.
더 상세히, 각 모듈은 수신된 모듈 레퍼런스를 NULL 레퍼런스와 비교하도록 적응되어 비교의 결과가 네거티브인 경우에만 수신된 레퍼런스에 해당하는 모듈을 그 때 호출할 수 있다. "호출"이 취하는 형태는 실시예 -가령, 그것은 수신된 모듈레퍼런스에 대응하는 주소로의 점프를 구성할 수 있음- 에 의존할 것이다.
모듈이 모듈 레퍼런스가 아니라 파라메터에 대응하는 입력(도 3에서 도시되지 않음)을 수신할 수 있다는 것이 이해될 것이다. 모듈 레퍼런스에 대응하는 입력은 아키텍처를 구현하기 위하여 사용된 프로그래밍 언어에 따라서 변할 수 있는 잘 알려진 방법에 의해 다른 입력으로부터 구별된다. 가령, 모듈 레퍼런스에 해당하는메세지의 헤더나 포맷은 다른 입력의 헤더나 포맷과 다를 수 있다.
도 2 및 도 3의 소프트웨어 아키텍처 사이의 차이의 중요성은 원래 아키텍처로부터 모듈을 교체하는 것 및 제거하는 것의 효과에 관한 다음의 설명으로부터 인식될 것이다.
도 4 및 도 5는, 본 발명에 따른, 도 2의 종래 아키텍처 및 도 3의 아키텍처에서 모듈 M3이 새로운 모듈 M5에 의해 대체되는 경우를 각각 도시한다.
도 4로부터, 종래 소프트웨어 아키텍처의 경우에, 모듈 M3의 새로운 모듈 M5에 의한 대체는 모듈 M0 및 M1의 변경을 필요로 해서 필요 없는 레퍼런스 &M3 레퍼런스를 새로운 레퍼런스 &M5로 대체하게 된다. 그래서 이 경우에, 모듈의 교환은 두개의 다른 모듈로 생성될 수 있도록 변경을 요한다.
대비해서, 본 발명을 구현하는 아키텍처의 경우에, 새로운 모듈 M5에 의한 모듈 M3의 대체는 모듈 M0 및 M1로의 어떠한 변경도 필요로 하지 않는다는 것을 도 5에서 보여주고 있다. 모듈 M0에 입력으로서 전달된 레퍼런스만 (&M3로부터 &M5로) 변경한다. 모듈 M0은 모듈 M0가 입력으로 그 레퍼런스를 수신하는 네 개의 모듈을 호출하도록 이미 배치되기 때문에 새로운 모듈 M5를 정확히 호출할 것이다. 모듈 M0가 그 세 번째 파라메터를 모듈 M1으로 전달하도록 이미 배치되어 있고, 모듈 M1은 그것이 입력으로서 M0로부터 그 레퍼런스를 수신하는 모듈을 호출하도록 이미 배치되어 있기 때문에, 모듈 M1에 의한 M5 호출 역시 자동적으로 정확할 것이다. 본 발명의 간접 호출 기술을 사용함으로써, 모듈 M3가 모듈 M5에 의해 대체될 때 M0의 하나의 입력 파라메터만 변경되어야 한다. 모듈 M0 및 M1은 변경되지 않는다.
도 6 및 7은 도 4의 종래 아키텍처 및 본 발명에 따른 도 5의 아키텍처로부터 모듈 M5가 제거되는 경우를 각각 도시한다.
도 6으로부터, 종래 소프트웨어 아키텍처의 경우에, 모듈 M5의 제거가 모듈 M0 및 M1의 변경을 다시 한번 필요로 한다는 것이 도시될 것이다. 이 경우에, 모듈 M0 및 M1은 제거된 모듈 M5를 호출하지 않기 위해서 변경되어야 한다. 그래서, 이 경우에, 모듈의 제거는 두 개의 다른 모듈을 변경해야 할 것을 요구한다.
반대로, 도 7로부터 본 발명을 구체화하는 아키텍처의 경우에, 모듈 M5의 제거는 모듈 M0 및 M1으로의 어떤 변경도 필요로 하지 않는다는 것이 도시될 것이다. 다시 한번, 입력으로 모듈 M0로 전달된 레퍼런스만 (&M5에서 NULL 레퍼런스로) 변한다. 모듈 M0은 이 NULL 레퍼런스를 모듈 M1로의 입력으로 전달하도록 이미 배치되어 있고, 모듈 M0 및 M1은 NULL 레퍼런스에 의해 지정된 모듈을 호출하지 않는다는 것을 인지하도록 이미 배치되어 있다. 그래서 제거된 모듈 M5로의 호출은 자동적으로 취소된다.
위에서 주어진 비교예는 본 발명이 수용되어야 하는 모듈-베이스 소프트웨어 아키텍처에서 아키텍처의 나머지 부분에의 영향을 감소하면서 모듈을 변경할 수 있게 한다는 사실을 강조한다.
본 발명에 따른 소프트웨어 아키텍처에서, 클라이언트/서버의 체인에서, 제 1 모듈(가령, 도 3, 도 5, 및 도 7의 예에서의 M0)이, 메모리로부터 또는 내부 파라메터로부터, 그 자신을 위하여 또는 다른 모듈로 전달하기 위하여 필요한 모듈 레퍼런스를 도출한다. 모듈 레퍼런스가 메모리로부터 제공되는 경우에, 체인에서의"다운스트림(downstream)" 모듈이 대체되거나/제거될 때 경미한 리프로그래밍(reprogramming)이 필요하다. 모듈 레퍼런스가 내부 파라메터로부터 도출 되는 경우에, "다운스트림" 모듈이 대체되거나/제거되는 그 때, 제 1 모듈의 경미한 리프로그래밍이 필요할 것이다. 그러나, 필요한 리프로그래밍은 종래의 경우에서 요구될 대체된/제거된 모듈의 모든 잠재적 클라이언트 모듈의 리프로그래밍이 아니라, 대체된/제거된 모듈의 모듈 레퍼런스의 초기 출처만을 고려한다.
도 8은 특히 이동 전화 내부의 무선 드라이버에 관련하는 이동 전화의 분야에서 본 발명의 구체적인 애플리케이션 예를 도시한다. 본 예에서, 모듈은 함수에 대응한다.
도 8에서 도시된 무선 전화에서의 무선 드라이버는 여기서 "Radio_init"으로 명시된, 라디오를 초기화하는 함수를 포함한다. Radio_init 함수는 두 개의 다른 함수를 호출하는데, 그 하나는, 라디오에서 위상 동기(phase locked) 루프(PLL)를 초기화 하는, 본 명세서에서 "PLL_init"이라 명시된 것이고, 나머지 하나는, PLL을 프로그래밍하는, 본 명세서에서 "PLL_load"라 명시된 것이다. 함수 PLL_init 및 PLL_load는 이동 전화 내에서 사용된 특정 타입의 라디오에 따라서 변동한다. 함수 Radio_init은 더 일반적이고, 자세히는, 사용되는 라디오의 타입에 따라서 변동하지 않는다. 본 발명에 따른 아키텍처를 채택함으로써, 그 안에서, Radio_init 함수는 PLL_init 및 PLL_load 함수의 레퍼런스를 저장하는 것이 아니라 입력으로 이들 레퍼런스를 수신한다. PLL_init 및 PLL_load 함수의 서로 다른 세트는 Radio_init 모듈을 리프로그래밍 할 필요 없이 주어진 Radio_init 함수와 연관될 수 있다. 이는 서로 다른 타입의 라디오를 사용하는, 이동 전화를 위한 무선 드라이버 소프트웨어의 개발 동안의 시간과 비용을 절약한다. 전술한 도면 및 그 설명은 본 발명을 제한하는 것이 아니라 설명한다. 첨부된 청구항의 범위 내로 떨어지는 수 많은 대안들이 있다는 것이 명백할 것이다.
청구항에서의 어떤 참조 표시도 청구항을 제한하는 것으로서 생성되어서는 안된다.

Claims (8)

  1. 복수의 모듈(M0-M4)을 포함하는 소프트웨어 아키텍처에 있어서,
    상기 복수의 모듈 중 적어도 하나의 모듈(M1)이 상기 복수의 모듈 중 다른 모듈(M3)을 호출하되 상기 호출되는 모듈로의 레퍼런스(&M3)를 사용하여 호출하도록 적응되되,
    호출될 상기 모듈의 상기 레퍼런스(&M3)는 상기 호출하는 모듈(M1)로의 입력으로서 제공되는
    소프트웨어 아키텍처.
  2. 제 1 항에 있어서,
    상기 복수의 모듈(M0-M4) 각각은 사전결정된 값을 가지는 입력 파라메터를 널 레퍼런스로 인지하고, 호출될 모듈이 상기 널 레퍼런스에 의해 가리켜질 때에는 호출하지 않도록 적응되는
    소프트웨어 아키텍처.
  3. 제 1 항에 있어서,
    각 모듈(Mx)은 함수, 프로시저, 운영체제 작업 및 레이어로 이루어진 그룹에서 선택된 소프트웨어 개체(entity)에 해당하는
    소프트웨어 아키텍처.
  4. 복수의 모듈(M0-M4)을 포함하는 기존의 모듈-베이스 아키텍처에 기초하여 새로운 모듈-베이스 소프트웨어 아키텍처를 생성하는 방법에 있어서,
    상기 복수의 모듈 중 적어도 하나의 모듈(M1)이 상기 복수의 모듈 중 다른 모듈(M3)을 상기 호출된 모듈로의 레퍼런스(&M3)를 사용하여 호출하도록 적응되되, 호출될 상기 모듈의 상기 레퍼런스(&M3)가 상기 호출하는 모듈(M1)에 입력으로서 제공되며, 상기 방법이
    상기 복수의 모듈 중 적어도 하나(M3)를 제거하고,
    상기 제거된 모듈의 상기 레퍼런스(&M3)에 대응하는 상기 입력 값을 변경하는 단계를 포함하는
    새로운 모듈-베이스 소프트웨어 아키텍처를 제조하는 방법.
  5. 제 4 항에 있어서,
    상기 복수의 모듈(M0-M4)의 각각이 사전결정된 값을 가지는 입력 파라메터를 널 레퍼런스로 인지하고, 호출될 상기 모듈이 상기 널 레퍼런스에 의하여 가리켜질 때에는 아무런 호출도 하지 않으며,
    상기 변경하는 단계가 상기 제거된 모듈의 상기 레퍼런스(&M3)에 대응하는 입력을 널 레퍼런스로 대체하는 것을 포함하는
    아키텍처 제조 방법.
  6. 제 4 항에 있어서,
    서로 다른 레퍼런스(&M5)를 가지는 대체 모듈(M5)로 상기 제거된 모듈을 대체하는 단계를 포함하되,
    상기 변경하는 단계가 상기 제거된 모듈의 상기 레퍼런스(&M3)에 해당하는 입력을 상기 대체 모듈의 상기 레퍼런스(&M5)에 해당하는 입력으로 대체하는 것을 포함하는
    아키텍처 제조하는 방법.
  7. 제 4 항에 있어서,
    각 모듈(Mx)이 함수, 프로시져, 운영체제 작업 및 레이어로 이루어진 그룹에서 선택된 소프트웨어 개체에 해당하는
    아키텍처 제조 방법.
  8. 제 1 항에 있어서,
    상기 아키텍처를 구비하는 라디오 드라이버 소프트웨어에 의해 제어되도록 의도된 위상 동기 루프(phaselocked loop)를 포함하는
    무선 전화.
KR1020027015601A 2001-03-20 2002-03-08 모듈 방식을 최대한으로 활용하는 소프트웨어 아키텍처 KR20030007647A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01400723 2001-03-20
EP01400723.1 2001-03-20

Publications (1)

Publication Number Publication Date
KR20030007647A true KR20030007647A (ko) 2003-01-23

Family

ID=8182657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027015601A KR20030007647A (ko) 2001-03-20 2002-03-08 모듈 방식을 최대한으로 활용하는 소프트웨어 아키텍처

Country Status (6)

Country Link
US (1) US20040015828A1 (ko)
EP (1) EP1405177A2 (ko)
JP (1) JP2004523845A (ko)
KR (1) KR20030007647A (ko)
CN (1) CN1535416A (ko)
WO (1) WO2002075521A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110005B (zh) * 2006-07-19 2012-03-28 鸿富锦精密工业(深圳)有限公司 自定义触摸板的电子装置及方法
US8566787B2 (en) * 2008-09-15 2013-10-22 Infosys Limited System and method for improving modularity of large legacy software systems
WO2014162393A1 (ja) * 2013-04-01 2014-10-09 テルモ株式会社 ガイドワイヤ
IL272925A (en) * 2020-02-26 2021-08-31 Delta T Az Ltd cooling garment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654773B2 (en) * 2001-02-27 2003-11-25 Tajea Corporation Method of deterministic garbage collection

Also Published As

Publication number Publication date
US20040015828A1 (en) 2004-01-22
JP2004523845A (ja) 2004-08-05
CN1535416A (zh) 2004-10-06
WO2002075521A3 (en) 2004-01-15
EP1405177A2 (en) 2004-04-07
WO2002075521A2 (en) 2002-09-26

Similar Documents

Publication Publication Date Title
US6493594B1 (en) System and method for improved software configuration and control management in multi-module systems
US9439025B1 (en) Multi-step mobile device initiation with intermediate partial reset
US7542758B2 (en) Field downloading of wireless device software
US6976068B2 (en) Method and apparatus to facilitate remote software management by applying network address-sorting rules on a hierarchical directory structure
US7739679B2 (en) Object ordering tool for facilitating generation of firmware update friendly binary image
CN101026826B (zh) 用于提供在无线装置中使用的整体映像的系统和方法
US6324619B1 (en) Process and system for managing run-time adaptation for general purpose distributed adaptive applications
US20080119178A1 (en) Allocating Compression-Based Firmware Over the Air
CN102087594B (zh) 扩展点和插件的管理方法和装置
US7143405B2 (en) Methods and arrangements for managing devices
CN107273176A (zh) 一种适配硬件架构的编译方法及装置
CN104657164A (zh) 软件升级处理方法和装置
US20020091720A1 (en) Methods and arrangements for providing improved software version control in managed devices
CN116107590A (zh) 软件产品开发部署中兼容微服务和单体架构的实现方法及系统
KR20030007647A (ko) 모듈 방식을 최대한으로 활용하는 소프트웨어 아키텍처
CN111090453A (zh) 一种设备的配置方法、设备以及存储介质
CN111338640B (zh) 一种可动态调整的非对称指令重链接方法和装置
CN105786613A (zh) 提高内存利用效率的方法
CN110677505A (zh) 一种批量配置静态ip的方法和装置
US8060913B2 (en) Policy execution
CN101710284A (zh) 组件的集成方法及装置
KR100538627B1 (ko) 무선통신단말기의 소프트웨어 부분 업그레이드 방법
EP3702856B1 (en) Network centric process control
CN110502296B (zh) 一种显示固件升级命令的方法、设备以及存储介质
CN112948021B (zh) 配置化接入同类型sdk的安卓移动端开发方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid